From b580458104d5fbeaebb98ce8eff3323758c99957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 2 May 2020 21:47:31 +0200 Subject: [PATCH] external: pack all dynamically loaded GL entrypoints into a giant struct. On desktop this saves about 50 kB in symbols. Was done for Vulkan already, this follows that (two years later). I need this in order to solve the problem of static globals being unique across shared libs, and it sounded better to export just one symbol instead of 689. --- src/MagnumExternal/OpenGL/GL/flextGL.cpp | 1641 +++++----- .../OpenGL/GL/flextGL.cpp.template | 35 +- src/MagnumExternal/OpenGL/GL/flextGL.h | 2900 +++++++++-------- .../OpenGL/GL/flextGL.h.template | 34 +- .../OpenGL/GL/flextGLPlatform.cpp | 1396 ++++---- .../OpenGL/GL/flextGLPlatform.cpp.template | 4 +- src/MagnumExternal/OpenGL/GLES2/flextGL.cpp | 192 +- .../OpenGL/GLES2/flextGL.cpp.template | 12 +- src/MagnumExternal/OpenGL/GLES2/flextGL.h | 635 ++-- .../OpenGL/GLES2/flextGL.h.template | 37 +- .../OpenGL/GLES2/flextGLPlatform.cpp | 252 +- .../OpenGL/GLES2/flextGLPlatform.cpp.template | 2 +- .../OpenGL/GLES2/flextGLPlatformIOS.cpp | 252 +- .../GLES2/flextGLPlatformIOS.cpp.template | 2 +- .../GLES2/flextGLPlatformWindowsDesktop.cpp | 446 +-- ...flextGLPlatformWindowsDesktop.cpp.template | 2 +- .../OpenGL/GLES2/flextGLWindowsDesktop.cpp | 291 +- .../GLES2/flextGLWindowsDesktop.cpp.template | 14 +- .../OpenGL/GLES2/flextGLWindowsDesktop.h | 1032 +++--- .../GLES2/flextGLWindowsDesktop.h.template | 48 +- src/MagnumExternal/OpenGL/GLES3/flextGL.cpp | 278 +- .../OpenGL/GLES3/flextGL.cpp.template | 12 +- src/MagnumExternal/OpenGL/GLES3/flextGL.h | 995 +++--- .../OpenGL/GLES3/flextGL.h.template | 37 +- .../OpenGL/GLES3/flextGLPlatform.cpp | 456 +-- .../OpenGL/GLES3/flextGLPlatform.cpp.template | 2 +- .../OpenGL/GLES3/flextGLPlatformIOS.cpp | 232 +- .../GLES3/flextGLPlatformIOS.cpp.template | 2 +- .../GLES3/flextGLPlatformWindowsDesktop.cpp | 852 ++--- ...flextGLPlatformWindowsDesktop.cpp.template | 2 +- .../OpenGL/GLES3/flextGLWindowsDesktop.cpp | 480 +-- .../GLES3/flextGLWindowsDesktop.cpp.template | 14 +- .../OpenGL/GLES3/flextGLWindowsDesktop.h | 1806 +++++----- .../GLES3/flextGLWindowsDesktop.h.template | 49 +- 34 files changed, 6903 insertions(+), 7541 deletions(-) diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.cpp b/src/MagnumExternal/OpenGL/GL/flextGL.cpp index 27a46d0af..d7a3124d8 100644 --- a/src/MagnumExternal/OpenGL/GL/flextGL.cpp +++ b/src/MagnumExternal/OpenGL/GL/flextGL.cpp @@ -29,71 +29,6 @@ extern "C" { #endif -/* GL_ARB_ES3_2_compatibility */ -FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxARB)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; - -/* GL_ARB_bindless_texture */ -FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetImageHandleARB)(GLuint, GLint, GLboolean, GLint, GLenum) = nullptr; -FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetTextureHandleARB)(GLuint) = nullptr; -FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetTextureSamplerHandleARB)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribLui64vARB)(GLuint, GLenum, GLuint64EXT *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsImageHandleResidentARB)(GLuint64) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTextureHandleResidentARB)(GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMakeImageHandleNonResidentARB)(GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMakeImageHandleResidentARB)(GLuint64, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMakeTextureHandleNonResidentARB)(GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMakeTextureHandleResidentARB)(GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformHandleui64ARB)(GLuint, GLint, GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformHandleui64vARB)(GLuint, GLint, GLsizei, const GLuint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformHandleui64ARB)(GLint, GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformHandleui64vARB)(GLint, GLsizei, const GLuint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1ui64ARB)(GLuint, GLuint64EXT) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1ui64vARB)(GLuint, const GLuint64EXT *) = nullptr; - -/* GL_ARB_compute_variable_group_size */ -FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeGroupSizeARB)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) = nullptr; - -/* GL_ARB_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusARB)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvARB)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivARB)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivARB)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_ARB_sample_locations */ -FLEXTGL_EXPORT void(APIENTRY *flextglEvaluateDepthValuesARB)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferSampleLocationsfvARB)(GLenum, GLuint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferSampleLocationsfvARB)(GLuint, GLuint, GLsizei, const GLfloat *) = nullptr; - -/* GL_ARB_sparse_buffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglBufferPageCommitmentARB)(GLenum, GLintptr, GLsizeiptr, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferPageCommitmentARB)(GLuint, GLintptr, GLsizeiptr, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferPageCommitmentEXT)(GLuint, GLintptr, GLsizeiptr, GLboolean) = nullptr; - -/* GL_ARB_sparse_texture */ -FLEXTGL_EXPORT void(APIENTRY *flextglTexPageCommitmentARB)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; - -/* GL_EXT_debug_label */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_debug_marker */ -FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *) = nullptr; - -/* GL_GREMEDY_string_marker */ -FLEXTGL_EXPORT void(APIENTRY *flextglStringMarkerGREMEDY)(GLsizei, const void *) = nullptr; - -/* GL_KHR_blend_equation_advanced */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr; - -/* GL_OVR_multiview */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei) = nullptr; - /* GL_VERSION_1_0 */ #undef glBlendFunc #undef glClear @@ -143,102 +78,54 @@ FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureMultiviewOVR)(GLenum, GLe #undef glTexParameteri #undef glTexParameteriv #undef glViewport -GLAPI void APIENTRY glBlendFunc(GLenum, GLenum); -GLAPI void APIENTRY glClear(GLbitfield); -GLAPI void APIENTRY glClearColor(GLfloat, GLfloat, GLfloat, GLfloat); -GLAPI void APIENTRY glClearDepth(GLdouble); -GLAPI void APIENTRY glClearStencil(GLint); -GLAPI void APIENTRY glColorMask(GLboolean, GLboolean, GLboolean, GLboolean); -GLAPI void APIENTRY glCullFace(GLenum); -GLAPI void APIENTRY glDepthFunc(GLenum); -GLAPI void APIENTRY glDepthMask(GLboolean); -GLAPI void APIENTRY glDepthRange(GLdouble, GLdouble); -GLAPI void APIENTRY glDisable(GLenum); -GLAPI void APIENTRY glDrawBuffer(GLenum); -GLAPI void APIENTRY glEnable(GLenum); -GLAPI void APIENTRY glFinish(void); -GLAPI void APIENTRY glFlush(void); -GLAPI void APIENTRY glFrontFace(GLenum); -GLAPI void APIENTRY glGetBooleanv(GLenum, GLboolean *); -GLAPI void APIENTRY glGetDoublev(GLenum, GLdouble *); -GLAPI GLenum APIENTRY glGetError(void); -GLAPI void APIENTRY glGetFloatv(GLenum, GLfloat *); -GLAPI void APIENTRY glGetIntegerv(GLenum, GLint *); -GLAPI const GLubyte * APIENTRY glGetString(GLenum); -GLAPI void APIENTRY glGetTexImage(GLenum, GLint, GLenum, GLenum, void *); -GLAPI void APIENTRY glGetTexLevelParameterfv(GLenum, GLint, GLenum, GLfloat *); -GLAPI void APIENTRY glGetTexLevelParameteriv(GLenum, GLint, GLenum, GLint *); -GLAPI void APIENTRY glGetTexParameterfv(GLenum, GLenum, GLfloat *); -GLAPI void APIENTRY glGetTexParameteriv(GLenum, GLenum, GLint *); -GLAPI void APIENTRY glHint(GLenum, GLenum); -GLAPI GLboolean APIENTRY glIsEnabled(GLenum); -GLAPI void APIENTRY glLineWidth(GLfloat); -GLAPI void APIENTRY glLogicOp(GLenum); -GLAPI void APIENTRY glPixelStoref(GLenum, GLfloat); -GLAPI void APIENTRY glPixelStorei(GLenum, GLint); -GLAPI void APIENTRY glPointSize(GLfloat); -GLAPI void APIENTRY glPolygonMode(GLenum, GLenum); -GLAPI void APIENTRY glReadBuffer(GLenum); -GLAPI void APIENTRY glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); -GLAPI void APIENTRY glScissor(GLint, GLint, GLsizei, GLsizei); -GLAPI void APIENTRY glStencilFunc(GLenum, GLint, GLuint); -GLAPI void APIENTRY glStencilMask(GLuint); -GLAPI void APIENTRY glStencilOp(GLenum, GLenum, GLenum); -GLAPI void APIENTRY glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); -GLAPI void APIENTRY glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -GLAPI void APIENTRY glTexParameterf(GLenum, GLenum, GLfloat); -GLAPI void APIENTRY glTexParameterfv(GLenum, GLenum, const GLfloat *); -GLAPI void APIENTRY glTexParameteri(GLenum, GLenum, GLint); -GLAPI void APIENTRY glTexParameteriv(GLenum, GLenum, const GLint *); -GLAPI void APIENTRY glViewport(GLint, GLint, GLsizei, GLsizei); -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunc)(GLenum, GLenum) = glBlendFunc; -FLEXTGL_EXPORT void(APIENTRY *flextglClear)(GLbitfield) = glClear; -FLEXTGL_EXPORT void(APIENTRY *flextglClearColor)(GLfloat, GLfloat, GLfloat, GLfloat) = glClearColor; -FLEXTGL_EXPORT void(APIENTRY *flextglClearDepth)(GLdouble) = glClearDepth; -FLEXTGL_EXPORT void(APIENTRY *flextglClearStencil)(GLint) = glClearStencil; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMask)(GLboolean, GLboolean, GLboolean, GLboolean) = glColorMask; -FLEXTGL_EXPORT void(APIENTRY *flextglCullFace)(GLenum) = glCullFace; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthFunc)(GLenum) = glDepthFunc; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthMask)(GLboolean) = glDepthMask; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthRange)(GLdouble, GLdouble) = glDepthRange; -FLEXTGL_EXPORT void(APIENTRY *flextglDisable)(GLenum) = glDisable; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffer)(GLenum) = glDrawBuffer; -FLEXTGL_EXPORT void(APIENTRY *flextglEnable)(GLenum) = glEnable; -FLEXTGL_EXPORT void(APIENTRY *flextglFinish)(void) = glFinish; -FLEXTGL_EXPORT void(APIENTRY *flextglFlush)(void) = glFlush; -FLEXTGL_EXPORT void(APIENTRY *flextglFrontFace)(GLenum) = glFrontFace; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleanv)(GLenum, GLboolean *) = glGetBooleanv; -FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublev)(GLenum, GLdouble *) = glGetDoublev; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetError)(void) = glGetError; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFloatv)(GLenum, GLfloat *) = glGetFloatv; -FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegerv)(GLenum, GLint *) = glGetIntegerv; -FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetString)(GLenum) = glGetString; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexImage)(GLenum, GLint, GLenum, GLenum, void *) = glGetTexImage; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *) = glGetTexLevelParameterfv; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *) = glGetTexLevelParameteriv; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterfv)(GLenum, GLenum, GLfloat *) = glGetTexParameterfv; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameteriv)(GLenum, GLenum, GLint *) = glGetTexParameteriv; -FLEXTGL_EXPORT void(APIENTRY *flextglHint)(GLenum, GLenum) = glHint; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabled)(GLenum) = glIsEnabled; -FLEXTGL_EXPORT void(APIENTRY *flextglLineWidth)(GLfloat) = glLineWidth; -FLEXTGL_EXPORT void(APIENTRY *flextglLogicOp)(GLenum) = glLogicOp; -FLEXTGL_EXPORT void(APIENTRY *flextglPixelStoref)(GLenum, GLfloat) = glPixelStoref; -FLEXTGL_EXPORT void(APIENTRY *flextglPixelStorei)(GLenum, GLint) = glPixelStorei; -FLEXTGL_EXPORT void(APIENTRY *flextglPointSize)(GLfloat) = glPointSize; -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonMode)(GLenum, GLenum) = glPolygonMode; -FLEXTGL_EXPORT void(APIENTRY *flextglReadBuffer)(GLenum) = glReadBuffer; -FLEXTGL_EXPORT void(APIENTRY *flextglReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *) = glReadPixels; -FLEXTGL_EXPORT void(APIENTRY *flextglScissor)(GLint, GLint, GLsizei, GLsizei) = glScissor; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilFunc)(GLenum, GLint, GLuint) = glStencilFunc; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilMask)(GLuint) = glStencilMask; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilOp)(GLenum, GLenum, GLenum) = glStencilOp; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *) = glTexImage1D; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = glTexImage2D; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterf)(GLenum, GLenum, GLfloat) = glTexParameterf; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterfv)(GLenum, GLenum, const GLfloat *) = glTexParameterfv; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameteri)(GLenum, GLenum, GLint) = glTexParameteri; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameteriv)(GLenum, GLenum, const GLint *) = glTexParameteriv; -FLEXTGL_EXPORT void(APIENTRY *flextglViewport)(GLint, GLint, GLsizei, GLsizei) = glViewport; +extern void APIENTRY glBlendFunc(GLenum, GLenum); +extern void APIENTRY glClear(GLbitfield); +extern void APIENTRY glClearColor(GLfloat, GLfloat, GLfloat, GLfloat); +extern void APIENTRY glClearDepth(GLdouble); +extern void APIENTRY glClearStencil(GLint); +extern void APIENTRY glColorMask(GLboolean, GLboolean, GLboolean, GLboolean); +extern void APIENTRY glCullFace(GLenum); +extern void APIENTRY glDepthFunc(GLenum); +extern void APIENTRY glDepthMask(GLboolean); +extern void APIENTRY glDepthRange(GLdouble, GLdouble); +extern void APIENTRY glDisable(GLenum); +extern void APIENTRY glDrawBuffer(GLenum); +extern void APIENTRY glEnable(GLenum); +extern void APIENTRY glFinish(void); +extern void APIENTRY glFlush(void); +extern void APIENTRY glFrontFace(GLenum); +extern void APIENTRY glGetBooleanv(GLenum, GLboolean *); +extern void APIENTRY glGetDoublev(GLenum, GLdouble *); +extern GLenum APIENTRY glGetError(void); +extern void APIENTRY glGetFloatv(GLenum, GLfloat *); +extern void APIENTRY glGetIntegerv(GLenum, GLint *); +extern const GLubyte * APIENTRY glGetString(GLenum); +extern void APIENTRY glGetTexImage(GLenum, GLint, GLenum, GLenum, void *); +extern void APIENTRY glGetTexLevelParameterfv(GLenum, GLint, GLenum, GLfloat *); +extern void APIENTRY glGetTexLevelParameteriv(GLenum, GLint, GLenum, GLint *); +extern void APIENTRY glGetTexParameterfv(GLenum, GLenum, GLfloat *); +extern void APIENTRY glGetTexParameteriv(GLenum, GLenum, GLint *); +extern void APIENTRY glHint(GLenum, GLenum); +extern GLboolean APIENTRY glIsEnabled(GLenum); +extern void APIENTRY glLineWidth(GLfloat); +extern void APIENTRY glLogicOp(GLenum); +extern void APIENTRY glPixelStoref(GLenum, GLfloat); +extern void APIENTRY glPixelStorei(GLenum, GLint); +extern void APIENTRY glPointSize(GLfloat); +extern void APIENTRY glPolygonMode(GLenum, GLenum); +extern void APIENTRY glReadBuffer(GLenum); +extern void APIENTRY glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); +extern void APIENTRY glScissor(GLint, GLint, GLsizei, GLsizei); +extern void APIENTRY glStencilFunc(GLenum, GLint, GLuint); +extern void APIENTRY glStencilMask(GLuint); +extern void APIENTRY glStencilOp(GLenum, GLenum, GLenum); +extern void APIENTRY glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); +extern void APIENTRY glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); +extern void APIENTRY glTexParameterf(GLenum, GLenum, GLfloat); +extern void APIENTRY glTexParameterfv(GLenum, GLenum, const GLfloat *); +extern void APIENTRY glTexParameteri(GLenum, GLenum, GLint); +extern void APIENTRY glTexParameteriv(GLenum, GLenum, const GLint *); +extern void APIENTRY glViewport(GLint, GLint, GLsizei, GLsizei); /* GL_VERSION_1_1 */ #undef glBindTexture @@ -254,662 +141,782 @@ FLEXTGL_EXPORT void(APIENTRY *flextglViewport)(GLint, GLint, GLsizei, GLsizei) = #undef glPolygonOffset #undef glTexSubImage1D #undef glTexSubImage2D -GLAPI void APIENTRY glBindTexture(GLenum, GLuint); -GLAPI void APIENTRY glCopyTexImage1D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); -GLAPI void APIENTRY glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); -GLAPI void APIENTRY glCopyTexSubImage1D(GLenum, GLint, GLint, GLint, GLint, GLsizei); -GLAPI void APIENTRY glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -GLAPI void APIENTRY glDeleteTextures(GLsizei, const GLuint *); -GLAPI void APIENTRY glDrawArrays(GLenum, GLint, GLsizei); -GLAPI void APIENTRY glDrawElements(GLenum, GLsizei, GLenum, const void *); -GLAPI void APIENTRY glGenTextures(GLsizei, GLuint *); -GLAPI GLboolean APIENTRY glIsTexture(GLuint); -GLAPI void APIENTRY glPolygonOffset(GLfloat, GLfloat); -GLAPI void APIENTRY glTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); -GLAPI void APIENTRY glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -FLEXTGL_EXPORT void(APIENTRY *flextglBindTexture)(GLenum, GLuint) = glBindTexture; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) = glCopyTexImage1D; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) = glCopyTexImage2D; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei) = glCopyTexSubImage1D; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = glCopyTexSubImage2D; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTextures)(GLsizei, const GLuint *) = glDeleteTextures; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArrays)(GLenum, GLint, GLsizei) = glDrawArrays; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElements)(GLenum, GLsizei, GLenum, const void *) = glDrawElements; -FLEXTGL_EXPORT void(APIENTRY *flextglGenTextures)(GLsizei, GLuint *) = glGenTextures; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTexture)(GLuint) = glIsTexture; -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffset)(GLfloat, GLfloat) = glPolygonOffset; -FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *) = glTexSubImage1D; -FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *) = glTexSubImage2D; - -/* GL_VERSION_1_2 */ -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; - -/* GL_VERSION_1_3 */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTexImage)(GLenum, GLint, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean) = nullptr; - -/* GL_VERSION_1_4 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElements)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPointParameterf)(GLenum, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPointParameterfv)(GLenum, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPointParameteri)(GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPointParameteriv)(GLenum, const GLint *) = nullptr; - -/* GL_VERSION_1_5 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginQuery)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBufferData)(GLenum, GLsizeiptr, const void *, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueries)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndQuery)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenQueries)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointerv)(GLenum, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryiv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQuery)(GLuint) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBuffer)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBuffer)(GLenum) = nullptr; - -/* GL_VERSION_2_0 */ -FLEXTGL_EXPORT void(APIENTRY *flextglAttachShader)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompileShader)(GLuint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateProgram)(void) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShader)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDetachShader)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexAttribArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffers)(GLsizei, const GLenum *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexAttribArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetAttribLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetUniformLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformfv)(GLuint, GLint, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformiv)(GLuint, GLint, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribdv)(GLuint, GLenum, GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribfv)(GLuint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLinkProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilMaskSeparate)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1d)(GLuint, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1f)(GLuint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1s)(GLuint, GLshort) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1sv)(GLuint, const GLshort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2d)(GLuint, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2f)(GLuint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2s)(GLuint, GLshort, GLshort) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2sv)(GLuint, const GLshort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3sv)(GLuint, const GLshort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nbv)(GLuint, const GLbyte *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Niv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nsv)(GLuint, const GLshort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nubv)(GLuint, const GLubyte *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nuiv)(GLuint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nusv)(GLuint, const GLushort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4bv)(GLuint, const GLbyte *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4iv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4sv)(GLuint, const GLshort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4ubv)(GLuint, const GLubyte *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4uiv)(GLuint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4usv)(GLuint, const GLushort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *) = nullptr; - -/* GL_VERSION_2_1 */ -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; - -/* GL_VERSION_3_0 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginConditionalRender)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBeginTransformFeedback)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferBase)(GLenum, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocation)(GLuint, GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClampColor)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfi)(GLenum, GLint, GLfloat, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfv)(GLenum, GLint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferiv)(GLenum, GLint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferuiv)(GLenum, GLint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArrays)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndConditionalRender)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndTransformFeedback)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArrays)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegeri_v)(GLenum, GLuint, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetStringi)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformuiv)(GLuint, GLint, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIiv)(GLenum, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuiv)(GLenum, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1ui)(GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2ui)(GLint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3ui)(GLint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1i)(GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1iv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1ui)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1uiv)(GLuint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2i)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2iv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2ui)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2uiv)(GLuint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3i)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3iv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3uiv)(GLuint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4bv)(GLuint, const GLbyte *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4iv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4sv)(GLuint, const GLshort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ubv)(GLuint, const GLubyte *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4uiv)(GLuint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4usv)(GLuint, const GLushort *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *) = nullptr; - -/* GL_VERSION_3_1 */ -FLEXTGL_EXPORT void(APIENTRY *flextglCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetUniformBlockIndex)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveRestartIndex)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBuffer)(GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformBlockBinding)(GLuint, GLuint, GLuint) = nullptr; - -/* GL_VERSION_3_2 */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglClientWaitSync)(GLsync, GLbitfield, GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSync)(GLsync) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint) = nullptr; -FLEXTGL_EXPORT GLsync(APIENTRY *flextglFenceSync)(GLenum, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteri64v)(GLenum, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64i_v)(GLenum, GLuint, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64v)(GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSync)(GLsync) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProvokingVertex)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglWaitSync)(GLsync, GLbitfield, GLuint64) = nullptr; - -/* GL_VERSION_3_3 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindSampler)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSamplers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenSamplers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataIndex)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64v)(GLuint, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterfv)(GLuint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameteriv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSampler)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounter)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIiv)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuiv)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterf)(GLuint, GLenum, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterfv)(GLuint, GLenum, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteri)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteriv)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisor)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *) = nullptr; - -/* GL_VERSION_4_0 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryIndexed)(GLenum, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindTransformFeedback)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTransformFeedbacks)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysIndirect)(GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsIndirect)(GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedback)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackStream)(GLenum, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryIndexed)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenTransformFeedbacks)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetSubroutineIndex)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformSubroutineuiv)(GLenum, GLint, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformdv)(GLuint, GLint, GLdouble *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTransformFeedback)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShading)(GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameterfv)(GLenum, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPauseTransformFeedback)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglResumeTransformFeedback)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1d)(GLint, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1dv)(GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2d)(GLint, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2dv)(GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3d)(GLint, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3dv)(GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4dv)(GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *) = nullptr; - -/* GL_VERSION_4_1 */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangeArrayv)(GLuint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangeIndexed)(GLuint, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublei_v)(GLenum, GLuint, GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFloati_v)(GLenum, GLuint, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribLdv)(GLuint, GLenum, GLdouble *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramBinary)(GLuint, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteri)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1d)(GLuint, GLint, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1f)(GLuint, GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1i)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ui)(GLuint, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2i)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ui)(GLuint, GLint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglScissorArrayv)(GLuint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglScissorIndexedv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStages)(GLuint, GLbitfield, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1d)(GLuint, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2d)(GLuint, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL4dv)(GLuint, const GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglViewportArrayv)(GLuint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglViewportIndexedfv)(GLuint, const GLfloat *) = nullptr; - -/* GL_VERSION_4_2 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrier)(GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage1D)(GLenum, GLsizei, GLenum, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = nullptr; - -/* GL_VERSION_4_3 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferData)(GLenum, GLenum, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallback)(GLDEBUGPROC, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDispatchCompute)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferParameteri)(GLenum, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInternalformati64v)(GLenum, GLenum, GLenum, GLsizei, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerv)(GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocation)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocationIndex)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferData)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateTexImage)(GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirect)(GLenum, const void *, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirect)(GLenum, GLenum, const void *, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglShaderStorageBlockBinding)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribBinding)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribLFormat)(GLuint, GLint, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint) = nullptr; - -/* GL_VERSION_4_4 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTextures)(GLuint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindSamplers)(GLuint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindTextures)(GLuint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBufferStorage)(GLenum, GLsizeiptr, const void *, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearTexImage)(GLuint, GLint, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; - -/* GL_VERSION_4_5 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBindTextureUnit)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlitNamedFramebuffer)(GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckNamedFramebufferStatus)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferData)(GLuint, GLenum, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferSubData)(GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferfi)(GLuint, GLenum, GLint, GLfloat, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferfv)(GLuint, GLenum, GLint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferiv)(GLuint, GLenum, GLint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferuiv)(GLuint, GLenum, GLint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClipControl)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage1D)(GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyNamedBufferSubData)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage1D)(GLuint, GLint, GLint, GLint, GLint, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateBuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateFramebuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateProgramPipelines)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateQueries)(GLenum, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateRenderbuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateSamplers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateTextures)(GLenum, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateTransformFeedbacks)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCreateVertexArrays)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexArrayAttrib)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexArrayAttrib)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedNamedBufferRange)(GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenerateTextureMipmap)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTextureImage)(GLuint, GLint, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTextureSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferParameteri64v)(GLuint, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferParameteriv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferPointerv)(GLuint, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferSubData)(GLuint, GLintptr, GLsizeiptr, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferAttachmentParameteriv)(GLuint, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferParameteriv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedRenderbufferParameteriv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjecti64v)(GLuint, GLuint, GLenum, GLintptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjectiv)(GLuint, GLuint, GLenum, GLintptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjectui64v)(GLuint, GLuint, GLenum, GLintptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjectuiv)(GLuint, GLuint, GLenum, GLintptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureImage)(GLuint, GLint, GLenum, GLenum, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameterfv)(GLuint, GLint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameteriv)(GLuint, GLint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterfv)(GLuint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameteriv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbacki64_v)(GLuint, GLenum, GLuint, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbacki_v)(GLuint, GLenum, GLuint, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIndexed64iv)(GLuint, GLuint, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIndexediv)(GLuint, GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnCompressedTexImage)(GLenum, GLint, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnTexImage)(GLenum, GLint, GLenum, GLenum, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformdv)(GLuint, GLint, GLsizei, GLdouble *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformiv)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateNamedFramebufferData)(GLuint, GLsizei, const GLenum *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateNamedFramebufferSubData)(GLuint, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBuffer)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBufferRange)(GLuint, GLintptr, GLsizeiptr, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrierByRegion)(GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferData)(GLuint, GLsizeiptr, const void *, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferStorage)(GLuint, GLsizeiptr, const void *, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferSubData)(GLuint, GLintptr, GLsizeiptr, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferDrawBuffer)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferDrawBuffers)(GLuint, GLsizei, const GLenum *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferParameteri)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferReadBuffer)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferRenderbuffer)(GLuint, GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture)(GLuint, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureLayer)(GLuint, GLenum, GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorage)(GLuint, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureBarrier)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureBuffer)(GLuint, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureBufferRange)(GLuint, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIiv)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIuiv)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterf)(GLuint, GLenum, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterfv)(GLuint, GLenum, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameteri)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameteriv)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage1D)(GLuint, GLsizei, GLenum, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2D)(GLuint, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2DMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3D)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3DMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage1D)(GLuint, GLint, GLint, GLsizei, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackBufferBase)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackBufferRange)(GLuint, GLuint, GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapNamedBuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribBinding)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribFormat)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribIFormat)(GLuint, GLuint, GLint, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribLFormat)(GLuint, GLuint, GLint, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayBindingDivisor)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayElementBuffer)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffer)(GLuint, GLuint, GLuint, GLintptr, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffers)(GLuint, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *) = nullptr; - -/* GL_VERSION_4_6 */ -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirectCount)(GLenum, const void *, GLintptr, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirectCount)(GLenum, GLenum, const void *, GLintptr, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClamp)(GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSpecializeShader)(GLuint, const GLchar *, GLuint, const GLuint *, const GLuint *) = nullptr; +extern void APIENTRY glBindTexture(GLenum, GLuint); +extern void APIENTRY glCopyTexImage1D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +extern void APIENTRY glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +extern void APIENTRY glCopyTexSubImage1D(GLenum, GLint, GLint, GLint, GLint, GLsizei); +extern void APIENTRY glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +extern void APIENTRY glDeleteTextures(GLsizei, const GLuint *); +extern void APIENTRY glDrawArrays(GLenum, GLint, GLsizei); +extern void APIENTRY glDrawElements(GLenum, GLsizei, GLenum, const void *); +extern void APIENTRY glGenTextures(GLsizei, GLuint *); +extern GLboolean APIENTRY glIsTexture(GLuint); +extern void APIENTRY glPolygonOffset(GLfloat, GLfloat); +extern void APIENTRY glTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); +extern void APIENTRY glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); + +FlextGL flextGL{ + + /* GL_ARB_ES3_2_compatibility */ + nullptr, + + /* GL_ARB_bindless_texture */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_ARB_compute_variable_group_size */ + nullptr, + + /* GL_ARB_robustness */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_ARB_sample_locations */ + nullptr, + nullptr, + nullptr, + + /* GL_ARB_sparse_buffer */ + nullptr, + nullptr, + nullptr, + + /* GL_ARB_sparse_texture */ + nullptr, + + /* GL_EXT_debug_label */ + nullptr, + nullptr, + + /* GL_EXT_debug_marker */ + nullptr, + nullptr, + nullptr, + + /* GL_GREMEDY_string_marker */ + nullptr, + + /* GL_KHR_blend_equation_advanced */ + nullptr, + + /* GL_OVR_multiview */ + nullptr, + + /* GL_VERSION_1_0 */ + glBlendFunc, + glClear, + glClearColor, + glClearDepth, + glClearStencil, + glColorMask, + glCullFace, + glDepthFunc, + glDepthMask, + glDepthRange, + glDisable, + glDrawBuffer, + glEnable, + glFinish, + glFlush, + glFrontFace, + glGetBooleanv, + glGetDoublev, + glGetError, + glGetFloatv, + glGetIntegerv, + glGetString, + glGetTexImage, + glGetTexLevelParameterfv, + glGetTexLevelParameteriv, + glGetTexParameterfv, + glGetTexParameteriv, + glHint, + glIsEnabled, + glLineWidth, + glLogicOp, + glPixelStoref, + glPixelStorei, + glPointSize, + glPolygonMode, + glReadBuffer, + glReadPixels, + glScissor, + glStencilFunc, + glStencilMask, + glStencilOp, + glTexImage1D, + glTexImage2D, + glTexParameterf, + glTexParameterfv, + glTexParameteri, + glTexParameteriv, + glViewport, + + /* GL_VERSION_1_1 */ + glBindTexture, + glCopyTexImage1D, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glDeleteTextures, + glDrawArrays, + glDrawElements, + glGenTextures, + glIsTexture, + glPolygonOffset, + glTexSubImage1D, + glTexSubImage2D, + + /* GL_VERSION_1_2 */ + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_1_3 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_1_4 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_1_5 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_2_0 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_2_1 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_3_0 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_3_1 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_3_2 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_3_3 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_4_0 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_4_1 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_4_2 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_4_3 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_4_4 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_4_5 */ + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + + /* GL_VERSION_4_6 */ + nullptr, + nullptr, + nullptr, + nullptr, +}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.cpp.template b/src/MagnumExternal/OpenGL/GL/flextGL.cpp.template index 70ecad7f9..10dcd99bd 100644 --- a/src/MagnumExternal/OpenGL/GL/flextGL.cpp.template +++ b/src/MagnumExternal/OpenGL/GL/flextGL.cpp.template @@ -30,32 +30,37 @@ extern "C" { #endif @for category,funcs in functions: -@if len(funcs) > 0: -@if category in ['VERSION_1_0', 'VERSION_1_1']: +@if funcs and category in ['VERSION_1_0', 'VERSION_1_1']: /* GL_@category */ @for f in funcs: #undef gl@f.name @end @for f in funcs: -GLAPI @f.returntype APIENTRY gl@f.name\ +extern @f.returntype APIENTRY gl@f.name\ (@f.param_type_list_string()); @end -@for f in funcs: -FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()) = gl@f.name; -@end -@else: - -/* GL_@category */ -@for f in funcs: -FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()) = nullptr; -@end -@end @end @end +FlextGL flextGL{ + @for category,funcs in functions: + @if funcs and category in ['VERSION_1_0', 'VERSION_1_1']: + + /* GL_@category */ + @for f in funcs: + gl@f.name, + @end + @elif funcs: + + /* GL_@category */ + @for f in funcs: + nullptr, + @end + @end + @end +}; + #ifdef __cplusplus } #endif diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.h b/src/MagnumExternal/OpenGL/GL/flextGL.h index 26972f4b6..eeb42d213 100644 --- a/src/MagnumExternal/OpenGL/GL/flextGL.h +++ b/src/MagnumExternal/OpenGL/GL/flextGL.h @@ -90,9 +90,6 @@ void flextGLInit(Magnum::GL::Context& context); #ifndef APIENTRY #define APIENTRY #endif -#ifndef GLAPI -#define GLAPI extern -#endif /* GL version defines. Needs to be done to avoid conflicting definitions with other GL headers (such as qopengl.h in Qt, which has different definition @@ -1776,1497 +1773,1598 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum #define GL_MAX_VIEWS_OVR 0x9631 #define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633 -/* Function prototypes */ +/* Function prototypes. Put into a struct in order to handle thread-localness + and globals unique across shared libs, this also means way less symbols is + exported, saving on binary size. Contexts on NVidia 390 drivers don't have + correct statically linked GL 1.0 and 1.1 functions (such as glGetString()) + and one has to retrieve them explicitly using eglGetProcAddress(), which is + why those functions aren't listed as direct prototypes. */ +struct FlextGL { + + /* GL_ARB_ES3_2_compatibility */ + + void(APIENTRY *PrimitiveBoundingBoxARB)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); + + /* GL_ARB_bindless_texture */ + + GLuint64(APIENTRY *GetImageHandleARB)(GLuint, GLint, GLboolean, GLint, GLenum); + GLuint64(APIENTRY *GetTextureHandleARB)(GLuint); + GLuint64(APIENTRY *GetTextureSamplerHandleARB)(GLuint, GLuint); + void(APIENTRY *GetVertexAttribLui64vARB)(GLuint, GLenum, GLuint64EXT *); + GLboolean(APIENTRY *IsImageHandleResidentARB)(GLuint64); + GLboolean(APIENTRY *IsTextureHandleResidentARB)(GLuint64); + void(APIENTRY *MakeImageHandleNonResidentARB)(GLuint64); + void(APIENTRY *MakeImageHandleResidentARB)(GLuint64, GLenum); + void(APIENTRY *MakeTextureHandleNonResidentARB)(GLuint64); + void(APIENTRY *MakeTextureHandleResidentARB)(GLuint64); + void(APIENTRY *ProgramUniformHandleui64ARB)(GLuint, GLint, GLuint64); + void(APIENTRY *ProgramUniformHandleui64vARB)(GLuint, GLint, GLsizei, const GLuint64 *); + void(APIENTRY *UniformHandleui64ARB)(GLint, GLuint64); + void(APIENTRY *UniformHandleui64vARB)(GLint, GLsizei, const GLuint64 *); + void(APIENTRY *VertexAttribL1ui64ARB)(GLuint, GLuint64EXT); + void(APIENTRY *VertexAttribL1ui64vARB)(GLuint, const GLuint64EXT *); + + /* GL_ARB_compute_variable_group_size */ + + void(APIENTRY *DispatchComputeGroupSizeARB)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); + + /* GL_ARB_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusARB)(void); + void(APIENTRY *GetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *); + void(APIENTRY *GetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, void *); + void(APIENTRY *GetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *); + void(APIENTRY *GetnUniformfvARB)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivARB)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuivARB)(GLuint, GLint, GLsizei, GLuint *); + void(APIENTRY *ReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_ARB_sample_locations */ + + void(APIENTRY *EvaluateDepthValuesARB)(void); + void(APIENTRY *FramebufferSampleLocationsfvARB)(GLenum, GLuint, GLsizei, const GLfloat *); + void(APIENTRY *NamedFramebufferSampleLocationsfvARB)(GLuint, GLuint, GLsizei, const GLfloat *); + + /* GL_ARB_sparse_buffer */ + + void(APIENTRY *BufferPageCommitmentARB)(GLenum, GLintptr, GLsizeiptr, GLboolean); + void(APIENTRY *NamedBufferPageCommitmentARB)(GLuint, GLintptr, GLsizeiptr, GLboolean); + void(APIENTRY *NamedBufferPageCommitmentEXT)(GLuint, GLintptr, GLsizeiptr, GLboolean); + + /* GL_ARB_sparse_texture */ + + void(APIENTRY *TexPageCommitmentARB)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean); + + /* GL_EXT_debug_label */ + + void(APIENTRY *GetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *LabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_EXT_debug_marker */ + + void(APIENTRY *InsertEventMarkerEXT)(GLsizei, const GLchar *); + void(APIENTRY *PopGroupMarkerEXT)(void); + void(APIENTRY *PushGroupMarkerEXT)(GLsizei, const GLchar *); + + /* GL_GREMEDY_string_marker */ + + void(APIENTRY *StringMarkerGREMEDY)(GLsizei, const void *); + + /* GL_KHR_blend_equation_advanced */ + + void(APIENTRY *BlendBarrierKHR)(void); + + /* GL_OVR_multiview */ + + void(APIENTRY *FramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei); + + /* GL_VERSION_1_0 */ + + void(APIENTRY *BlendFunc)(GLenum, GLenum); + void(APIENTRY *Clear)(GLbitfield); + void(APIENTRY *ClearColor)(GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ClearDepth)(GLdouble); + void(APIENTRY *ClearStencil)(GLint); + void(APIENTRY *ColorMask)(GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *CullFace)(GLenum); + void(APIENTRY *DepthFunc)(GLenum); + void(APIENTRY *DepthMask)(GLboolean); + void(APIENTRY *DepthRange)(GLdouble, GLdouble); + void(APIENTRY *Disable)(GLenum); + void(APIENTRY *DrawBuffer)(GLenum); + void(APIENTRY *Enable)(GLenum); + void(APIENTRY *Finish)(void); + void(APIENTRY *Flush)(void); + void(APIENTRY *FrontFace)(GLenum); + void(APIENTRY *GetBooleanv)(GLenum, GLboolean *); + void(APIENTRY *GetDoublev)(GLenum, GLdouble *); + GLenum(APIENTRY *GetError)(void); + void(APIENTRY *GetFloatv)(GLenum, GLfloat *); + void(APIENTRY *GetIntegerv)(GLenum, GLint *); + const GLubyte *(APIENTRY *GetString)(GLenum); + void(APIENTRY *GetTexImage)(GLenum, GLint, GLenum, GLenum, void *); + void(APIENTRY *GetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *); + void(APIENTRY *GetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *); + void(APIENTRY *GetTexParameterfv)(GLenum, GLenum, GLfloat *); + void(APIENTRY *GetTexParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *Hint)(GLenum, GLenum); + GLboolean(APIENTRY *IsEnabled)(GLenum); + void(APIENTRY *LineWidth)(GLfloat); + void(APIENTRY *LogicOp)(GLenum); + void(APIENTRY *PixelStoref)(GLenum, GLfloat); + void(APIENTRY *PixelStorei)(GLenum, GLint); + void(APIENTRY *PointSize)(GLfloat); + void(APIENTRY *PolygonMode)(GLenum, GLenum); + void(APIENTRY *ReadBuffer)(GLenum); + void(APIENTRY *ReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); + void(APIENTRY *Scissor)(GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *StencilFunc)(GLenum, GLint, GLuint); + void(APIENTRY *StencilMask)(GLuint); + void(APIENTRY *StencilOp)(GLenum, GLenum, GLenum); + void(APIENTRY *TexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); + void(APIENTRY *TexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); + void(APIENTRY *TexParameterf)(GLenum, GLenum, GLfloat); + void(APIENTRY *TexParameterfv)(GLenum, GLenum, const GLfloat *); + void(APIENTRY *TexParameteri)(GLenum, GLenum, GLint); + void(APIENTRY *TexParameteriv)(GLenum, GLenum, const GLint *); + void(APIENTRY *Viewport)(GLint, GLint, GLsizei, GLsizei); + + /* GL_VERSION_1_1 */ + + void(APIENTRY *BindTexture)(GLenum, GLuint); + void(APIENTRY *CopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); + void(APIENTRY *CopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); + void(APIENTRY *CopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei); + void(APIENTRY *CopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *DeleteTextures)(GLsizei, const GLuint *); + void(APIENTRY *DrawArrays)(GLenum, GLint, GLsizei); + void(APIENTRY *DrawElements)(GLenum, GLsizei, GLenum, const void *); + void(APIENTRY *GenTextures)(GLsizei, GLuint *); + GLboolean(APIENTRY *IsTexture)(GLuint); + void(APIENTRY *PolygonOffset)(GLfloat, GLfloat); + void(APIENTRY *TexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); + void(APIENTRY *TexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); + + /* GL_VERSION_1_2 */ + + void(APIENTRY *CopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *); + void(APIENTRY *TexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); + void(APIENTRY *TexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); + + /* GL_VERSION_1_3 */ + + void(APIENTRY *ActiveTexture)(GLenum); + void(APIENTRY *CompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *GetCompressedTexImage)(GLenum, GLint, void *); + void(APIENTRY *SampleCoverage)(GLfloat, GLboolean); + + /* GL_VERSION_1_4 */ + + void(APIENTRY *BlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *BlendEquation)(GLenum); + void(APIENTRY *BlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *MultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei); + void(APIENTRY *MultiDrawElements)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); + void(APIENTRY *PointParameterf)(GLenum, GLfloat); + void(APIENTRY *PointParameterfv)(GLenum, const GLfloat *); + void(APIENTRY *PointParameteri)(GLenum, GLint); + void(APIENTRY *PointParameteriv)(GLenum, const GLint *); + + /* GL_VERSION_1_5 */ + + void(APIENTRY *BeginQuery)(GLenum, GLuint); + void(APIENTRY *BindBuffer)(GLenum, GLuint); + void(APIENTRY *BufferData)(GLenum, GLsizeiptr, const void *, GLenum); + void(APIENTRY *BufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *); + void(APIENTRY *DeleteBuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteQueries)(GLsizei, const GLuint *); + void(APIENTRY *EndQuery)(GLenum); + void(APIENTRY *GenBuffers)(GLsizei, GLuint *); + void(APIENTRY *GenQueries)(GLsizei, GLuint *); + void(APIENTRY *GetBufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetBufferPointerv)(GLenum, GLenum, void **); + void(APIENTRY *GetBufferSubData)(GLenum, GLintptr, GLsizeiptr, void *); + void(APIENTRY *GetQueryObjectiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetQueryObjectuiv)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetQueryiv)(GLenum, GLenum, GLint *); + GLboolean(APIENTRY *IsBuffer)(GLuint); + GLboolean(APIENTRY *IsQuery)(GLuint); + void *(APIENTRY *MapBuffer)(GLenum, GLenum); + GLboolean(APIENTRY *UnmapBuffer)(GLenum); + + /* GL_VERSION_2_0 */ + + void(APIENTRY *AttachShader)(GLuint, GLuint); + void(APIENTRY *BindAttribLocation)(GLuint, GLuint, const GLchar *); + void(APIENTRY *BlendEquationSeparate)(GLenum, GLenum); + void(APIENTRY *CompileShader)(GLuint); + GLuint(APIENTRY *CreateProgram)(void); + GLuint(APIENTRY *CreateShader)(GLenum); + void(APIENTRY *DeleteProgram)(GLuint); + void(APIENTRY *DeleteShader)(GLuint); + void(APIENTRY *DetachShader)(GLuint, GLuint); + void(APIENTRY *DisableVertexAttribArray)(GLuint); + void(APIENTRY *DrawBuffers)(GLsizei, const GLenum *); + void(APIENTRY *EnableVertexAttribArray)(GLuint); + void(APIENTRY *GetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); + void(APIENTRY *GetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); + void(APIENTRY *GetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *); + GLint(APIENTRY *GetAttribLocation)(GLuint, const GLchar *); + void(APIENTRY *GetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetShaderiv)(GLuint, GLenum, GLint *); + GLint(APIENTRY *GetUniformLocation)(GLuint, const GLchar *); + void(APIENTRY *GetUniformfv)(GLuint, GLint, GLfloat *); + void(APIENTRY *GetUniformiv)(GLuint, GLint, GLint *); + void(APIENTRY *GetVertexAttribPointerv)(GLuint, GLenum, void **); + void(APIENTRY *GetVertexAttribdv)(GLuint, GLenum, GLdouble *); + void(APIENTRY *GetVertexAttribfv)(GLuint, GLenum, GLfloat *); + void(APIENTRY *GetVertexAttribiv)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsProgram)(GLuint); + GLboolean(APIENTRY *IsShader)(GLuint); + void(APIENTRY *LinkProgram)(GLuint); + void(APIENTRY *ShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *); + void(APIENTRY *StencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); + void(APIENTRY *StencilMaskSeparate)(GLenum, GLuint); + void(APIENTRY *StencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *Uniform1f)(GLint, GLfloat); + void(APIENTRY *Uniform1fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform1i)(GLint, GLint); + void(APIENTRY *Uniform1iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform2f)(GLint, GLfloat, GLfloat); + void(APIENTRY *Uniform2fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform2i)(GLint, GLint, GLint); + void(APIENTRY *Uniform2iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform3f)(GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *Uniform3fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform3i)(GLint, GLint, GLint, GLint); + void(APIENTRY *Uniform3iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *Uniform4fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform4i)(GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *Uniform4iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *UniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UseProgram)(GLuint); + void(APIENTRY *ValidateProgram)(GLuint); + void(APIENTRY *VertexAttrib1d)(GLuint, GLdouble); + void(APIENTRY *VertexAttrib1dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttrib1f)(GLuint, GLfloat); + void(APIENTRY *VertexAttrib1fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib1s)(GLuint, GLshort); + void(APIENTRY *VertexAttrib1sv)(GLuint, const GLshort *); + void(APIENTRY *VertexAttrib2d)(GLuint, GLdouble, GLdouble); + void(APIENTRY *VertexAttrib2dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttrib2f)(GLuint, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib2fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib2s)(GLuint, GLshort, GLshort); + void(APIENTRY *VertexAttrib2sv)(GLuint, const GLshort *); + void(APIENTRY *VertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble); + void(APIENTRY *VertexAttrib3dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib3fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib3s)(GLuint, GLshort, GLshort, GLshort); + void(APIENTRY *VertexAttrib3sv)(GLuint, const GLshort *); + void(APIENTRY *VertexAttrib4Nbv)(GLuint, const GLbyte *); + void(APIENTRY *VertexAttrib4Niv)(GLuint, const GLint *); + void(APIENTRY *VertexAttrib4Nsv)(GLuint, const GLshort *); + void(APIENTRY *VertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte); + void(APIENTRY *VertexAttrib4Nubv)(GLuint, const GLubyte *); + void(APIENTRY *VertexAttrib4Nuiv)(GLuint, const GLuint *); + void(APIENTRY *VertexAttrib4Nusv)(GLuint, const GLushort *); + void(APIENTRY *VertexAttrib4bv)(GLuint, const GLbyte *); + void(APIENTRY *VertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); + void(APIENTRY *VertexAttrib4dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib4fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib4iv)(GLuint, const GLint *); + void(APIENTRY *VertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort); + void(APIENTRY *VertexAttrib4sv)(GLuint, const GLshort *); + void(APIENTRY *VertexAttrib4ubv)(GLuint, const GLubyte *); + void(APIENTRY *VertexAttrib4uiv)(GLuint, const GLuint *); + void(APIENTRY *VertexAttrib4usv)(GLuint, const GLushort *); + void(APIENTRY *VertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); + + /* GL_VERSION_2_1 */ + + void(APIENTRY *UniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); + + /* GL_VERSION_3_0 */ + + void(APIENTRY *BeginConditionalRender)(GLuint, GLenum); + void(APIENTRY *BeginTransformFeedback)(GLenum); + void(APIENTRY *BindBufferBase)(GLenum, GLuint, GLuint); + void(APIENTRY *BindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *BindFragDataLocation)(GLuint, GLuint, const GLchar *); + void(APIENTRY *BindFramebuffer)(GLenum, GLuint); + void(APIENTRY *BindRenderbuffer)(GLenum, GLuint); + void(APIENTRY *BindVertexArray)(GLuint); + void(APIENTRY *BlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); + GLenum(APIENTRY *CheckFramebufferStatus)(GLenum); + void(APIENTRY *ClampColor)(GLenum, GLenum); + void(APIENTRY *ClearBufferfi)(GLenum, GLint, GLfloat, GLint); + void(APIENTRY *ClearBufferfv)(GLenum, GLint, const GLfloat *); + void(APIENTRY *ClearBufferiv)(GLenum, GLint, const GLint *); + void(APIENTRY *ClearBufferuiv)(GLenum, GLint, const GLuint *); + void(APIENTRY *ColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *DeleteFramebuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteRenderbuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteVertexArrays)(GLsizei, const GLuint *); + void(APIENTRY *Disablei)(GLenum, GLuint); + void(APIENTRY *Enablei)(GLenum, GLuint); + void(APIENTRY *EndConditionalRender)(void); + void(APIENTRY *EndTransformFeedback)(void); + void(APIENTRY *FlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr); + void(APIENTRY *FramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); + void(APIENTRY *FramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint); + void(APIENTRY *FramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint); + void(APIENTRY *FramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint); + void(APIENTRY *FramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint); + void(APIENTRY *GenFramebuffers)(GLsizei, GLuint *); + void(APIENTRY *GenRenderbuffers)(GLsizei, GLuint *); + void(APIENTRY *GenVertexArrays)(GLsizei, GLuint *); + void(APIENTRY *GenerateMipmap)(GLenum); + void(APIENTRY *GetBooleani_v)(GLenum, GLuint, GLboolean *); + GLint(APIENTRY *GetFragDataLocation)(GLuint, const GLchar *); + void(APIENTRY *GetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); + void(APIENTRY *GetIntegeri_v)(GLenum, GLuint, GLint *); + void(APIENTRY *GetRenderbufferParameteriv)(GLenum, GLenum, GLint *); + const GLubyte *(APIENTRY *GetStringi)(GLenum, GLuint); + void(APIENTRY *GetTexParameterIiv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetTexParameterIuiv)(GLenum, GLenum, GLuint *); + void(APIENTRY *GetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); + void(APIENTRY *GetUniformuiv)(GLuint, GLint, GLuint *); + void(APIENTRY *GetVertexAttribIiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetVertexAttribIuiv)(GLuint, GLenum, GLuint *); + GLboolean(APIENTRY *IsEnabledi)(GLenum, GLuint); + GLboolean(APIENTRY *IsFramebuffer)(GLuint); + GLboolean(APIENTRY *IsRenderbuffer)(GLuint); + GLboolean(APIENTRY *IsVertexArray)(GLuint); + void *(APIENTRY *MapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield); + void(APIENTRY *RenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); + void(APIENTRY *RenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *TexParameterIiv)(GLenum, GLenum, const GLint *); + void(APIENTRY *TexParameterIuiv)(GLenum, GLenum, const GLuint *); + void(APIENTRY *TransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum); + void(APIENTRY *Uniform1ui)(GLint, GLuint); + void(APIENTRY *Uniform1uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *Uniform2ui)(GLint, GLuint, GLuint); + void(APIENTRY *Uniform2uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *Uniform3ui)(GLint, GLuint, GLuint, GLuint); + void(APIENTRY *Uniform3uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *Uniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *Uniform4uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *VertexAttribI1i)(GLuint, GLint); + void(APIENTRY *VertexAttribI1iv)(GLuint, const GLint *); + void(APIENTRY *VertexAttribI1ui)(GLuint, GLuint); + void(APIENTRY *VertexAttribI1uiv)(GLuint, const GLuint *); + void(APIENTRY *VertexAttribI2i)(GLuint, GLint, GLint); + void(APIENTRY *VertexAttribI2iv)(GLuint, const GLint *); + void(APIENTRY *VertexAttribI2ui)(GLuint, GLuint, GLuint); + void(APIENTRY *VertexAttribI2uiv)(GLuint, const GLuint *); + void(APIENTRY *VertexAttribI3i)(GLuint, GLint, GLint, GLint); + void(APIENTRY *VertexAttribI3iv)(GLuint, const GLint *); + void(APIENTRY *VertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *VertexAttribI3uiv)(GLuint, const GLuint *); + void(APIENTRY *VertexAttribI4bv)(GLuint, const GLbyte *); + void(APIENTRY *VertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *VertexAttribI4iv)(GLuint, const GLint *); + void(APIENTRY *VertexAttribI4sv)(GLuint, const GLshort *); + void(APIENTRY *VertexAttribI4ubv)(GLuint, const GLubyte *); + void(APIENTRY *VertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *VertexAttribI4uiv)(GLuint, const GLuint *); + void(APIENTRY *VertexAttribI4usv)(GLuint, const GLushort *); + void(APIENTRY *VertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *); + + /* GL_VERSION_3_1 */ + + void(APIENTRY *CopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); + void(APIENTRY *DrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei); + void(APIENTRY *GetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *); + void(APIENTRY *GetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *); + GLuint(APIENTRY *GetUniformBlockIndex)(GLuint, const GLchar *); + void(APIENTRY *GetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *); + void(APIENTRY *PrimitiveRestartIndex)(GLuint); + void(APIENTRY *TexBuffer)(GLenum, GLenum, GLuint); + void(APIENTRY *UniformBlockBinding)(GLuint, GLuint, GLuint); + + /* GL_VERSION_3_2 */ + + GLenum(APIENTRY *ClientWaitSync)(GLsync, GLbitfield, GLuint64); + void(APIENTRY *DeleteSync)(GLsync); + void(APIENTRY *DrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); + void(APIENTRY *DrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); + void(APIENTRY *DrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); + GLsync(APIENTRY *FenceSync)(GLenum, GLbitfield); + void(APIENTRY *FramebufferTexture)(GLenum, GLenum, GLuint, GLint); + void(APIENTRY *GetBufferParameteri64v)(GLenum, GLenum, GLint64 *); + void(APIENTRY *GetInteger64i_v)(GLenum, GLuint, GLint64 *); + void(APIENTRY *GetInteger64v)(GLenum, GLint64 *); + void(APIENTRY *GetMultisamplefv)(GLenum, GLuint, GLfloat *); + void(APIENTRY *GetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *); + GLboolean(APIENTRY *IsSync)(GLsync); + void(APIENTRY *MultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei, const GLint *); + void(APIENTRY *ProvokingVertex)(GLenum); + void(APIENTRY *SampleMaski)(GLuint, GLbitfield); + void(APIENTRY *TexImage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); + void(APIENTRY *TexImage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); + void(APIENTRY *WaitSync)(GLsync, GLbitfield, GLuint64); + + /* GL_VERSION_3_3 */ + + void(APIENTRY *BindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *); + void(APIENTRY *BindSampler)(GLuint, GLuint); + void(APIENTRY *DeleteSamplers)(GLsizei, const GLuint *); + void(APIENTRY *GenSamplers)(GLsizei, GLuint *); + GLint(APIENTRY *GetFragDataIndex)(GLuint, const GLchar *); + void(APIENTRY *GetQueryObjecti64v)(GLuint, GLenum, GLint64 *); + void(APIENTRY *GetQueryObjectui64v)(GLuint, GLenum, GLuint64 *); + void(APIENTRY *GetSamplerParameterIiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetSamplerParameterfv)(GLuint, GLenum, GLfloat *); + void(APIENTRY *GetSamplerParameteriv)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsSampler)(GLuint); + void(APIENTRY *QueryCounter)(GLuint, GLenum); + void(APIENTRY *SamplerParameterIiv)(GLuint, GLenum, const GLint *); + void(APIENTRY *SamplerParameterIuiv)(GLuint, GLenum, const GLuint *); + void(APIENTRY *SamplerParameterf)(GLuint, GLenum, GLfloat); + void(APIENTRY *SamplerParameterfv)(GLuint, GLenum, const GLfloat *); + void(APIENTRY *SamplerParameteri)(GLuint, GLenum, GLint); + void(APIENTRY *SamplerParameteriv)(GLuint, GLenum, const GLint *); + void(APIENTRY *VertexAttribDivisor)(GLuint, GLuint); + void(APIENTRY *VertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *); + void(APIENTRY *VertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *); + void(APIENTRY *VertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *); + void(APIENTRY *VertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *); + + /* GL_VERSION_4_0 */ + + void(APIENTRY *BeginQueryIndexed)(GLenum, GLuint, GLuint); + void(APIENTRY *BindTransformFeedback)(GLenum, GLuint); + void(APIENTRY *BlendEquationSeparatei)(GLuint, GLenum, GLenum); + void(APIENTRY *BlendEquationi)(GLuint, GLenum); + void(APIENTRY *BlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BlendFunci)(GLuint, GLenum, GLenum); + void(APIENTRY *DeleteTransformFeedbacks)(GLsizei, const GLuint *); + void(APIENTRY *DrawArraysIndirect)(GLenum, const void *); + void(APIENTRY *DrawElementsIndirect)(GLenum, GLenum, const void *); + void(APIENTRY *DrawTransformFeedback)(GLenum, GLuint); + void(APIENTRY *DrawTransformFeedbackStream)(GLenum, GLuint, GLuint); + void(APIENTRY *EndQueryIndexed)(GLenum, GLuint); + void(APIENTRY *GenTransformFeedbacks)(GLsizei, GLuint *); + void(APIENTRY *GetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *); + void(APIENTRY *GetProgramStageiv)(GLuint, GLenum, GLenum, GLint *); + void(APIENTRY *GetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *); + GLuint(APIENTRY *GetSubroutineIndex)(GLuint, GLenum, const GLchar *); + GLint(APIENTRY *GetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *); + void(APIENTRY *GetUniformSubroutineuiv)(GLenum, GLint, GLuint *); + void(APIENTRY *GetUniformdv)(GLuint, GLint, GLdouble *); + GLboolean(APIENTRY *IsTransformFeedback)(GLuint); + void(APIENTRY *MinSampleShading)(GLfloat); + void(APIENTRY *PatchParameterfv)(GLenum, const GLfloat *); + void(APIENTRY *PatchParameteri)(GLenum, GLint); + void(APIENTRY *PauseTransformFeedback)(void); + void(APIENTRY *ResumeTransformFeedback)(void); + void(APIENTRY *Uniform1d)(GLint, GLdouble); + void(APIENTRY *Uniform1dv)(GLint, GLsizei, const GLdouble *); + void(APIENTRY *Uniform2d)(GLint, GLdouble, GLdouble); + void(APIENTRY *Uniform2dv)(GLint, GLsizei, const GLdouble *); + void(APIENTRY *Uniform3d)(GLint, GLdouble, GLdouble, GLdouble); + void(APIENTRY *Uniform3dv)(GLint, GLsizei, const GLdouble *); + void(APIENTRY *Uniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble); + void(APIENTRY *Uniform4dv)(GLint, GLsizei, const GLdouble *); + void(APIENTRY *UniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *UniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *); + + /* GL_VERSION_4_1 */ + + void(APIENTRY *ActiveShaderProgram)(GLuint, GLuint); + void(APIENTRY *BindProgramPipeline)(GLuint); + void(APIENTRY *ClearDepthf)(GLfloat); + GLuint(APIENTRY *CreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); + void(APIENTRY *DeleteProgramPipelines)(GLsizei, const GLuint *); + void(APIENTRY *DepthRangeArrayv)(GLuint, GLsizei, const GLdouble *); + void(APIENTRY *DepthRangeIndexed)(GLuint, GLdouble, GLdouble); + void(APIENTRY *DepthRangef)(GLfloat, GLfloat); + void(APIENTRY *GenProgramPipelines)(GLsizei, GLuint *); + void(APIENTRY *GetDoublei_v)(GLenum, GLuint, GLdouble *); + void(APIENTRY *GetFloati_v)(GLenum, GLuint, GLfloat *); + void(APIENTRY *GetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *); + void(APIENTRY *GetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramPipelineiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); + void(APIENTRY *GetVertexAttribLdv)(GLuint, GLenum, GLdouble *); + GLboolean(APIENTRY *IsProgramPipeline)(GLuint); + void(APIENTRY *ProgramBinary)(GLuint, GLenum, const void *, GLsizei); + void(APIENTRY *ProgramParameteri)(GLuint, GLenum, GLint); + void(APIENTRY *ProgramUniform1d)(GLuint, GLint, GLdouble); + void(APIENTRY *ProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *); + void(APIENTRY *ProgramUniform1f)(GLuint, GLint, GLfloat); + void(APIENTRY *ProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform1i)(GLuint, GLint, GLint); + void(APIENTRY *ProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform1ui)(GLuint, GLint, GLuint); + void(APIENTRY *ProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble); + void(APIENTRY *ProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *); + void(APIENTRY *ProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform2i)(GLuint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform2ui)(GLuint, GLint, GLuint, GLuint); + void(APIENTRY *ProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble); + void(APIENTRY *ProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *); + void(APIENTRY *ProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); + void(APIENTRY *ProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *); + void(APIENTRY *ProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); + void(APIENTRY *ProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ReleaseShaderCompiler)(void); + void(APIENTRY *ScissorArrayv)(GLuint, GLsizei, const GLint *); + void(APIENTRY *ScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *ScissorIndexedv)(GLuint, const GLint *); + void(APIENTRY *ShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); + void(APIENTRY *UseProgramStages)(GLuint, GLbitfield, GLuint); + void(APIENTRY *ValidateProgramPipeline)(GLuint); + void(APIENTRY *VertexAttribL1d)(GLuint, GLdouble); + void(APIENTRY *VertexAttribL1dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttribL2d)(GLuint, GLdouble, GLdouble); + void(APIENTRY *VertexAttribL2dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble); + void(APIENTRY *VertexAttribL3dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); + void(APIENTRY *VertexAttribL4dv)(GLuint, const GLdouble *); + void(APIENTRY *VertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const void *); + void(APIENTRY *ViewportArrayv)(GLuint, GLsizei, const GLfloat *); + void(APIENTRY *ViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ViewportIndexedfv)(GLuint, const GLfloat *); + + /* GL_VERSION_4_2 */ + + void(APIENTRY *BindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); + void(APIENTRY *DrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint); + void(APIENTRY *DrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint); + void(APIENTRY *DrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint); + void(APIENTRY *DrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei); + void(APIENTRY *DrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei); + void(APIENTRY *GetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *); + void(APIENTRY *GetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *); + void(APIENTRY *MemoryBarrier)(GLbitfield); + void(APIENTRY *TexStorage1D)(GLenum, GLsizei, GLenum, GLsizei); + void(APIENTRY *TexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *TexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); + + /* GL_VERSION_4_3 */ + + void(APIENTRY *BindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); + void(APIENTRY *ClearBufferData)(GLenum, GLenum, GLenum, GLenum, const void *); + void(APIENTRY *ClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *); + void(APIENTRY *CopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); + void(APIENTRY *DebugMessageCallback)(GLDEBUGPROC, const void *); + void(APIENTRY *DebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); + void(APIENTRY *DebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); + void(APIENTRY *DispatchCompute)(GLuint, GLuint, GLuint); + void(APIENTRY *DispatchComputeIndirect)(GLintptr); + void(APIENTRY *FramebufferParameteri)(GLenum, GLenum, GLint); + GLuint(APIENTRY *GetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); + void(APIENTRY *GetFramebufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetInternalformati64v)(GLenum, GLenum, GLenum, GLsizei, GLint64 *); + void(APIENTRY *GetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetPointerv)(GLenum, void **); + void(APIENTRY *GetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); + GLuint(APIENTRY *GetProgramResourceIndex)(GLuint, GLenum, const GLchar *); + GLint(APIENTRY *GetProgramResourceLocation)(GLuint, GLenum, const GLchar *); + GLint(APIENTRY *GetProgramResourceLocationIndex)(GLuint, GLenum, const GLchar *); + void(APIENTRY *GetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *); + void(APIENTRY *InvalidateBufferData)(GLuint); + void(APIENTRY *InvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *InvalidateFramebuffer)(GLenum, GLsizei, const GLenum *); + void(APIENTRY *InvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *InvalidateTexImage)(GLuint, GLint); + void(APIENTRY *InvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); + void(APIENTRY *MultiDrawArraysIndirect)(GLenum, const void *, GLsizei, GLsizei); + void(APIENTRY *MultiDrawElementsIndirect)(GLenum, GLenum, const void *, GLsizei, GLsizei); + void(APIENTRY *ObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ObjectPtrLabel)(const void *, GLsizei, const GLchar *); + void(APIENTRY *PopDebugGroup)(void); + void(APIENTRY *PushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ShaderStorageBlockBinding)(GLuint, GLuint, GLuint); + void(APIENTRY *TexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *TexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); + void(APIENTRY *TexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); + void(APIENTRY *TextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *VertexAttribBinding)(GLuint, GLuint); + void(APIENTRY *VertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexAttribIFormat)(GLuint, GLint, GLenum, GLuint); + void(APIENTRY *VertexAttribLFormat)(GLuint, GLint, GLenum, GLuint); + void(APIENTRY *VertexBindingDivisor)(GLuint, GLuint); + + /* GL_VERSION_4_4 */ + + void(APIENTRY *BindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *); + void(APIENTRY *BindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *); + void(APIENTRY *BindImageTextures)(GLuint, GLsizei, const GLuint *); + void(APIENTRY *BindSamplers)(GLuint, GLsizei, const GLuint *); + void(APIENTRY *BindTextures)(GLuint, GLsizei, const GLuint *); + void(APIENTRY *BindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *); + void(APIENTRY *BufferStorage)(GLenum, GLsizeiptr, const void *, GLbitfield); + void(APIENTRY *ClearTexImage)(GLuint, GLint, GLenum, GLenum, const void *); + void(APIENTRY *ClearTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); + + /* GL_VERSION_4_5 */ + + void(APIENTRY *BindTextureUnit)(GLuint, GLuint); + void(APIENTRY *BlitNamedFramebuffer)(GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); + GLenum(APIENTRY *CheckNamedFramebufferStatus)(GLuint, GLenum); + void(APIENTRY *ClearNamedBufferData)(GLuint, GLenum, GLenum, GLenum, const void *); + void(APIENTRY *ClearNamedBufferSubData)(GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *); + void(APIENTRY *ClearNamedFramebufferfi)(GLuint, GLenum, GLint, GLfloat, GLint); + void(APIENTRY *ClearNamedFramebufferfv)(GLuint, GLenum, GLint, const GLfloat *); + void(APIENTRY *ClearNamedFramebufferiv)(GLuint, GLenum, GLint, const GLint *); + void(APIENTRY *ClearNamedFramebufferuiv)(GLuint, GLenum, GLint, const GLuint *); + void(APIENTRY *ClipControl)(GLenum, GLenum); + void(APIENTRY *CompressedTextureSubImage1D)(GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CompressedTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CompressedTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CopyNamedBufferSubData)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr); + void(APIENTRY *CopyTextureSubImage1D)(GLuint, GLint, GLint, GLint, GLint, GLsizei); + void(APIENTRY *CopyTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *CopyTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *CreateBuffers)(GLsizei, GLuint *); + void(APIENTRY *CreateFramebuffers)(GLsizei, GLuint *); + void(APIENTRY *CreateProgramPipelines)(GLsizei, GLuint *); + void(APIENTRY *CreateQueries)(GLenum, GLsizei, GLuint *); + void(APIENTRY *CreateRenderbuffers)(GLsizei, GLuint *); + void(APIENTRY *CreateSamplers)(GLsizei, GLuint *); + void(APIENTRY *CreateTextures)(GLenum, GLsizei, GLuint *); + void(APIENTRY *CreateTransformFeedbacks)(GLsizei, GLuint *); + void(APIENTRY *CreateVertexArrays)(GLsizei, GLuint *); + void(APIENTRY *DisableVertexArrayAttrib)(GLuint, GLuint); + void(APIENTRY *EnableVertexArrayAttrib)(GLuint, GLuint); + void(APIENTRY *FlushMappedNamedBufferRange)(GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *GenerateTextureMipmap)(GLuint); + void(APIENTRY *GetCompressedTextureImage)(GLuint, GLint, GLsizei, void *); + void(APIENTRY *GetCompressedTextureSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void *); + GLenum(APIENTRY *GetGraphicsResetStatus)(void); + void(APIENTRY *GetNamedBufferParameteri64v)(GLuint, GLenum, GLint64 *); + void(APIENTRY *GetNamedBufferParameteriv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetNamedBufferPointerv)(GLuint, GLenum, void **); + void(APIENTRY *GetNamedBufferSubData)(GLuint, GLintptr, GLsizeiptr, void *); + void(APIENTRY *GetNamedFramebufferAttachmentParameteriv)(GLuint, GLenum, GLenum, GLint *); + void(APIENTRY *GetNamedFramebufferParameteriv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetNamedRenderbufferParameteriv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetQueryBufferObjecti64v)(GLuint, GLuint, GLenum, GLintptr); + void(APIENTRY *GetQueryBufferObjectiv)(GLuint, GLuint, GLenum, GLintptr); + void(APIENTRY *GetQueryBufferObjectui64v)(GLuint, GLuint, GLenum, GLintptr); + void(APIENTRY *GetQueryBufferObjectuiv)(GLuint, GLuint, GLenum, GLintptr); + void(APIENTRY *GetTextureImage)(GLuint, GLint, GLenum, GLenum, GLsizei, void *); + void(APIENTRY *GetTextureLevelParameterfv)(GLuint, GLint, GLenum, GLfloat *); + void(APIENTRY *GetTextureLevelParameteriv)(GLuint, GLint, GLenum, GLint *); + void(APIENTRY *GetTextureParameterIiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetTextureParameterIuiv)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetTextureParameterfv)(GLuint, GLenum, GLfloat *); + void(APIENTRY *GetTextureParameteriv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetTextureSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + void(APIENTRY *GetTransformFeedbacki64_v)(GLuint, GLenum, GLuint, GLint64 *); + void(APIENTRY *GetTransformFeedbacki_v)(GLuint, GLenum, GLuint, GLint *); + void(APIENTRY *GetTransformFeedbackiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetVertexArrayIndexed64iv)(GLuint, GLuint, GLenum, GLint64 *); + void(APIENTRY *GetVertexArrayIndexediv)(GLuint, GLuint, GLenum, GLint *); + void(APIENTRY *GetVertexArrayiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetnCompressedTexImage)(GLenum, GLint, GLsizei, void *); + void(APIENTRY *GetnTexImage)(GLenum, GLint, GLenum, GLenum, GLsizei, void *); + void(APIENTRY *GetnUniformdv)(GLuint, GLint, GLsizei, GLdouble *); + void(APIENTRY *GetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformiv)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *); + void(APIENTRY *InvalidateNamedFramebufferData)(GLuint, GLsizei, const GLenum *); + void(APIENTRY *InvalidateNamedFramebufferSubData)(GLuint, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei); + void *(APIENTRY *MapNamedBuffer)(GLuint, GLenum); + void *(APIENTRY *MapNamedBufferRange)(GLuint, GLintptr, GLsizeiptr, GLbitfield); + void(APIENTRY *MemoryBarrierByRegion)(GLbitfield); + void(APIENTRY *NamedBufferData)(GLuint, GLsizeiptr, const void *, GLenum); + void(APIENTRY *NamedBufferStorage)(GLuint, GLsizeiptr, const void *, GLbitfield); + void(APIENTRY *NamedBufferSubData)(GLuint, GLintptr, GLsizeiptr, const void *); + void(APIENTRY *NamedFramebufferDrawBuffer)(GLuint, GLenum); + void(APIENTRY *NamedFramebufferDrawBuffers)(GLuint, GLsizei, const GLenum *); + void(APIENTRY *NamedFramebufferParameteri)(GLuint, GLenum, GLint); + void(APIENTRY *NamedFramebufferReadBuffer)(GLuint, GLenum); + void(APIENTRY *NamedFramebufferRenderbuffer)(GLuint, GLenum, GLenum, GLuint); + void(APIENTRY *NamedFramebufferTexture)(GLuint, GLenum, GLuint, GLint); + void(APIENTRY *NamedFramebufferTextureLayer)(GLuint, GLenum, GLuint, GLint, GLint); + void(APIENTRY *NamedRenderbufferStorage)(GLuint, GLenum, GLsizei, GLsizei); + void(APIENTRY *NamedRenderbufferStorageMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *ReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + void(APIENTRY *TextureBarrier)(void); + void(APIENTRY *TextureBuffer)(GLuint, GLenum, GLuint); + void(APIENTRY *TextureBufferRange)(GLuint, GLenum, GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *TextureParameterIiv)(GLuint, GLenum, const GLint *); + void(APIENTRY *TextureParameterIuiv)(GLuint, GLenum, const GLuint *); + void(APIENTRY *TextureParameterf)(GLuint, GLenum, GLfloat); + void(APIENTRY *TextureParameterfv)(GLuint, GLenum, const GLfloat *); + void(APIENTRY *TextureParameteri)(GLuint, GLenum, GLint); + void(APIENTRY *TextureParameteriv)(GLuint, GLenum, const GLint *); + void(APIENTRY *TextureStorage1D)(GLuint, GLsizei, GLenum, GLsizei); + void(APIENTRY *TextureStorage2D)(GLuint, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *TextureStorage2DMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); + void(APIENTRY *TextureStorage3D)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); + void(APIENTRY *TextureStorage3DMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); + void(APIENTRY *TextureSubImage1D)(GLuint, GLint, GLint, GLsizei, GLenum, GLenum, const void *); + void(APIENTRY *TextureSubImage2D)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); + void(APIENTRY *TextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); + void(APIENTRY *TransformFeedbackBufferBase)(GLuint, GLuint, GLuint); + void(APIENTRY *TransformFeedbackBufferRange)(GLuint, GLuint, GLuint, GLintptr, GLsizeiptr); + GLboolean(APIENTRY *UnmapNamedBuffer)(GLuint); + void(APIENTRY *VertexArrayAttribBinding)(GLuint, GLuint, GLuint); + void(APIENTRY *VertexArrayAttribFormat)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexArrayAttribIFormat)(GLuint, GLuint, GLint, GLenum, GLuint); + void(APIENTRY *VertexArrayAttribLFormat)(GLuint, GLuint, GLint, GLenum, GLuint); + void(APIENTRY *VertexArrayBindingDivisor)(GLuint, GLuint, GLuint); + void(APIENTRY *VertexArrayElementBuffer)(GLuint, GLuint); + void(APIENTRY *VertexArrayVertexBuffer)(GLuint, GLuint, GLuint, GLintptr, GLsizei); + void(APIENTRY *VertexArrayVertexBuffers)(GLuint, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *); + + /* GL_VERSION_4_6 */ + + void(APIENTRY *MultiDrawArraysIndirectCount)(GLenum, const void *, GLintptr, GLsizei, GLsizei); + void(APIENTRY *MultiDrawElementsIndirectCount)(GLenum, GLenum, const void *, GLintptr, GLsizei, GLsizei); + void(APIENTRY *PolygonOffsetClamp)(GLfloat, GLfloat, GLfloat); + void(APIENTRY *SpecializeShader)(GLuint, const GLchar *, GLuint, const GLuint *, const GLuint *); +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; /* GL_ARB_ES3_2_compatibility */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxARB)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); -#define glPrimitiveBoundingBoxARB flextglPrimitiveBoundingBoxARB +#define glPrimitiveBoundingBoxARB flextGL.PrimitiveBoundingBoxARB /* GL_ARB_bindless_texture */ -GLAPI FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetImageHandleARB)(GLuint, GLint, GLboolean, GLint, GLenum); -#define glGetImageHandleARB flextglGetImageHandleARB -GLAPI FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetTextureHandleARB)(GLuint); -#define glGetTextureHandleARB flextglGetTextureHandleARB -GLAPI FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetTextureSamplerHandleARB)(GLuint, GLuint); -#define glGetTextureSamplerHandleARB flextglGetTextureSamplerHandleARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribLui64vARB)(GLuint, GLenum, GLuint64EXT *); -#define glGetVertexAttribLui64vARB flextglGetVertexAttribLui64vARB -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsImageHandleResidentARB)(GLuint64); -#define glIsImageHandleResidentARB flextglIsImageHandleResidentARB -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTextureHandleResidentARB)(GLuint64); -#define glIsTextureHandleResidentARB flextglIsTextureHandleResidentARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMakeImageHandleNonResidentARB)(GLuint64); -#define glMakeImageHandleNonResidentARB flextglMakeImageHandleNonResidentARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMakeImageHandleResidentARB)(GLuint64, GLenum); -#define glMakeImageHandleResidentARB flextglMakeImageHandleResidentARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMakeTextureHandleNonResidentARB)(GLuint64); -#define glMakeTextureHandleNonResidentARB flextglMakeTextureHandleNonResidentARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMakeTextureHandleResidentARB)(GLuint64); -#define glMakeTextureHandleResidentARB flextglMakeTextureHandleResidentARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformHandleui64ARB)(GLuint, GLint, GLuint64); -#define glProgramUniformHandleui64ARB flextglProgramUniformHandleui64ARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformHandleui64vARB)(GLuint, GLint, GLsizei, const GLuint64 *); -#define glProgramUniformHandleui64vARB flextglProgramUniformHandleui64vARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformHandleui64ARB)(GLint, GLuint64); -#define glUniformHandleui64ARB flextglUniformHandleui64ARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformHandleui64vARB)(GLint, GLsizei, const GLuint64 *); -#define glUniformHandleui64vARB flextglUniformHandleui64vARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1ui64ARB)(GLuint, GLuint64EXT); -#define glVertexAttribL1ui64ARB flextglVertexAttribL1ui64ARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1ui64vARB)(GLuint, const GLuint64EXT *); -#define glVertexAttribL1ui64vARB flextglVertexAttribL1ui64vARB +#define glGetImageHandleARB flextGL.GetImageHandleARB +#define glGetTextureHandleARB flextGL.GetTextureHandleARB +#define glGetTextureSamplerHandleARB flextGL.GetTextureSamplerHandleARB +#define glGetVertexAttribLui64vARB flextGL.GetVertexAttribLui64vARB +#define glIsImageHandleResidentARB flextGL.IsImageHandleResidentARB +#define glIsTextureHandleResidentARB flextGL.IsTextureHandleResidentARB +#define glMakeImageHandleNonResidentARB flextGL.MakeImageHandleNonResidentARB +#define glMakeImageHandleResidentARB flextGL.MakeImageHandleResidentARB +#define glMakeTextureHandleNonResidentARB flextGL.MakeTextureHandleNonResidentARB +#define glMakeTextureHandleResidentARB flextGL.MakeTextureHandleResidentARB +#define glProgramUniformHandleui64ARB flextGL.ProgramUniformHandleui64ARB +#define glProgramUniformHandleui64vARB flextGL.ProgramUniformHandleui64vARB +#define glUniformHandleui64ARB flextGL.UniformHandleui64ARB +#define glUniformHandleui64vARB flextGL.UniformHandleui64vARB +#define glVertexAttribL1ui64ARB flextGL.VertexAttribL1ui64ARB +#define glVertexAttribL1ui64vARB flextGL.VertexAttribL1ui64vARB /* GL_ARB_compute_variable_group_size */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeGroupSizeARB)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint); -#define glDispatchComputeGroupSizeARB flextglDispatchComputeGroupSizeARB +#define glDispatchComputeGroupSizeARB flextGL.DispatchComputeGroupSizeARB /* GL_ARB_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusARB)(void); -#define glGetGraphicsResetStatusARB flextglGetGraphicsResetStatusARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *); -#define glGetnCompressedTexImageARB flextglGetnCompressedTexImageARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, void *); -#define glGetnTexImageARB flextglGetnTexImageARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *); -#define glGetnUniformdvARB flextglGetnUniformdvARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvARB)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvARB flextglGetnUniformfvARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivARB)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivARB flextglGetnUniformivARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivARB)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuivARB flextglGetnUniformuivARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsARB flextglReadnPixelsARB +#define glGetGraphicsResetStatusARB flextGL.GetGraphicsResetStatusARB +#define glGetnCompressedTexImageARB flextGL.GetnCompressedTexImageARB +#define glGetnTexImageARB flextGL.GetnTexImageARB +#define glGetnUniformdvARB flextGL.GetnUniformdvARB +#define glGetnUniformfvARB flextGL.GetnUniformfvARB +#define glGetnUniformivARB flextGL.GetnUniformivARB +#define glGetnUniformuivARB flextGL.GetnUniformuivARB +#define glReadnPixelsARB flextGL.ReadnPixelsARB /* GL_ARB_sample_locations */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEvaluateDepthValuesARB)(void); -#define glEvaluateDepthValuesARB flextglEvaluateDepthValuesARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferSampleLocationsfvARB)(GLenum, GLuint, GLsizei, const GLfloat *); -#define glFramebufferSampleLocationsfvARB flextglFramebufferSampleLocationsfvARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferSampleLocationsfvARB)(GLuint, GLuint, GLsizei, const GLfloat *); -#define glNamedFramebufferSampleLocationsfvARB flextglNamedFramebufferSampleLocationsfvARB +#define glEvaluateDepthValuesARB flextGL.EvaluateDepthValuesARB +#define glFramebufferSampleLocationsfvARB flextGL.FramebufferSampleLocationsfvARB +#define glNamedFramebufferSampleLocationsfvARB flextGL.NamedFramebufferSampleLocationsfvARB /* GL_ARB_sparse_buffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferPageCommitmentARB)(GLenum, GLintptr, GLsizeiptr, GLboolean); -#define glBufferPageCommitmentARB flextglBufferPageCommitmentARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferPageCommitmentARB)(GLuint, GLintptr, GLsizeiptr, GLboolean); -#define glNamedBufferPageCommitmentARB flextglNamedBufferPageCommitmentARB -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferPageCommitmentEXT)(GLuint, GLintptr, GLsizeiptr, GLboolean); -#define glNamedBufferPageCommitmentEXT flextglNamedBufferPageCommitmentEXT +#define glBufferPageCommitmentARB flextGL.BufferPageCommitmentARB +#define glNamedBufferPageCommitmentARB flextGL.NamedBufferPageCommitmentARB +#define glNamedBufferPageCommitmentEXT flextGL.NamedBufferPageCommitmentEXT /* GL_ARB_sparse_texture */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexPageCommitmentARB)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexPageCommitmentARB flextglTexPageCommitmentARB +#define glTexPageCommitmentARB flextGL.TexPageCommitmentARB /* GL_EXT_debug_label */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelEXT flextglGetObjectLabelEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); -#define glLabelObjectEXT flextglLabelObjectEXT +#define glGetObjectLabelEXT flextGL.GetObjectLabelEXT +#define glLabelObjectEXT flextGL.LabelObjectEXT /* GL_EXT_debug_marker */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *); -#define glInsertEventMarkerEXT flextglInsertEventMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void); -#define glPopGroupMarkerEXT flextglPopGroupMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *); -#define glPushGroupMarkerEXT flextglPushGroupMarkerEXT +#define glInsertEventMarkerEXT flextGL.InsertEventMarkerEXT +#define glPopGroupMarkerEXT flextGL.PopGroupMarkerEXT +#define glPushGroupMarkerEXT flextGL.PushGroupMarkerEXT /* GL_GREMEDY_string_marker */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStringMarkerGREMEDY)(GLsizei, const void *); -#define glStringMarkerGREMEDY flextglStringMarkerGREMEDY +#define glStringMarkerGREMEDY flextGL.StringMarkerGREMEDY /* GL_KHR_blend_equation_advanced */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void); -#define glBlendBarrierKHR flextglBlendBarrierKHR +#define glBlendBarrierKHR flextGL.BlendBarrierKHR /* GL_OVR_multiview */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei); -#define glFramebufferTextureMultiviewOVR flextglFramebufferTextureMultiviewOVR +#define glFramebufferTextureMultiviewOVR flextGL.FramebufferTextureMultiviewOVR /* GL_VERSION_1_0 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunc)(GLenum, GLenum); -#define glBlendFunc flextglBlendFunc -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClear)(GLbitfield); -#define glClear flextglClear -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearColor)(GLfloat, GLfloat, GLfloat, GLfloat); -#define glClearColor flextglClearColor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearDepth)(GLdouble); -#define glClearDepth flextglClearDepth -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearStencil)(GLint); -#define glClearStencil flextglClearStencil -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMask)(GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMask flextglColorMask -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCullFace)(GLenum); -#define glCullFace flextglCullFace -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthFunc)(GLenum); -#define glDepthFunc flextglDepthFunc -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthMask)(GLboolean); -#define glDepthMask flextglDepthMask -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthRange)(GLdouble, GLdouble); -#define glDepthRange flextglDepthRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisable)(GLenum); -#define glDisable flextglDisable -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffer)(GLenum); -#define glDrawBuffer flextglDrawBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnable)(GLenum); -#define glEnable flextglEnable -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFinish)(void); -#define glFinish flextglFinish -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlush)(void); -#define glFlush flextglFlush -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFrontFace)(GLenum); -#define glFrontFace flextglFrontFace -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleanv)(GLenum, GLboolean *); -#define glGetBooleanv flextglGetBooleanv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublev)(GLenum, GLdouble *); -#define glGetDoublev flextglGetDoublev -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetError)(void); -#define glGetError flextglGetError -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFloatv)(GLenum, GLfloat *); -#define glGetFloatv flextglGetFloatv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegerv)(GLenum, GLint *); -#define glGetIntegerv flextglGetIntegerv -GLAPI FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetString)(GLenum); -#define glGetString flextglGetString -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexImage)(GLenum, GLint, GLenum, GLenum, void *); -#define glGetTexImage flextglGetTexImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *); -#define glGetTexLevelParameterfv flextglGetTexLevelParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *); -#define glGetTexLevelParameteriv flextglGetTexLevelParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterfv)(GLenum, GLenum, GLfloat *); -#define glGetTexParameterfv flextglGetTexParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameteriv)(GLenum, GLenum, GLint *); -#define glGetTexParameteriv flextglGetTexParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglHint)(GLenum, GLenum); -#define glHint flextglHint -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabled)(GLenum); -#define glIsEnabled flextglIsEnabled -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLineWidth)(GLfloat); -#define glLineWidth flextglLineWidth -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLogicOp)(GLenum); -#define glLogicOp flextglLogicOp -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPixelStoref)(GLenum, GLfloat); -#define glPixelStoref flextglPixelStoref -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPixelStorei)(GLenum, GLint); -#define glPixelStorei flextglPixelStorei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPointSize)(GLfloat); -#define glPointSize flextglPointSize -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonMode)(GLenum, GLenum); -#define glPolygonMode flextglPolygonMode -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadBuffer)(GLenum); -#define glReadBuffer flextglReadBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); -#define glReadPixels flextglReadPixels -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglScissor)(GLint, GLint, GLsizei, GLsizei); -#define glScissor flextglScissor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilFunc)(GLenum, GLint, GLuint); -#define glStencilFunc flextglStencilFunc -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilMask)(GLuint); -#define glStencilMask flextglStencilMask -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilOp)(GLenum, GLenum, GLenum); -#define glStencilOp flextglStencilOp -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage1D flextglTexImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage2D flextglTexImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterf)(GLenum, GLenum, GLfloat); -#define glTexParameterf flextglTexParameterf -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterfv)(GLenum, GLenum, const GLfloat *); -#define glTexParameterfv flextglTexParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameteri)(GLenum, GLenum, GLint); -#define glTexParameteri flextglTexParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameteriv)(GLenum, GLenum, const GLint *); -#define glTexParameteriv flextglTexParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglViewport)(GLint, GLint, GLsizei, GLsizei); -#define glViewport flextglViewport +#define glBlendFunc flextGL.BlendFunc +#define glClear flextGL.Clear +#define glClearColor flextGL.ClearColor +#define glClearDepth flextGL.ClearDepth +#define glClearStencil flextGL.ClearStencil +#define glColorMask flextGL.ColorMask +#define glCullFace flextGL.CullFace +#define glDepthFunc flextGL.DepthFunc +#define glDepthMask flextGL.DepthMask +#define glDepthRange flextGL.DepthRange +#define glDisable flextGL.Disable +#define glDrawBuffer flextGL.DrawBuffer +#define glEnable flextGL.Enable +#define glFinish flextGL.Finish +#define glFlush flextGL.Flush +#define glFrontFace flextGL.FrontFace +#define glGetBooleanv flextGL.GetBooleanv +#define glGetDoublev flextGL.GetDoublev +#define glGetError flextGL.GetError +#define glGetFloatv flextGL.GetFloatv +#define glGetIntegerv flextGL.GetIntegerv +#define glGetString flextGL.GetString +#define glGetTexImage flextGL.GetTexImage +#define glGetTexLevelParameterfv flextGL.GetTexLevelParameterfv +#define glGetTexLevelParameteriv flextGL.GetTexLevelParameteriv +#define glGetTexParameterfv flextGL.GetTexParameterfv +#define glGetTexParameteriv flextGL.GetTexParameteriv +#define glHint flextGL.Hint +#define glIsEnabled flextGL.IsEnabled +#define glLineWidth flextGL.LineWidth +#define glLogicOp flextGL.LogicOp +#define glPixelStoref flextGL.PixelStoref +#define glPixelStorei flextGL.PixelStorei +#define glPointSize flextGL.PointSize +#define glPolygonMode flextGL.PolygonMode +#define glReadBuffer flextGL.ReadBuffer +#define glReadPixels flextGL.ReadPixels +#define glScissor flextGL.Scissor +#define glStencilFunc flextGL.StencilFunc +#define glStencilMask flextGL.StencilMask +#define glStencilOp flextGL.StencilOp +#define glTexImage1D flextGL.TexImage1D +#define glTexImage2D flextGL.TexImage2D +#define glTexParameterf flextGL.TexParameterf +#define glTexParameterfv flextGL.TexParameterfv +#define glTexParameteri flextGL.TexParameteri +#define glTexParameteriv flextGL.TexParameteriv +#define glViewport flextGL.Viewport /* GL_VERSION_1_1 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindTexture)(GLenum, GLuint); -#define glBindTexture flextglBindTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); -#define glCopyTexImage1D flextglCopyTexImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); -#define glCopyTexImage2D flextglCopyTexImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei); -#define glCopyTexSubImage1D flextglCopyTexSubImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTexSubImage2D flextglCopyTexSubImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTextures)(GLsizei, const GLuint *); -#define glDeleteTextures flextglDeleteTextures -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArrays)(GLenum, GLint, GLsizei); -#define glDrawArrays flextglDrawArrays -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElements)(GLenum, GLsizei, GLenum, const void *); -#define glDrawElements flextglDrawElements -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenTextures)(GLsizei, GLuint *); -#define glGenTextures flextglGenTextures -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTexture)(GLuint); -#define glIsTexture flextglIsTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffset)(GLfloat, GLfloat); -#define glPolygonOffset flextglPolygonOffset -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage1D flextglTexSubImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage2D flextglTexSubImage2D +#define glBindTexture flextGL.BindTexture +#define glCopyTexImage1D flextGL.CopyTexImage1D +#define glCopyTexImage2D flextGL.CopyTexImage2D +#define glCopyTexSubImage1D flextGL.CopyTexSubImage1D +#define glCopyTexSubImage2D flextGL.CopyTexSubImage2D +#define glDeleteTextures flextGL.DeleteTextures +#define glDrawArrays flextGL.DrawArrays +#define glDrawElements flextGL.DrawElements +#define glGenTextures flextGL.GenTextures +#define glIsTexture flextGL.IsTexture +#define glPolygonOffset flextGL.PolygonOffset +#define glTexSubImage1D flextGL.TexSubImage1D +#define glTexSubImage2D flextGL.TexSubImage2D /* GL_VERSION_1_2 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTexSubImage3D flextglCopyTexSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *); -#define glDrawRangeElements flextglDrawRangeElements -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage3D flextglTexImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage3D flextglTexSubImage3D +#define glCopyTexSubImage3D flextGL.CopyTexSubImage3D +#define glDrawRangeElements flextGL.DrawRangeElements +#define glTexImage3D flextGL.TexImage3D +#define glTexSubImage3D flextGL.TexSubImage3D /* GL_VERSION_1_3 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum); -#define glActiveTexture flextglActiveTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage1D flextglCompressedTexImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage2D flextglCompressedTexImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage3D flextglCompressedTexImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage1D flextglCompressedTexSubImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage2D flextglCompressedTexSubImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage3D flextglCompressedTexSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTexImage)(GLenum, GLint, void *); -#define glGetCompressedTexImage flextglGetCompressedTexImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean); -#define glSampleCoverage flextglSampleCoverage +#define glActiveTexture flextGL.ActiveTexture +#define glCompressedTexImage1D flextGL.CompressedTexImage1D +#define glCompressedTexImage2D flextGL.CompressedTexImage2D +#define glCompressedTexImage3D flextGL.CompressedTexImage3D +#define glCompressedTexSubImage1D flextGL.CompressedTexSubImage1D +#define glCompressedTexSubImage2D flextGL.CompressedTexSubImage2D +#define glCompressedTexSubImage3D flextGL.CompressedTexSubImage3D +#define glGetCompressedTexImage flextGL.GetCompressedTexImage +#define glSampleCoverage flextGL.SampleCoverage /* GL_VERSION_1_4 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); -#define glBlendColor flextglBlendColor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum); -#define glBlendEquation flextglBlendEquation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparate flextglBlendFuncSeparate -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei); -#define glMultiDrawArrays flextglMultiDrawArrays -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElements)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); -#define glMultiDrawElements flextglMultiDrawElements -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPointParameterf)(GLenum, GLfloat); -#define glPointParameterf flextglPointParameterf -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPointParameterfv)(GLenum, const GLfloat *); -#define glPointParameterfv flextglPointParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPointParameteri)(GLenum, GLint); -#define glPointParameteri flextglPointParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPointParameteriv)(GLenum, const GLint *); -#define glPointParameteriv flextglPointParameteriv +#define glBlendColor flextGL.BlendColor +#define glBlendEquation flextGL.BlendEquation +#define glBlendFuncSeparate flextGL.BlendFuncSeparate +#define glMultiDrawArrays flextGL.MultiDrawArrays +#define glMultiDrawElements flextGL.MultiDrawElements +#define glPointParameterf flextGL.PointParameterf +#define glPointParameterfv flextGL.PointParameterfv +#define glPointParameteri flextGL.PointParameteri +#define glPointParameteriv flextGL.PointParameteriv /* GL_VERSION_1_5 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQuery)(GLenum, GLuint); -#define glBeginQuery flextglBeginQuery -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffer)(GLenum, GLuint); -#define glBindBuffer flextglBindBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferData)(GLenum, GLsizeiptr, const void *, GLenum); -#define glBufferData flextglBufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *); -#define glBufferSubData flextglBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *); -#define glDeleteBuffers flextglDeleteBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueries)(GLsizei, const GLuint *); -#define glDeleteQueries flextglDeleteQueries -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQuery)(GLenum); -#define glEndQuery flextglEndQuery -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *); -#define glGenBuffers flextglGenBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenQueries)(GLsizei, GLuint *); -#define glGenQueries flextglGenQueries -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetBufferParameteriv flextglGetBufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointerv)(GLenum, GLenum, void **); -#define glGetBufferPointerv flextglGetBufferPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, void *); -#define glGetBufferSubData flextglGetBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectiv)(GLuint, GLenum, GLint *); -#define glGetQueryObjectiv flextglGetQueryObjectiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuiv)(GLuint, GLenum, GLuint *); -#define glGetQueryObjectuiv flextglGetQueryObjectuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryiv)(GLenum, GLenum, GLint *); -#define glGetQueryiv flextglGetQueryiv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(GLuint); -#define glIsBuffer flextglIsBuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQuery)(GLuint); -#define glIsQuery flextglIsQuery -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBuffer)(GLenum, GLenum); -#define glMapBuffer flextglMapBuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBuffer)(GLenum); -#define glUnmapBuffer flextglUnmapBuffer +#define glBeginQuery flextGL.BeginQuery +#define glBindBuffer flextGL.BindBuffer +#define glBufferData flextGL.BufferData +#define glBufferSubData flextGL.BufferSubData +#define glDeleteBuffers flextGL.DeleteBuffers +#define glDeleteQueries flextGL.DeleteQueries +#define glEndQuery flextGL.EndQuery +#define glGenBuffers flextGL.GenBuffers +#define glGenQueries flextGL.GenQueries +#define glGetBufferParameteriv flextGL.GetBufferParameteriv +#define glGetBufferPointerv flextGL.GetBufferPointerv +#define glGetBufferSubData flextGL.GetBufferSubData +#define glGetQueryObjectiv flextGL.GetQueryObjectiv +#define glGetQueryObjectuiv flextGL.GetQueryObjectuiv +#define glGetQueryiv flextGL.GetQueryiv +#define glIsBuffer flextGL.IsBuffer +#define glIsQuery flextGL.IsQuery +#define glMapBuffer flextGL.MapBuffer +#define glUnmapBuffer flextGL.UnmapBuffer /* GL_VERSION_2_0 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglAttachShader)(GLuint, GLuint); -#define glAttachShader flextglAttachShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *); -#define glBindAttribLocation flextglBindAttribLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum); -#define glBlendEquationSeparate flextglBlendEquationSeparate -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompileShader)(GLuint); -#define glCompileShader flextglCompileShader -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateProgram)(void); -#define glCreateProgram flextglCreateProgram -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShader)(GLenum); -#define glCreateShader flextglCreateShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgram)(GLuint); -#define glDeleteProgram flextglDeleteProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteShader)(GLuint); -#define glDeleteShader flextglDeleteShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDetachShader)(GLuint, GLuint); -#define glDetachShader flextglDetachShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexAttribArray)(GLuint); -#define glDisableVertexAttribArray flextglDisableVertexAttribArray -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffers)(GLsizei, const GLenum *); -#define glDrawBuffers flextglDrawBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexAttribArray)(GLuint); -#define glEnableVertexAttribArray flextglEnableVertexAttribArray -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveAttrib flextglGetActiveAttrib -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveUniform flextglGetActiveUniform -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *); -#define glGetAttachedShaders flextglGetAttachedShaders -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetAttribLocation)(GLuint, const GLchar *); -#define glGetAttribLocation flextglGetAttribLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramInfoLog flextglGetProgramInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramiv)(GLuint, GLenum, GLint *); -#define glGetProgramiv flextglGetProgramiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderInfoLog flextglGetShaderInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderSource flextglGetShaderSource -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(GLuint, GLenum, GLint *); -#define glGetShaderiv flextglGetShaderiv -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetUniformLocation)(GLuint, const GLchar *); -#define glGetUniformLocation flextglGetUniformLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformfv)(GLuint, GLint, GLfloat *); -#define glGetUniformfv flextglGetUniformfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformiv)(GLuint, GLint, GLint *); -#define glGetUniformiv flextglGetUniformiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **); -#define glGetVertexAttribPointerv flextglGetVertexAttribPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribdv)(GLuint, GLenum, GLdouble *); -#define glGetVertexAttribdv flextglGetVertexAttribdv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribfv)(GLuint, GLenum, GLfloat *); -#define glGetVertexAttribfv flextglGetVertexAttribfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribiv)(GLuint, GLenum, GLint *); -#define glGetVertexAttribiv flextglGetVertexAttribiv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgram)(GLuint); -#define glIsProgram flextglIsProgram -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsShader)(GLuint); -#define glIsShader flextglIsShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLinkProgram)(GLuint); -#define glLinkProgram flextglLinkProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *); -#define glShaderSource flextglShaderSource -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); -#define glStencilFuncSeparate flextglStencilFuncSeparate -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilMaskSeparate)(GLenum, GLuint); -#define glStencilMaskSeparate flextglStencilMaskSeparate -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glStencilOpSeparate flextglStencilOpSeparate -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat); -#define glUniform1f flextglUniform1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *); -#define glUniform1fv flextglUniform1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint); -#define glUniform1i flextglUniform1i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *); -#define glUniform1iv flextglUniform1iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat); -#define glUniform2f flextglUniform2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *); -#define glUniform2fv flextglUniform2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint); -#define glUniform2i flextglUniform2i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *); -#define glUniform2iv flextglUniform2iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat); -#define glUniform3f flextglUniform3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *); -#define glUniform3fv flextglUniform3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint); -#define glUniform3i flextglUniform3i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const GLint *); -#define glUniform3iv flextglUniform3iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glUniform4f flextglUniform4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *); -#define glUniform4fv flextglUniform4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint); -#define glUniform4i flextglUniform4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4iv)(GLint, GLsizei, const GLint *); -#define glUniform4iv flextglUniform4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2fv flextglUniformMatrix2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3fv flextglUniformMatrix3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4fv flextglUniformMatrix4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgram)(GLuint); -#define glUseProgram flextglUseProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgram)(GLuint); -#define glValidateProgram flextglValidateProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1d)(GLuint, GLdouble); -#define glVertexAttrib1d flextglVertexAttrib1d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1dv)(GLuint, const GLdouble *); -#define glVertexAttrib1dv flextglVertexAttrib1dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1f)(GLuint, GLfloat); -#define glVertexAttrib1f flextglVertexAttrib1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1fv)(GLuint, const GLfloat *); -#define glVertexAttrib1fv flextglVertexAttrib1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1s)(GLuint, GLshort); -#define glVertexAttrib1s flextglVertexAttrib1s -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1sv)(GLuint, const GLshort *); -#define glVertexAttrib1sv flextglVertexAttrib1sv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2d)(GLuint, GLdouble, GLdouble); -#define glVertexAttrib2d flextglVertexAttrib2d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2dv)(GLuint, const GLdouble *); -#define glVertexAttrib2dv flextglVertexAttrib2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2f)(GLuint, GLfloat, GLfloat); -#define glVertexAttrib2f flextglVertexAttrib2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2fv)(GLuint, const GLfloat *); -#define glVertexAttrib2fv flextglVertexAttrib2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2s)(GLuint, GLshort, GLshort); -#define glVertexAttrib2s flextglVertexAttrib2s -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2sv)(GLuint, const GLshort *); -#define glVertexAttrib2sv flextglVertexAttrib2sv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble); -#define glVertexAttrib3d flextglVertexAttrib3d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3dv)(GLuint, const GLdouble *); -#define glVertexAttrib3dv flextglVertexAttrib3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib3f flextglVertexAttrib3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3fv)(GLuint, const GLfloat *); -#define glVertexAttrib3fv flextglVertexAttrib3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort); -#define glVertexAttrib3s flextglVertexAttrib3s -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3sv)(GLuint, const GLshort *); -#define glVertexAttrib3sv flextglVertexAttrib3sv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nbv)(GLuint, const GLbyte *); -#define glVertexAttrib4Nbv flextglVertexAttrib4Nbv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Niv)(GLuint, const GLint *); -#define glVertexAttrib4Niv flextglVertexAttrib4Niv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nsv)(GLuint, const GLshort *); -#define glVertexAttrib4Nsv flextglVertexAttrib4Nsv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte); -#define glVertexAttrib4Nub flextglVertexAttrib4Nub -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nubv)(GLuint, const GLubyte *); -#define glVertexAttrib4Nubv flextglVertexAttrib4Nubv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nuiv)(GLuint, const GLuint *); -#define glVertexAttrib4Nuiv flextglVertexAttrib4Nuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4Nusv)(GLuint, const GLushort *); -#define glVertexAttrib4Nusv flextglVertexAttrib4Nusv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4bv)(GLuint, const GLbyte *); -#define glVertexAttrib4bv flextglVertexAttrib4bv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glVertexAttrib4d flextglVertexAttrib4d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4dv)(GLuint, const GLdouble *); -#define glVertexAttrib4dv flextglVertexAttrib4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib4f flextglVertexAttrib4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4fv)(GLuint, const GLfloat *); -#define glVertexAttrib4fv flextglVertexAttrib4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4iv)(GLuint, const GLint *); -#define glVertexAttrib4iv flextglVertexAttrib4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort); -#define glVertexAttrib4s flextglVertexAttrib4s -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4sv)(GLuint, const GLshort *); -#define glVertexAttrib4sv flextglVertexAttrib4sv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4ubv)(GLuint, const GLubyte *); -#define glVertexAttrib4ubv flextglVertexAttrib4ubv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4uiv)(GLuint, const GLuint *); -#define glVertexAttrib4uiv flextglVertexAttrib4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4usv)(GLuint, const GLushort *); -#define glVertexAttrib4usv flextglVertexAttrib4usv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); -#define glVertexAttribPointer flextglVertexAttribPointer +#define glAttachShader flextGL.AttachShader +#define glBindAttribLocation flextGL.BindAttribLocation +#define glBlendEquationSeparate flextGL.BlendEquationSeparate +#define glCompileShader flextGL.CompileShader +#define glCreateProgram flextGL.CreateProgram +#define glCreateShader flextGL.CreateShader +#define glDeleteProgram flextGL.DeleteProgram +#define glDeleteShader flextGL.DeleteShader +#define glDetachShader flextGL.DetachShader +#define glDisableVertexAttribArray flextGL.DisableVertexAttribArray +#define glDrawBuffers flextGL.DrawBuffers +#define glEnableVertexAttribArray flextGL.EnableVertexAttribArray +#define glGetActiveAttrib flextGL.GetActiveAttrib +#define glGetActiveUniform flextGL.GetActiveUniform +#define glGetAttachedShaders flextGL.GetAttachedShaders +#define glGetAttribLocation flextGL.GetAttribLocation +#define glGetProgramInfoLog flextGL.GetProgramInfoLog +#define glGetProgramiv flextGL.GetProgramiv +#define glGetShaderInfoLog flextGL.GetShaderInfoLog +#define glGetShaderSource flextGL.GetShaderSource +#define glGetShaderiv flextGL.GetShaderiv +#define glGetUniformLocation flextGL.GetUniformLocation +#define glGetUniformfv flextGL.GetUniformfv +#define glGetUniformiv flextGL.GetUniformiv +#define glGetVertexAttribPointerv flextGL.GetVertexAttribPointerv +#define glGetVertexAttribdv flextGL.GetVertexAttribdv +#define glGetVertexAttribfv flextGL.GetVertexAttribfv +#define glGetVertexAttribiv flextGL.GetVertexAttribiv +#define glIsProgram flextGL.IsProgram +#define glIsShader flextGL.IsShader +#define glLinkProgram flextGL.LinkProgram +#define glShaderSource flextGL.ShaderSource +#define glStencilFuncSeparate flextGL.StencilFuncSeparate +#define glStencilMaskSeparate flextGL.StencilMaskSeparate +#define glStencilOpSeparate flextGL.StencilOpSeparate +#define glUniform1f flextGL.Uniform1f +#define glUniform1fv flextGL.Uniform1fv +#define glUniform1i flextGL.Uniform1i +#define glUniform1iv flextGL.Uniform1iv +#define glUniform2f flextGL.Uniform2f +#define glUniform2fv flextGL.Uniform2fv +#define glUniform2i flextGL.Uniform2i +#define glUniform2iv flextGL.Uniform2iv +#define glUniform3f flextGL.Uniform3f +#define glUniform3fv flextGL.Uniform3fv +#define glUniform3i flextGL.Uniform3i +#define glUniform3iv flextGL.Uniform3iv +#define glUniform4f flextGL.Uniform4f +#define glUniform4fv flextGL.Uniform4fv +#define glUniform4i flextGL.Uniform4i +#define glUniform4iv flextGL.Uniform4iv +#define glUniformMatrix2fv flextGL.UniformMatrix2fv +#define glUniformMatrix3fv flextGL.UniformMatrix3fv +#define glUniformMatrix4fv flextGL.UniformMatrix4fv +#define glUseProgram flextGL.UseProgram +#define glValidateProgram flextGL.ValidateProgram +#define glVertexAttrib1d flextGL.VertexAttrib1d +#define glVertexAttrib1dv flextGL.VertexAttrib1dv +#define glVertexAttrib1f flextGL.VertexAttrib1f +#define glVertexAttrib1fv flextGL.VertexAttrib1fv +#define glVertexAttrib1s flextGL.VertexAttrib1s +#define glVertexAttrib1sv flextGL.VertexAttrib1sv +#define glVertexAttrib2d flextGL.VertexAttrib2d +#define glVertexAttrib2dv flextGL.VertexAttrib2dv +#define glVertexAttrib2f flextGL.VertexAttrib2f +#define glVertexAttrib2fv flextGL.VertexAttrib2fv +#define glVertexAttrib2s flextGL.VertexAttrib2s +#define glVertexAttrib2sv flextGL.VertexAttrib2sv +#define glVertexAttrib3d flextGL.VertexAttrib3d +#define glVertexAttrib3dv flextGL.VertexAttrib3dv +#define glVertexAttrib3f flextGL.VertexAttrib3f +#define glVertexAttrib3fv flextGL.VertexAttrib3fv +#define glVertexAttrib3s flextGL.VertexAttrib3s +#define glVertexAttrib3sv flextGL.VertexAttrib3sv +#define glVertexAttrib4Nbv flextGL.VertexAttrib4Nbv +#define glVertexAttrib4Niv flextGL.VertexAttrib4Niv +#define glVertexAttrib4Nsv flextGL.VertexAttrib4Nsv +#define glVertexAttrib4Nub flextGL.VertexAttrib4Nub +#define glVertexAttrib4Nubv flextGL.VertexAttrib4Nubv +#define glVertexAttrib4Nuiv flextGL.VertexAttrib4Nuiv +#define glVertexAttrib4Nusv flextGL.VertexAttrib4Nusv +#define glVertexAttrib4bv flextGL.VertexAttrib4bv +#define glVertexAttrib4d flextGL.VertexAttrib4d +#define glVertexAttrib4dv flextGL.VertexAttrib4dv +#define glVertexAttrib4f flextGL.VertexAttrib4f +#define glVertexAttrib4fv flextGL.VertexAttrib4fv +#define glVertexAttrib4iv flextGL.VertexAttrib4iv +#define glVertexAttrib4s flextGL.VertexAttrib4s +#define glVertexAttrib4sv flextGL.VertexAttrib4sv +#define glVertexAttrib4ubv flextGL.VertexAttrib4ubv +#define glVertexAttrib4uiv flextGL.VertexAttrib4uiv +#define glVertexAttrib4usv flextGL.VertexAttrib4usv +#define glVertexAttribPointer flextGL.VertexAttribPointer /* GL_VERSION_2_1 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2x3fv flextglUniformMatrix2x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2x4fv flextglUniformMatrix2x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3x2fv flextglUniformMatrix3x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3x4fv flextglUniformMatrix3x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4x2fv flextglUniformMatrix4x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4x3fv flextglUniformMatrix4x3fv +#define glUniformMatrix2x3fv flextGL.UniformMatrix2x3fv +#define glUniformMatrix2x4fv flextGL.UniformMatrix2x4fv +#define glUniformMatrix3x2fv flextGL.UniformMatrix3x2fv +#define glUniformMatrix3x4fv flextGL.UniformMatrix3x4fv +#define glUniformMatrix4x2fv flextGL.UniformMatrix4x2fv +#define glUniformMatrix4x3fv flextGL.UniformMatrix4x3fv /* GL_VERSION_3_0 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginConditionalRender)(GLuint, GLenum); -#define glBeginConditionalRender flextglBeginConditionalRender -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginTransformFeedback)(GLenum); -#define glBeginTransformFeedback flextglBeginTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferBase)(GLenum, GLuint, GLuint); -#define glBindBufferBase flextglBindBufferBase -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); -#define glBindBufferRange flextglBindBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocation)(GLuint, GLuint, const GLchar *); -#define glBindFragDataLocation flextglBindFragDataLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint); -#define glBindFramebuffer flextglBindFramebuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint); -#define glBindRenderbuffer flextglBindRenderbuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArray)(GLuint); -#define glBindVertexArray flextglBindVertexArray -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitFramebuffer flextglBlitFramebuffer -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum); -#define glCheckFramebufferStatus flextglCheckFramebufferStatus -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClampColor)(GLenum, GLenum); -#define glClampColor flextglClampColor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfi)(GLenum, GLint, GLfloat, GLint); -#define glClearBufferfi flextglClearBufferfi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfv)(GLenum, GLint, const GLfloat *); -#define glClearBufferfv flextglClearBufferfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferiv)(GLenum, GLint, const GLint *); -#define glClearBufferiv flextglClearBufferiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferuiv)(GLenum, GLint, const GLuint *); -#define glClearBufferuiv flextglClearBufferuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaski flextglColorMaski -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *); -#define glDeleteFramebuffers flextglDeleteFramebuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *); -#define glDeleteRenderbuffers flextglDeleteRenderbuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArrays)(GLsizei, const GLuint *); -#define glDeleteVertexArrays flextglDeleteVertexArrays -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint); -#define glDisablei flextglDisablei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint); -#define glEnablei flextglEnablei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndConditionalRender)(void); -#define glEndConditionalRender flextglEndConditionalRender -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndTransformFeedback)(void); -#define glEndTransformFeedback flextglEndTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr); -#define glFlushMappedBufferRange flextglFlushMappedBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); -#define glFramebufferRenderbuffer flextglFramebufferRenderbuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture1D flextglFramebufferTexture1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture2D flextglFramebufferTexture2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint); -#define glFramebufferTexture3D flextglFramebufferTexture3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint); -#define glFramebufferTextureLayer flextglFramebufferTextureLayer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *); -#define glGenFramebuffers flextglGenFramebuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *); -#define glGenRenderbuffers flextglGenRenderbuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArrays)(GLsizei, GLuint *); -#define glGenVertexArrays flextglGenVertexArrays -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum); -#define glGenerateMipmap flextglGenerateMipmap -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *); -#define glGetBooleani_v flextglGetBooleani_v -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataLocation)(GLuint, const GLchar *); -#define glGetFragDataLocation flextglGetFragDataLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); -#define glGetFramebufferAttachmentParameteriv flextglGetFramebufferAttachmentParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegeri_v)(GLenum, GLuint, GLint *); -#define glGetIntegeri_v flextglGetIntegeri_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetRenderbufferParameteriv flextglGetRenderbufferParameteriv -GLAPI FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetStringi)(GLenum, GLuint); -#define glGetStringi flextglGetStringi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *); -#define glGetTexParameterIiv flextglGetTexParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuiv flextglGetTexParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); -#define glGetTransformFeedbackVarying flextglGetTransformFeedbackVarying -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformuiv)(GLuint, GLint, GLuint *); -#define glGetUniformuiv flextglGetUniformuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIiv)(GLuint, GLenum, GLint *); -#define glGetVertexAttribIiv flextglGetVertexAttribIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIuiv)(GLuint, GLenum, GLuint *); -#define glGetVertexAttribIuiv flextglGetVertexAttribIuiv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint); -#define glIsEnabledi flextglIsEnabledi -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint); -#define glIsFramebuffer flextglIsFramebuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint); -#define glIsRenderbuffer flextglIsRenderbuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArray)(GLuint); -#define glIsVertexArray flextglIsVertexArray -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield); -#define glMapBufferRange flextglMapBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorage flextglRenderbufferStorage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisample flextglRenderbufferStorageMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIiv)(GLenum, GLenum, const GLint *); -#define glTexParameterIiv flextglTexParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuiv)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuiv flextglTexParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum); -#define glTransformFeedbackVaryings flextglTransformFeedbackVaryings -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1ui)(GLint, GLuint); -#define glUniform1ui flextglUniform1ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1uiv)(GLint, GLsizei, const GLuint *); -#define glUniform1uiv flextglUniform1uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2ui)(GLint, GLuint, GLuint); -#define glUniform2ui flextglUniform2ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2uiv)(GLint, GLsizei, const GLuint *); -#define glUniform2uiv flextglUniform2uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3ui)(GLint, GLuint, GLuint, GLuint); -#define glUniform3ui flextglUniform3ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3uiv)(GLint, GLsizei, const GLuint *); -#define glUniform3uiv flextglUniform3uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint); -#define glUniform4ui flextglUniform4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4uiv)(GLint, GLsizei, const GLuint *); -#define glUniform4uiv flextglUniform4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1i)(GLuint, GLint); -#define glVertexAttribI1i flextglVertexAttribI1i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1iv)(GLuint, const GLint *); -#define glVertexAttribI1iv flextglVertexAttribI1iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1ui)(GLuint, GLuint); -#define glVertexAttribI1ui flextglVertexAttribI1ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1uiv)(GLuint, const GLuint *); -#define glVertexAttribI1uiv flextglVertexAttribI1uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2i)(GLuint, GLint, GLint); -#define glVertexAttribI2i flextglVertexAttribI2i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2iv)(GLuint, const GLint *); -#define glVertexAttribI2iv flextglVertexAttribI2iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2ui)(GLuint, GLuint, GLuint); -#define glVertexAttribI2ui flextglVertexAttribI2ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2uiv)(GLuint, const GLuint *); -#define glVertexAttribI2uiv flextglVertexAttribI2uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3i)(GLuint, GLint, GLint, GLint); -#define glVertexAttribI3i flextglVertexAttribI3i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3iv)(GLuint, const GLint *); -#define glVertexAttribI3iv flextglVertexAttribI3iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint); -#define glVertexAttribI3ui flextglVertexAttribI3ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3uiv)(GLuint, const GLuint *); -#define glVertexAttribI3uiv flextglVertexAttribI3uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4bv)(GLuint, const GLbyte *); -#define glVertexAttribI4bv flextglVertexAttribI4bv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint); -#define glVertexAttribI4i flextglVertexAttribI4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4iv)(GLuint, const GLint *); -#define glVertexAttribI4iv flextglVertexAttribI4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4sv)(GLuint, const GLshort *); -#define glVertexAttribI4sv flextglVertexAttribI4sv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ubv)(GLuint, const GLubyte *); -#define glVertexAttribI4ubv flextglVertexAttribI4ubv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint); -#define glVertexAttribI4ui flextglVertexAttribI4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4uiv)(GLuint, const GLuint *); -#define glVertexAttribI4uiv flextglVertexAttribI4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4usv)(GLuint, const GLushort *); -#define glVertexAttribI4usv flextglVertexAttribI4usv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *); -#define glVertexAttribIPointer flextglVertexAttribIPointer +#define glBeginConditionalRender flextGL.BeginConditionalRender +#define glBeginTransformFeedback flextGL.BeginTransformFeedback +#define glBindBufferBase flextGL.BindBufferBase +#define glBindBufferRange flextGL.BindBufferRange +#define glBindFragDataLocation flextGL.BindFragDataLocation +#define glBindFramebuffer flextGL.BindFramebuffer +#define glBindRenderbuffer flextGL.BindRenderbuffer +#define glBindVertexArray flextGL.BindVertexArray +#define glBlitFramebuffer flextGL.BlitFramebuffer +#define glCheckFramebufferStatus flextGL.CheckFramebufferStatus +#define glClampColor flextGL.ClampColor +#define glClearBufferfi flextGL.ClearBufferfi +#define glClearBufferfv flextGL.ClearBufferfv +#define glClearBufferiv flextGL.ClearBufferiv +#define glClearBufferuiv flextGL.ClearBufferuiv +#define glColorMaski flextGL.ColorMaski +#define glDeleteFramebuffers flextGL.DeleteFramebuffers +#define glDeleteRenderbuffers flextGL.DeleteRenderbuffers +#define glDeleteVertexArrays flextGL.DeleteVertexArrays +#define glDisablei flextGL.Disablei +#define glEnablei flextGL.Enablei +#define glEndConditionalRender flextGL.EndConditionalRender +#define glEndTransformFeedback flextGL.EndTransformFeedback +#define glFlushMappedBufferRange flextGL.FlushMappedBufferRange +#define glFramebufferRenderbuffer flextGL.FramebufferRenderbuffer +#define glFramebufferTexture1D flextGL.FramebufferTexture1D +#define glFramebufferTexture2D flextGL.FramebufferTexture2D +#define glFramebufferTexture3D flextGL.FramebufferTexture3D +#define glFramebufferTextureLayer flextGL.FramebufferTextureLayer +#define glGenFramebuffers flextGL.GenFramebuffers +#define glGenRenderbuffers flextGL.GenRenderbuffers +#define glGenVertexArrays flextGL.GenVertexArrays +#define glGenerateMipmap flextGL.GenerateMipmap +#define glGetBooleani_v flextGL.GetBooleani_v +#define glGetFragDataLocation flextGL.GetFragDataLocation +#define glGetFramebufferAttachmentParameteriv flextGL.GetFramebufferAttachmentParameteriv +#define glGetIntegeri_v flextGL.GetIntegeri_v +#define glGetRenderbufferParameteriv flextGL.GetRenderbufferParameteriv +#define glGetStringi flextGL.GetStringi +#define glGetTexParameterIiv flextGL.GetTexParameterIiv +#define glGetTexParameterIuiv flextGL.GetTexParameterIuiv +#define glGetTransformFeedbackVarying flextGL.GetTransformFeedbackVarying +#define glGetUniformuiv flextGL.GetUniformuiv +#define glGetVertexAttribIiv flextGL.GetVertexAttribIiv +#define glGetVertexAttribIuiv flextGL.GetVertexAttribIuiv +#define glIsEnabledi flextGL.IsEnabledi +#define glIsFramebuffer flextGL.IsFramebuffer +#define glIsRenderbuffer flextGL.IsRenderbuffer +#define glIsVertexArray flextGL.IsVertexArray +#define glMapBufferRange flextGL.MapBufferRange +#define glRenderbufferStorage flextGL.RenderbufferStorage +#define glRenderbufferStorageMultisample flextGL.RenderbufferStorageMultisample +#define glTexParameterIiv flextGL.TexParameterIiv +#define glTexParameterIuiv flextGL.TexParameterIuiv +#define glTransformFeedbackVaryings flextGL.TransformFeedbackVaryings +#define glUniform1ui flextGL.Uniform1ui +#define glUniform1uiv flextGL.Uniform1uiv +#define glUniform2ui flextGL.Uniform2ui +#define glUniform2uiv flextGL.Uniform2uiv +#define glUniform3ui flextGL.Uniform3ui +#define glUniform3uiv flextGL.Uniform3uiv +#define glUniform4ui flextGL.Uniform4ui +#define glUniform4uiv flextGL.Uniform4uiv +#define glVertexAttribI1i flextGL.VertexAttribI1i +#define glVertexAttribI1iv flextGL.VertexAttribI1iv +#define glVertexAttribI1ui flextGL.VertexAttribI1ui +#define glVertexAttribI1uiv flextGL.VertexAttribI1uiv +#define glVertexAttribI2i flextGL.VertexAttribI2i +#define glVertexAttribI2iv flextGL.VertexAttribI2iv +#define glVertexAttribI2ui flextGL.VertexAttribI2ui +#define glVertexAttribI2uiv flextGL.VertexAttribI2uiv +#define glVertexAttribI3i flextGL.VertexAttribI3i +#define glVertexAttribI3iv flextGL.VertexAttribI3iv +#define glVertexAttribI3ui flextGL.VertexAttribI3ui +#define glVertexAttribI3uiv flextGL.VertexAttribI3uiv +#define glVertexAttribI4bv flextGL.VertexAttribI4bv +#define glVertexAttribI4i flextGL.VertexAttribI4i +#define glVertexAttribI4iv flextGL.VertexAttribI4iv +#define glVertexAttribI4sv flextGL.VertexAttribI4sv +#define glVertexAttribI4ubv flextGL.VertexAttribI4ubv +#define glVertexAttribI4ui flextGL.VertexAttribI4ui +#define glVertexAttribI4uiv flextGL.VertexAttribI4uiv +#define glVertexAttribI4usv flextGL.VertexAttribI4usv +#define glVertexAttribIPointer flextGL.VertexAttribIPointer /* GL_VERSION_3_1 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); -#define glCopyBufferSubData flextglCopyBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstanced flextglDrawArraysInstanced -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstanced flextglDrawElementsInstanced -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveUniformBlockName flextglGetActiveUniformBlockName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *); -#define glGetActiveUniformBlockiv flextglGetActiveUniformBlockiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveUniformName flextglGetActiveUniformName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *); -#define glGetActiveUniformsiv flextglGetActiveUniformsiv -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetUniformBlockIndex)(GLuint, const GLchar *); -#define glGetUniformBlockIndex flextglGetUniformBlockIndex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *); -#define glGetUniformIndices flextglGetUniformIndices -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveRestartIndex)(GLuint); -#define glPrimitiveRestartIndex flextglPrimitiveRestartIndex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBuffer)(GLenum, GLenum, GLuint); -#define glTexBuffer flextglTexBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformBlockBinding)(GLuint, GLuint, GLuint); -#define glUniformBlockBinding flextglUniformBlockBinding +#define glCopyBufferSubData flextGL.CopyBufferSubData +#define glDrawArraysInstanced flextGL.DrawArraysInstanced +#define glDrawElementsInstanced flextGL.DrawElementsInstanced +#define glGetActiveUniformBlockName flextGL.GetActiveUniformBlockName +#define glGetActiveUniformBlockiv flextGL.GetActiveUniformBlockiv +#define glGetActiveUniformName flextGL.GetActiveUniformName +#define glGetActiveUniformsiv flextGL.GetActiveUniformsiv +#define glGetUniformBlockIndex flextGL.GetUniformBlockIndex +#define glGetUniformIndices flextGL.GetUniformIndices +#define glPrimitiveRestartIndex flextGL.PrimitiveRestartIndex +#define glTexBuffer flextGL.TexBuffer +#define glUniformBlockBinding flextGL.UniformBlockBinding /* GL_VERSION_3_2 */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglClientWaitSync)(GLsync, GLbitfield, GLuint64); -#define glClientWaitSync flextglClientWaitSync -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSync)(GLsync); -#define glDeleteSync flextglDeleteSync -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); -#define glDrawElementsBaseVertex flextglDrawElementsBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); -#define glDrawElementsInstancedBaseVertex flextglDrawElementsInstancedBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); -#define glDrawRangeElementsBaseVertex flextglDrawRangeElementsBaseVertex -GLAPI FLEXTGL_EXPORT GLsync(APIENTRY *flextglFenceSync)(GLenum, GLbitfield); -#define glFenceSync flextglFenceSync -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture flextglFramebufferTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteri64v)(GLenum, GLenum, GLint64 *); -#define glGetBufferParameteri64v flextglGetBufferParameteri64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64i_v)(GLenum, GLuint, GLint64 *); -#define glGetInteger64i_v flextglGetInteger64i_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64v)(GLenum, GLint64 *); -#define glGetInteger64v flextglGetInteger64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *); -#define glGetMultisamplefv flextglGetMultisamplefv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *); -#define glGetSynciv flextglGetSynciv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSync)(GLsync); -#define glIsSync flextglIsSync -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei, const GLint *); -#define glMultiDrawElementsBaseVertex flextglMultiDrawElementsBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProvokingVertex)(GLenum); -#define glProvokingVertex flextglProvokingVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield); -#define glSampleMaski flextglSampleMaski -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTexImage2DMultisample flextglTexImage2DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexImage3DMultisample flextglTexImage3DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglWaitSync)(GLsync, GLbitfield, GLuint64); -#define glWaitSync flextglWaitSync +#define glClientWaitSync flextGL.ClientWaitSync +#define glDeleteSync flextGL.DeleteSync +#define glDrawElementsBaseVertex flextGL.DrawElementsBaseVertex +#define glDrawElementsInstancedBaseVertex flextGL.DrawElementsInstancedBaseVertex +#define glDrawRangeElementsBaseVertex flextGL.DrawRangeElementsBaseVertex +#define glFenceSync flextGL.FenceSync +#define glFramebufferTexture flextGL.FramebufferTexture +#define glGetBufferParameteri64v flextGL.GetBufferParameteri64v +#define glGetInteger64i_v flextGL.GetInteger64i_v +#define glGetInteger64v flextGL.GetInteger64v +#define glGetMultisamplefv flextGL.GetMultisamplefv +#define glGetSynciv flextGL.GetSynciv +#define glIsSync flextGL.IsSync +#define glMultiDrawElementsBaseVertex flextGL.MultiDrawElementsBaseVertex +#define glProvokingVertex flextGL.ProvokingVertex +#define glSampleMaski flextGL.SampleMaski +#define glTexImage2DMultisample flextGL.TexImage2DMultisample +#define glTexImage3DMultisample flextGL.TexImage3DMultisample +#define glWaitSync flextGL.WaitSync /* GL_VERSION_3_3 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *); -#define glBindFragDataLocationIndexed flextglBindFragDataLocationIndexed -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindSampler)(GLuint, GLuint); -#define glBindSampler flextglBindSampler -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSamplers)(GLsizei, const GLuint *); -#define glDeleteSamplers flextglDeleteSamplers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenSamplers)(GLsizei, GLuint *); -#define glGenSamplers flextglGenSamplers -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataIndex)(GLuint, const GLchar *); -#define glGetFragDataIndex flextglGetFragDataIndex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64v)(GLuint, GLenum, GLint64 *); -#define glGetQueryObjecti64v flextglGetQueryObjecti64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *); -#define glGetQueryObjectui64v flextglGetQueryObjectui64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIiv flextglGetSamplerParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuiv flextglGetSamplerParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterfv)(GLuint, GLenum, GLfloat *); -#define glGetSamplerParameterfv flextglGetSamplerParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameteriv)(GLuint, GLenum, GLint *); -#define glGetSamplerParameteriv flextglGetSamplerParameteriv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSampler)(GLuint); -#define glIsSampler flextglIsSampler -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounter)(GLuint, GLenum); -#define glQueryCounter flextglQueryCounter -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIiv)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIiv flextglSamplerParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuiv)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuiv flextglSamplerParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterf)(GLuint, GLenum, GLfloat); -#define glSamplerParameterf flextglSamplerParameterf -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterfv)(GLuint, GLenum, const GLfloat *); -#define glSamplerParameterfv flextglSamplerParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteri)(GLuint, GLenum, GLint); -#define glSamplerParameteri flextglSamplerParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteriv)(GLuint, GLenum, const GLint *); -#define glSamplerParameteriv flextglSamplerParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisor)(GLuint, GLuint); -#define glVertexAttribDivisor flextglVertexAttribDivisor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP1ui flextglVertexAttribP1ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP1uiv flextglVertexAttribP1uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP2ui flextglVertexAttribP2ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP2uiv flextglVertexAttribP2uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP3ui flextglVertexAttribP3ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP3uiv flextglVertexAttribP3uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP4ui flextglVertexAttribP4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP4uiv flextglVertexAttribP4uiv +#define glBindFragDataLocationIndexed flextGL.BindFragDataLocationIndexed +#define glBindSampler flextGL.BindSampler +#define glDeleteSamplers flextGL.DeleteSamplers +#define glGenSamplers flextGL.GenSamplers +#define glGetFragDataIndex flextGL.GetFragDataIndex +#define glGetQueryObjecti64v flextGL.GetQueryObjecti64v +#define glGetQueryObjectui64v flextGL.GetQueryObjectui64v +#define glGetSamplerParameterIiv flextGL.GetSamplerParameterIiv +#define glGetSamplerParameterIuiv flextGL.GetSamplerParameterIuiv +#define glGetSamplerParameterfv flextGL.GetSamplerParameterfv +#define glGetSamplerParameteriv flextGL.GetSamplerParameteriv +#define glIsSampler flextGL.IsSampler +#define glQueryCounter flextGL.QueryCounter +#define glSamplerParameterIiv flextGL.SamplerParameterIiv +#define glSamplerParameterIuiv flextGL.SamplerParameterIuiv +#define glSamplerParameterf flextGL.SamplerParameterf +#define glSamplerParameterfv flextGL.SamplerParameterfv +#define glSamplerParameteri flextGL.SamplerParameteri +#define glSamplerParameteriv flextGL.SamplerParameteriv +#define glVertexAttribDivisor flextGL.VertexAttribDivisor +#define glVertexAttribP1ui flextGL.VertexAttribP1ui +#define glVertexAttribP1uiv flextGL.VertexAttribP1uiv +#define glVertexAttribP2ui flextGL.VertexAttribP2ui +#define glVertexAttribP2uiv flextGL.VertexAttribP2uiv +#define glVertexAttribP3ui flextGL.VertexAttribP3ui +#define glVertexAttribP3uiv flextGL.VertexAttribP3uiv +#define glVertexAttribP4ui flextGL.VertexAttribP4ui +#define glVertexAttribP4uiv flextGL.VertexAttribP4uiv /* GL_VERSION_4_0 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryIndexed)(GLenum, GLuint, GLuint); -#define glBeginQueryIndexed flextglBeginQueryIndexed -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindTransformFeedback)(GLenum, GLuint); -#define glBindTransformFeedback flextglBindTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparatei flextglBlendEquationSeparatei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum); -#define glBlendEquationi flextglBlendEquationi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparatei flextglBlendFuncSeparatei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum); -#define glBlendFunci flextglBlendFunci -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTransformFeedbacks)(GLsizei, const GLuint *); -#define glDeleteTransformFeedbacks flextglDeleteTransformFeedbacks -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysIndirect)(GLenum, const void *); -#define glDrawArraysIndirect flextglDrawArraysIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsIndirect)(GLenum, GLenum, const void *); -#define glDrawElementsIndirect flextglDrawElementsIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedback)(GLenum, GLuint); -#define glDrawTransformFeedback flextglDrawTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackStream)(GLenum, GLuint, GLuint); -#define glDrawTransformFeedbackStream flextglDrawTransformFeedbackStream -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryIndexed)(GLenum, GLuint); -#define glEndQueryIndexed flextglEndQueryIndexed -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenTransformFeedbacks)(GLsizei, GLuint *); -#define glGenTransformFeedbacks flextglGenTransformFeedbacks -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveSubroutineName flextglGetActiveSubroutineName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveSubroutineUniformName flextglGetActiveSubroutineUniformName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *); -#define glGetActiveSubroutineUniformiv flextglGetActiveSubroutineUniformiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *); -#define glGetProgramStageiv flextglGetProgramStageiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *); -#define glGetQueryIndexediv flextglGetQueryIndexediv -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetSubroutineIndex)(GLuint, GLenum, const GLchar *); -#define glGetSubroutineIndex flextglGetSubroutineIndex -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *); -#define glGetSubroutineUniformLocation flextglGetSubroutineUniformLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformSubroutineuiv)(GLenum, GLint, GLuint *); -#define glGetUniformSubroutineuiv flextglGetUniformSubroutineuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformdv)(GLuint, GLint, GLdouble *); -#define glGetUniformdv flextglGetUniformdv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTransformFeedback)(GLuint); -#define glIsTransformFeedback flextglIsTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShading)(GLfloat); -#define glMinSampleShading flextglMinSampleShading -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameterfv)(GLenum, const GLfloat *); -#define glPatchParameterfv flextglPatchParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint); -#define glPatchParameteri flextglPatchParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPauseTransformFeedback)(void); -#define glPauseTransformFeedback flextglPauseTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglResumeTransformFeedback)(void); -#define glResumeTransformFeedback flextglResumeTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1d)(GLint, GLdouble); -#define glUniform1d flextglUniform1d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1dv)(GLint, GLsizei, const GLdouble *); -#define glUniform1dv flextglUniform1dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2d)(GLint, GLdouble, GLdouble); -#define glUniform2d flextglUniform2d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2dv)(GLint, GLsizei, const GLdouble *); -#define glUniform2dv flextglUniform2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3d)(GLint, GLdouble, GLdouble, GLdouble); -#define glUniform3d flextglUniform3d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3dv)(GLint, GLsizei, const GLdouble *); -#define glUniform3dv flextglUniform3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glUniform4d flextglUniform4d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4dv)(GLint, GLsizei, const GLdouble *); -#define glUniform4dv flextglUniform4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix2dv flextglUniformMatrix2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix2x3dv flextglUniformMatrix2x3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix2x4dv flextglUniformMatrix2x4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix3dv flextglUniformMatrix3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix3x2dv flextglUniformMatrix3x2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix3x4dv flextglUniformMatrix3x4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix4dv flextglUniformMatrix4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix4x2dv flextglUniformMatrix4x2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix4x3dv flextglUniformMatrix4x3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *); -#define glUniformSubroutinesuiv flextglUniformSubroutinesuiv +#define glBeginQueryIndexed flextGL.BeginQueryIndexed +#define glBindTransformFeedback flextGL.BindTransformFeedback +#define glBlendEquationSeparatei flextGL.BlendEquationSeparatei +#define glBlendEquationi flextGL.BlendEquationi +#define glBlendFuncSeparatei flextGL.BlendFuncSeparatei +#define glBlendFunci flextGL.BlendFunci +#define glDeleteTransformFeedbacks flextGL.DeleteTransformFeedbacks +#define glDrawArraysIndirect flextGL.DrawArraysIndirect +#define glDrawElementsIndirect flextGL.DrawElementsIndirect +#define glDrawTransformFeedback flextGL.DrawTransformFeedback +#define glDrawTransformFeedbackStream flextGL.DrawTransformFeedbackStream +#define glEndQueryIndexed flextGL.EndQueryIndexed +#define glGenTransformFeedbacks flextGL.GenTransformFeedbacks +#define glGetActiveSubroutineName flextGL.GetActiveSubroutineName +#define glGetActiveSubroutineUniformName flextGL.GetActiveSubroutineUniformName +#define glGetActiveSubroutineUniformiv flextGL.GetActiveSubroutineUniformiv +#define glGetProgramStageiv flextGL.GetProgramStageiv +#define glGetQueryIndexediv flextGL.GetQueryIndexediv +#define glGetSubroutineIndex flextGL.GetSubroutineIndex +#define glGetSubroutineUniformLocation flextGL.GetSubroutineUniformLocation +#define glGetUniformSubroutineuiv flextGL.GetUniformSubroutineuiv +#define glGetUniformdv flextGL.GetUniformdv +#define glIsTransformFeedback flextGL.IsTransformFeedback +#define glMinSampleShading flextGL.MinSampleShading +#define glPatchParameterfv flextGL.PatchParameterfv +#define glPatchParameteri flextGL.PatchParameteri +#define glPauseTransformFeedback flextGL.PauseTransformFeedback +#define glResumeTransformFeedback flextGL.ResumeTransformFeedback +#define glUniform1d flextGL.Uniform1d +#define glUniform1dv flextGL.Uniform1dv +#define glUniform2d flextGL.Uniform2d +#define glUniform2dv flextGL.Uniform2dv +#define glUniform3d flextGL.Uniform3d +#define glUniform3dv flextGL.Uniform3dv +#define glUniform4d flextGL.Uniform4d +#define glUniform4dv flextGL.Uniform4dv +#define glUniformMatrix2dv flextGL.UniformMatrix2dv +#define glUniformMatrix2x3dv flextGL.UniformMatrix2x3dv +#define glUniformMatrix2x4dv flextGL.UniformMatrix2x4dv +#define glUniformMatrix3dv flextGL.UniformMatrix3dv +#define glUniformMatrix3x2dv flextGL.UniformMatrix3x2dv +#define glUniformMatrix3x4dv flextGL.UniformMatrix3x4dv +#define glUniformMatrix4dv flextGL.UniformMatrix4dv +#define glUniformMatrix4x2dv flextGL.UniformMatrix4x2dv +#define glUniformMatrix4x3dv flextGL.UniformMatrix4x3dv +#define glUniformSubroutinesuiv flextGL.UniformSubroutinesuiv /* GL_VERSION_4_1 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint); -#define glActiveShaderProgram flextglActiveShaderProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint); -#define glBindProgramPipeline flextglBindProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat); -#define glClearDepthf flextglClearDepthf -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); -#define glCreateShaderProgramv flextglCreateShaderProgramv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *); -#define glDeleteProgramPipelines flextglDeleteProgramPipelines -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangeArrayv)(GLuint, GLsizei, const GLdouble *); -#define glDepthRangeArrayv flextglDepthRangeArrayv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangeIndexed)(GLuint, GLdouble, GLdouble); -#define glDepthRangeIndexed flextglDepthRangeIndexed -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat); -#define glDepthRangef flextglDepthRangef -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *); -#define glGenProgramPipelines flextglGenProgramPipelines -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublei_v)(GLenum, GLuint, GLdouble *); -#define glGetDoublei_v flextglGetDoublei_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFloati_v)(GLenum, GLuint, GLfloat *); -#define glGetFloati_v flextglGetFloati_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *); -#define glGetProgramBinary flextglGetProgramBinary -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLog flextglGetProgramPipelineInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineiv flextglGetProgramPipelineiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); -#define glGetShaderPrecisionFormat flextglGetShaderPrecisionFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribLdv)(GLuint, GLenum, GLdouble *); -#define glGetVertexAttribLdv flextglGetVertexAttribLdv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint); -#define glIsProgramPipeline flextglIsProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramBinary)(GLuint, GLenum, const void *, GLsizei); -#define glProgramBinary flextglProgramBinary -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteri)(GLuint, GLenum, GLint); -#define glProgramParameteri flextglProgramParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1d)(GLuint, GLint, GLdouble); -#define glProgramUniform1d flextglProgramUniform1d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform1dv flextglProgramUniform1dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1f)(GLuint, GLint, GLfloat); -#define glProgramUniform1f flextglProgramUniform1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fv flextglProgramUniform1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1i)(GLuint, GLint, GLint); -#define glProgramUniform1i flextglProgramUniform1i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1iv flextglProgramUniform1iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ui)(GLuint, GLint, GLuint); -#define glProgramUniform1ui flextglProgramUniform1ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform1uiv flextglProgramUniform1uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble); -#define glProgramUniform2d flextglProgramUniform2d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform2dv flextglProgramUniform2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2f flextglProgramUniform2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fv flextglProgramUniform2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2i)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2i flextglProgramUniform2i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2iv flextglProgramUniform2iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ui)(GLuint, GLint, GLuint, GLuint); -#define glProgramUniform2ui flextglProgramUniform2ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform2uiv flextglProgramUniform2uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble); -#define glProgramUniform3d flextglProgramUniform3d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform3dv flextglProgramUniform3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3f flextglProgramUniform3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fv flextglProgramUniform3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3i flextglProgramUniform3i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3iv flextglProgramUniform3iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint); -#define glProgramUniform3ui flextglProgramUniform3ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform3uiv flextglProgramUniform3uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glProgramUniform4d flextglProgramUniform4d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform4dv flextglProgramUniform4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4f flextglProgramUniform4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fv flextglProgramUniform4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4i flextglProgramUniform4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4iv flextglProgramUniform4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); -#define glProgramUniform4ui flextglProgramUniform4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform4uiv flextglProgramUniform4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2dv flextglProgramUniformMatrix2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fv flextglProgramUniformMatrix2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2x3dv flextglProgramUniformMatrix2x3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x3fv flextglProgramUniformMatrix2x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2x4dv flextglProgramUniformMatrix2x4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x4fv flextglProgramUniformMatrix2x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3dv flextglProgramUniformMatrix3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fv flextglProgramUniformMatrix3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3x2dv flextglProgramUniformMatrix3x2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x2fv flextglProgramUniformMatrix3x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3x4dv flextglProgramUniformMatrix3x4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x4fv flextglProgramUniformMatrix3x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4dv flextglProgramUniformMatrix4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fv flextglProgramUniformMatrix4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4x2dv flextglProgramUniformMatrix4x2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x2fv flextglProgramUniformMatrix4x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4x3dv flextglProgramUniformMatrix4x3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x3fv flextglProgramUniformMatrix4x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void); -#define glReleaseShaderCompiler flextglReleaseShaderCompiler -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglScissorArrayv)(GLuint, GLsizei, const GLint *); -#define glScissorArrayv flextglScissorArrayv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei); -#define glScissorIndexed flextglScissorIndexed -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglScissorIndexedv)(GLuint, const GLint *); -#define glScissorIndexedv flextglScissorIndexedv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); -#define glShaderBinary flextglShaderBinary -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStages)(GLuint, GLbitfield, GLuint); -#define glUseProgramStages flextglUseProgramStages -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint); -#define glValidateProgramPipeline flextglValidateProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1d)(GLuint, GLdouble); -#define glVertexAttribL1d flextglVertexAttribL1d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1dv)(GLuint, const GLdouble *); -#define glVertexAttribL1dv flextglVertexAttribL1dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2d)(GLuint, GLdouble, GLdouble); -#define glVertexAttribL2d flextglVertexAttribL2d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2dv)(GLuint, const GLdouble *); -#define glVertexAttribL2dv flextglVertexAttribL2dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble); -#define glVertexAttribL3d flextglVertexAttribL3d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3dv)(GLuint, const GLdouble *); -#define glVertexAttribL3dv flextglVertexAttribL3dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glVertexAttribL4d flextglVertexAttribL4d -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL4dv)(GLuint, const GLdouble *); -#define glVertexAttribL4dv flextglVertexAttribL4dv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const void *); -#define glVertexAttribLPointer flextglVertexAttribLPointer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglViewportArrayv)(GLuint, GLsizei, const GLfloat *); -#define glViewportArrayv flextglViewportArrayv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glViewportIndexedf flextglViewportIndexedf -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglViewportIndexedfv)(GLuint, const GLfloat *); -#define glViewportIndexedfv flextglViewportIndexedfv +#define glActiveShaderProgram flextGL.ActiveShaderProgram +#define glBindProgramPipeline flextGL.BindProgramPipeline +#define glClearDepthf flextGL.ClearDepthf +#define glCreateShaderProgramv flextGL.CreateShaderProgramv +#define glDeleteProgramPipelines flextGL.DeleteProgramPipelines +#define glDepthRangeArrayv flextGL.DepthRangeArrayv +#define glDepthRangeIndexed flextGL.DepthRangeIndexed +#define glDepthRangef flextGL.DepthRangef +#define glGenProgramPipelines flextGL.GenProgramPipelines +#define glGetDoublei_v flextGL.GetDoublei_v +#define glGetFloati_v flextGL.GetFloati_v +#define glGetProgramBinary flextGL.GetProgramBinary +#define glGetProgramPipelineInfoLog flextGL.GetProgramPipelineInfoLog +#define glGetProgramPipelineiv flextGL.GetProgramPipelineiv +#define glGetShaderPrecisionFormat flextGL.GetShaderPrecisionFormat +#define glGetVertexAttribLdv flextGL.GetVertexAttribLdv +#define glIsProgramPipeline flextGL.IsProgramPipeline +#define glProgramBinary flextGL.ProgramBinary +#define glProgramParameteri flextGL.ProgramParameteri +#define glProgramUniform1d flextGL.ProgramUniform1d +#define glProgramUniform1dv flextGL.ProgramUniform1dv +#define glProgramUniform1f flextGL.ProgramUniform1f +#define glProgramUniform1fv flextGL.ProgramUniform1fv +#define glProgramUniform1i flextGL.ProgramUniform1i +#define glProgramUniform1iv flextGL.ProgramUniform1iv +#define glProgramUniform1ui flextGL.ProgramUniform1ui +#define glProgramUniform1uiv flextGL.ProgramUniform1uiv +#define glProgramUniform2d flextGL.ProgramUniform2d +#define glProgramUniform2dv flextGL.ProgramUniform2dv +#define glProgramUniform2f flextGL.ProgramUniform2f +#define glProgramUniform2fv flextGL.ProgramUniform2fv +#define glProgramUniform2i flextGL.ProgramUniform2i +#define glProgramUniform2iv flextGL.ProgramUniform2iv +#define glProgramUniform2ui flextGL.ProgramUniform2ui +#define glProgramUniform2uiv flextGL.ProgramUniform2uiv +#define glProgramUniform3d flextGL.ProgramUniform3d +#define glProgramUniform3dv flextGL.ProgramUniform3dv +#define glProgramUniform3f flextGL.ProgramUniform3f +#define glProgramUniform3fv flextGL.ProgramUniform3fv +#define glProgramUniform3i flextGL.ProgramUniform3i +#define glProgramUniform3iv flextGL.ProgramUniform3iv +#define glProgramUniform3ui flextGL.ProgramUniform3ui +#define glProgramUniform3uiv flextGL.ProgramUniform3uiv +#define glProgramUniform4d flextGL.ProgramUniform4d +#define glProgramUniform4dv flextGL.ProgramUniform4dv +#define glProgramUniform4f flextGL.ProgramUniform4f +#define glProgramUniform4fv flextGL.ProgramUniform4fv +#define glProgramUniform4i flextGL.ProgramUniform4i +#define glProgramUniform4iv flextGL.ProgramUniform4iv +#define glProgramUniform4ui flextGL.ProgramUniform4ui +#define glProgramUniform4uiv flextGL.ProgramUniform4uiv +#define glProgramUniformMatrix2dv flextGL.ProgramUniformMatrix2dv +#define glProgramUniformMatrix2fv flextGL.ProgramUniformMatrix2fv +#define glProgramUniformMatrix2x3dv flextGL.ProgramUniformMatrix2x3dv +#define glProgramUniformMatrix2x3fv flextGL.ProgramUniformMatrix2x3fv +#define glProgramUniformMatrix2x4dv flextGL.ProgramUniformMatrix2x4dv +#define glProgramUniformMatrix2x4fv flextGL.ProgramUniformMatrix2x4fv +#define glProgramUniformMatrix3dv flextGL.ProgramUniformMatrix3dv +#define glProgramUniformMatrix3fv flextGL.ProgramUniformMatrix3fv +#define glProgramUniformMatrix3x2dv flextGL.ProgramUniformMatrix3x2dv +#define glProgramUniformMatrix3x2fv flextGL.ProgramUniformMatrix3x2fv +#define glProgramUniformMatrix3x4dv flextGL.ProgramUniformMatrix3x4dv +#define glProgramUniformMatrix3x4fv flextGL.ProgramUniformMatrix3x4fv +#define glProgramUniformMatrix4dv flextGL.ProgramUniformMatrix4dv +#define glProgramUniformMatrix4fv flextGL.ProgramUniformMatrix4fv +#define glProgramUniformMatrix4x2dv flextGL.ProgramUniformMatrix4x2dv +#define glProgramUniformMatrix4x2fv flextGL.ProgramUniformMatrix4x2fv +#define glProgramUniformMatrix4x3dv flextGL.ProgramUniformMatrix4x3dv +#define glProgramUniformMatrix4x3fv flextGL.ProgramUniformMatrix4x3fv +#define glReleaseShaderCompiler flextGL.ReleaseShaderCompiler +#define glScissorArrayv flextGL.ScissorArrayv +#define glScissorIndexed flextGL.ScissorIndexed +#define glScissorIndexedv flextGL.ScissorIndexedv +#define glShaderBinary flextGL.ShaderBinary +#define glUseProgramStages flextGL.UseProgramStages +#define glValidateProgramPipeline flextGL.ValidateProgramPipeline +#define glVertexAttribL1d flextGL.VertexAttribL1d +#define glVertexAttribL1dv flextGL.VertexAttribL1dv +#define glVertexAttribL2d flextGL.VertexAttribL2d +#define glVertexAttribL2dv flextGL.VertexAttribL2dv +#define glVertexAttribL3d flextGL.VertexAttribL3d +#define glVertexAttribL3dv flextGL.VertexAttribL3dv +#define glVertexAttribL4d flextGL.VertexAttribL4d +#define glVertexAttribL4dv flextGL.VertexAttribL4dv +#define glVertexAttribLPointer flextGL.VertexAttribLPointer +#define glViewportArrayv flextGL.ViewportArrayv +#define glViewportIndexedf flextGL.ViewportIndexedf +#define glViewportIndexedfv flextGL.ViewportIndexedfv /* GL_VERSION_4_2 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); -#define glBindImageTexture flextglBindImageTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint); -#define glDrawArraysInstancedBaseInstance flextglDrawArraysInstancedBaseInstance -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint); -#define glDrawElementsInstancedBaseInstance flextglDrawElementsInstancedBaseInstance -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint); -#define glDrawElementsInstancedBaseVertexBaseInstance flextglDrawElementsInstancedBaseVertexBaseInstance -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei); -#define glDrawTransformFeedbackInstanced flextglDrawTransformFeedbackInstanced -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei); -#define glDrawTransformFeedbackStreamInstanced flextglDrawTransformFeedbackStreamInstanced -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *); -#define glGetActiveAtomicCounterBufferiv flextglGetActiveAtomicCounterBufferiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *); -#define glGetInternalformativ flextglGetInternalformativ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrier)(GLbitfield); -#define glMemoryBarrier flextglMemoryBarrier -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage1D)(GLenum, GLsizei, GLenum, GLsizei); -#define glTexStorage1D flextglTexStorage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glTexStorage2D flextglTexStorage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); -#define glTexStorage3D flextglTexStorage3D +#define glBindImageTexture flextGL.BindImageTexture +#define glDrawArraysInstancedBaseInstance flextGL.DrawArraysInstancedBaseInstance +#define glDrawElementsInstancedBaseInstance flextGL.DrawElementsInstancedBaseInstance +#define glDrawElementsInstancedBaseVertexBaseInstance flextGL.DrawElementsInstancedBaseVertexBaseInstance +#define glDrawTransformFeedbackInstanced flextGL.DrawTransformFeedbackInstanced +#define glDrawTransformFeedbackStreamInstanced flextGL.DrawTransformFeedbackStreamInstanced +#define glGetActiveAtomicCounterBufferiv flextGL.GetActiveAtomicCounterBufferiv +#define glGetInternalformativ flextGL.GetInternalformativ +#define glMemoryBarrier flextGL.MemoryBarrier +#define glTexStorage1D flextGL.TexStorage1D +#define glTexStorage2D flextGL.TexStorage2D +#define glTexStorage3D flextGL.TexStorage3D /* GL_VERSION_4_3 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); -#define glBindVertexBuffer flextglBindVertexBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferData)(GLenum, GLenum, GLenum, GLenum, const void *); -#define glClearBufferData flextglClearBufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *); -#define glClearBufferSubData flextglClearBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glCopyImageSubData flextglCopyImageSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallback)(GLDEBUGPROC, const void *); -#define glDebugMessageCallback flextglDebugMessageCallback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControl flextglDebugMessageControl -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsert flextglDebugMessageInsert -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchCompute)(GLuint, GLuint, GLuint); -#define glDispatchCompute flextglDispatchCompute -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr); -#define glDispatchComputeIndirect flextglDispatchComputeIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferParameteri)(GLenum, GLenum, GLint); -#define glFramebufferParameteri flextglFramebufferParameteri -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLog flextglGetDebugMessageLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetFramebufferParameteriv flextglGetFramebufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInternalformati64v)(GLenum, GLenum, GLenum, GLsizei, GLint64 *); -#define glGetInternalformati64v flextglGetInternalformati64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabel flextglGetObjectLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabel flextglGetObjectPtrLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerv)(GLenum, void **); -#define glGetPointerv flextglGetPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); -#define glGetProgramInterfaceiv flextglGetProgramInterfaceiv -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceIndex flextglGetProgramResourceIndex -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocation)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceLocation flextglGetProgramResourceLocation -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocationIndex)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceLocationIndex flextglGetProgramResourceLocationIndex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramResourceName flextglGetProgramResourceName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *); -#define glGetProgramResourceiv flextglGetProgramResourceiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferData)(GLuint); -#define glInvalidateBufferData flextglInvalidateBufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr); -#define glInvalidateBufferSubData flextglInvalidateBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *); -#define glInvalidateFramebuffer flextglInvalidateFramebuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei); -#define glInvalidateSubFramebuffer flextglInvalidateSubFramebuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateTexImage)(GLuint, GLint); -#define glInvalidateTexImage flextglInvalidateTexImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glInvalidateTexSubImage flextglInvalidateTexSubImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirect)(GLenum, const void *, GLsizei, GLsizei); -#define glMultiDrawArraysIndirect flextglMultiDrawArraysIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirect)(GLenum, GLenum, const void *, GLsizei, GLsizei); -#define glMultiDrawElementsIndirect flextglMultiDrawElementsIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabel flextglObjectLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabel flextglObjectPtrLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void); -#define glPopDebugGroup flextglPopDebugGroup -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroup flextglPushDebugGroup -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderStorageBlockBinding)(GLuint, GLuint, GLuint); -#define glShaderStorageBlockBinding flextglShaderStorageBlockBinding -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTexBufferRange flextglTexBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTexStorage2DMultisample flextglTexStorage2DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexStorage3DMultisample flextglTexStorage3DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint); -#define glTextureView flextglTextureView -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribBinding)(GLuint, GLuint); -#define glVertexAttribBinding flextglVertexAttribBinding -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint); -#define glVertexAttribFormat flextglVertexAttribFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint); -#define glVertexAttribIFormat flextglVertexAttribIFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribLFormat)(GLuint, GLint, GLenum, GLuint); -#define glVertexAttribLFormat flextglVertexAttribLFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint); -#define glVertexBindingDivisor flextglVertexBindingDivisor +#define glBindVertexBuffer flextGL.BindVertexBuffer +#define glClearBufferData flextGL.ClearBufferData +#define glClearBufferSubData flextGL.ClearBufferSubData +#define glCopyImageSubData flextGL.CopyImageSubData +#define glDebugMessageCallback flextGL.DebugMessageCallback +#define glDebugMessageControl flextGL.DebugMessageControl +#define glDebugMessageInsert flextGL.DebugMessageInsert +#define glDispatchCompute flextGL.DispatchCompute +#define glDispatchComputeIndirect flextGL.DispatchComputeIndirect +#define glFramebufferParameteri flextGL.FramebufferParameteri +#define glGetDebugMessageLog flextGL.GetDebugMessageLog +#define glGetFramebufferParameteriv flextGL.GetFramebufferParameteriv +#define glGetInternalformati64v flextGL.GetInternalformati64v +#define glGetObjectLabel flextGL.GetObjectLabel +#define glGetObjectPtrLabel flextGL.GetObjectPtrLabel +#define glGetPointerv flextGL.GetPointerv +#define glGetProgramInterfaceiv flextGL.GetProgramInterfaceiv +#define glGetProgramResourceIndex flextGL.GetProgramResourceIndex +#define glGetProgramResourceLocation flextGL.GetProgramResourceLocation +#define glGetProgramResourceLocationIndex flextGL.GetProgramResourceLocationIndex +#define glGetProgramResourceName flextGL.GetProgramResourceName +#define glGetProgramResourceiv flextGL.GetProgramResourceiv +#define glInvalidateBufferData flextGL.InvalidateBufferData +#define glInvalidateBufferSubData flextGL.InvalidateBufferSubData +#define glInvalidateFramebuffer flextGL.InvalidateFramebuffer +#define glInvalidateSubFramebuffer flextGL.InvalidateSubFramebuffer +#define glInvalidateTexImage flextGL.InvalidateTexImage +#define glInvalidateTexSubImage flextGL.InvalidateTexSubImage +#define glMultiDrawArraysIndirect flextGL.MultiDrawArraysIndirect +#define glMultiDrawElementsIndirect flextGL.MultiDrawElementsIndirect +#define glObjectLabel flextGL.ObjectLabel +#define glObjectPtrLabel flextGL.ObjectPtrLabel +#define glPopDebugGroup flextGL.PopDebugGroup +#define glPushDebugGroup flextGL.PushDebugGroup +#define glShaderStorageBlockBinding flextGL.ShaderStorageBlockBinding +#define glTexBufferRange flextGL.TexBufferRange +#define glTexStorage2DMultisample flextGL.TexStorage2DMultisample +#define glTexStorage3DMultisample flextGL.TexStorage3DMultisample +#define glTextureView flextGL.TextureView +#define glVertexAttribBinding flextGL.VertexAttribBinding +#define glVertexAttribFormat flextGL.VertexAttribFormat +#define glVertexAttribIFormat flextGL.VertexAttribIFormat +#define glVertexAttribLFormat flextGL.VertexAttribLFormat +#define glVertexBindingDivisor flextGL.VertexBindingDivisor /* GL_VERSION_4_4 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *); -#define glBindBuffersBase flextglBindBuffersBase -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *); -#define glBindBuffersRange flextglBindBuffersRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTextures)(GLuint, GLsizei, const GLuint *); -#define glBindImageTextures flextglBindImageTextures -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindSamplers)(GLuint, GLsizei, const GLuint *); -#define glBindSamplers flextglBindSamplers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindTextures)(GLuint, GLsizei, const GLuint *); -#define glBindTextures flextglBindTextures -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *); -#define glBindVertexBuffers flextglBindVertexBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferStorage)(GLenum, GLsizeiptr, const void *, GLbitfield); -#define glBufferStorage flextglBufferStorage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearTexImage)(GLuint, GLint, GLenum, GLenum, const void *); -#define glClearTexImage flextglClearTexImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glClearTexSubImage flextglClearTexSubImage +#define glBindBuffersBase flextGL.BindBuffersBase +#define glBindBuffersRange flextGL.BindBuffersRange +#define glBindImageTextures flextGL.BindImageTextures +#define glBindSamplers flextGL.BindSamplers +#define glBindTextures flextGL.BindTextures +#define glBindVertexBuffers flextGL.BindVertexBuffers +#define glBufferStorage flextGL.BufferStorage +#define glClearTexImage flextGL.ClearTexImage +#define glClearTexSubImage flextGL.ClearTexSubImage /* GL_VERSION_4_5 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindTextureUnit)(GLuint, GLuint); -#define glBindTextureUnit flextglBindTextureUnit -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitNamedFramebuffer)(GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitNamedFramebuffer flextglBlitNamedFramebuffer -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckNamedFramebufferStatus)(GLuint, GLenum); -#define glCheckNamedFramebufferStatus flextglCheckNamedFramebufferStatus -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferData)(GLuint, GLenum, GLenum, GLenum, const void *); -#define glClearNamedBufferData flextglClearNamedBufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferSubData)(GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *); -#define glClearNamedBufferSubData flextglClearNamedBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferfi)(GLuint, GLenum, GLint, GLfloat, GLint); -#define glClearNamedFramebufferfi flextglClearNamedFramebufferfi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferfv)(GLuint, GLenum, GLint, const GLfloat *); -#define glClearNamedFramebufferfv flextglClearNamedFramebufferfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferiv)(GLuint, GLenum, GLint, const GLint *); -#define glClearNamedFramebufferiv flextglClearNamedFramebufferiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedFramebufferuiv)(GLuint, GLenum, GLint, const GLuint *); -#define glClearNamedFramebufferuiv flextglClearNamedFramebufferuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClipControl)(GLenum, GLenum); -#define glClipControl flextglClipControl -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage1D)(GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTextureSubImage1D flextglCompressedTextureSubImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTextureSubImage2D flextglCompressedTextureSubImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTextureSubImage3D flextglCompressedTextureSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyNamedBufferSubData)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr); -#define glCopyNamedBufferSubData flextglCopyNamedBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage1D)(GLuint, GLint, GLint, GLint, GLint, GLsizei); -#define glCopyTextureSubImage1D flextglCopyTextureSubImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTextureSubImage2D flextglCopyTextureSubImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTextureSubImage3D flextglCopyTextureSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateBuffers)(GLsizei, GLuint *); -#define glCreateBuffers flextglCreateBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateFramebuffers)(GLsizei, GLuint *); -#define glCreateFramebuffers flextglCreateFramebuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateProgramPipelines)(GLsizei, GLuint *); -#define glCreateProgramPipelines flextglCreateProgramPipelines -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateQueries)(GLenum, GLsizei, GLuint *); -#define glCreateQueries flextglCreateQueries -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateRenderbuffers)(GLsizei, GLuint *); -#define glCreateRenderbuffers flextglCreateRenderbuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateSamplers)(GLsizei, GLuint *); -#define glCreateSamplers flextglCreateSamplers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateTextures)(GLenum, GLsizei, GLuint *); -#define glCreateTextures flextglCreateTextures -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateTransformFeedbacks)(GLsizei, GLuint *); -#define glCreateTransformFeedbacks flextglCreateTransformFeedbacks -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCreateVertexArrays)(GLsizei, GLuint *); -#define glCreateVertexArrays flextglCreateVertexArrays -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexArrayAttrib)(GLuint, GLuint); -#define glDisableVertexArrayAttrib flextglDisableVertexArrayAttrib -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexArrayAttrib)(GLuint, GLuint); -#define glEnableVertexArrayAttrib flextglEnableVertexArrayAttrib -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedNamedBufferRange)(GLuint, GLintptr, GLsizeiptr); -#define glFlushMappedNamedBufferRange flextglFlushMappedNamedBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenerateTextureMipmap)(GLuint); -#define glGenerateTextureMipmap flextglGenerateTextureMipmap -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTextureImage)(GLuint, GLint, GLsizei, void *); -#define glGetCompressedTextureImage flextglGetCompressedTextureImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTextureSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void *); -#define glGetCompressedTextureSubImage flextglGetCompressedTextureSubImage -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void); -#define glGetGraphicsResetStatus flextglGetGraphicsResetStatus -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferParameteri64v)(GLuint, GLenum, GLint64 *); -#define glGetNamedBufferParameteri64v flextglGetNamedBufferParameteri64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferParameteriv)(GLuint, GLenum, GLint *); -#define glGetNamedBufferParameteriv flextglGetNamedBufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferPointerv)(GLuint, GLenum, void **); -#define glGetNamedBufferPointerv flextglGetNamedBufferPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferSubData)(GLuint, GLintptr, GLsizeiptr, void *); -#define glGetNamedBufferSubData flextglGetNamedBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferAttachmentParameteriv)(GLuint, GLenum, GLenum, GLint *); -#define glGetNamedFramebufferAttachmentParameteriv flextglGetNamedFramebufferAttachmentParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferParameteriv)(GLuint, GLenum, GLint *); -#define glGetNamedFramebufferParameteriv flextglGetNamedFramebufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedRenderbufferParameteriv)(GLuint, GLenum, GLint *); -#define glGetNamedRenderbufferParameteriv flextglGetNamedRenderbufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjecti64v)(GLuint, GLuint, GLenum, GLintptr); -#define glGetQueryBufferObjecti64v flextglGetQueryBufferObjecti64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjectiv)(GLuint, GLuint, GLenum, GLintptr); -#define glGetQueryBufferObjectiv flextglGetQueryBufferObjectiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjectui64v)(GLuint, GLuint, GLenum, GLintptr); -#define glGetQueryBufferObjectui64v flextglGetQueryBufferObjectui64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryBufferObjectuiv)(GLuint, GLuint, GLenum, GLintptr); -#define glGetQueryBufferObjectuiv flextglGetQueryBufferObjectuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureImage)(GLuint, GLint, GLenum, GLenum, GLsizei, void *); -#define glGetTextureImage flextglGetTextureImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameterfv)(GLuint, GLint, GLenum, GLfloat *); -#define glGetTextureLevelParameterfv flextglGetTextureLevelParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameteriv)(GLuint, GLint, GLenum, GLint *); -#define glGetTextureLevelParameteriv flextglGetTextureLevelParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIiv)(GLuint, GLenum, GLint *); -#define glGetTextureParameterIiv flextglGetTextureParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIuiv)(GLuint, GLenum, GLuint *); -#define glGetTextureParameterIuiv flextglGetTextureParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterfv)(GLuint, GLenum, GLfloat *); -#define glGetTextureParameterfv flextglGetTextureParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameteriv)(GLuint, GLenum, GLint *); -#define glGetTextureParameteriv flextglGetTextureParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glGetTextureSubImage flextglGetTextureSubImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbacki64_v)(GLuint, GLenum, GLuint, GLint64 *); -#define glGetTransformFeedbacki64_v flextglGetTransformFeedbacki64_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbacki_v)(GLuint, GLenum, GLuint, GLint *); -#define glGetTransformFeedbacki_v flextglGetTransformFeedbacki_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackiv)(GLuint, GLenum, GLint *); -#define glGetTransformFeedbackiv flextglGetTransformFeedbackiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIndexed64iv)(GLuint, GLuint, GLenum, GLint64 *); -#define glGetVertexArrayIndexed64iv flextglGetVertexArrayIndexed64iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIndexediv)(GLuint, GLuint, GLenum, GLint *); -#define glGetVertexArrayIndexediv flextglGetVertexArrayIndexediv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayiv)(GLuint, GLenum, GLint *); -#define glGetVertexArrayiv flextglGetVertexArrayiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnCompressedTexImage)(GLenum, GLint, GLsizei, void *); -#define glGetnCompressedTexImage flextglGetnCompressedTexImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnTexImage)(GLenum, GLint, GLenum, GLenum, GLsizei, void *); -#define glGetnTexImage flextglGetnTexImage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformdv)(GLuint, GLint, GLsizei, GLdouble *); -#define glGetnUniformdv flextglGetnUniformdv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfv flextglGetnUniformfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformiv)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformiv flextglGetnUniformiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuiv flextglGetnUniformuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateNamedFramebufferData)(GLuint, GLsizei, const GLenum *); -#define glInvalidateNamedFramebufferData flextglInvalidateNamedFramebufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateNamedFramebufferSubData)(GLuint, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei); -#define glInvalidateNamedFramebufferSubData flextglInvalidateNamedFramebufferSubData -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBuffer)(GLuint, GLenum); -#define glMapNamedBuffer flextglMapNamedBuffer -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBufferRange)(GLuint, GLintptr, GLsizeiptr, GLbitfield); -#define glMapNamedBufferRange flextglMapNamedBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrierByRegion)(GLbitfield); -#define glMemoryBarrierByRegion flextglMemoryBarrierByRegion -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferData)(GLuint, GLsizeiptr, const void *, GLenum); -#define glNamedBufferData flextglNamedBufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferStorage)(GLuint, GLsizeiptr, const void *, GLbitfield); -#define glNamedBufferStorage flextglNamedBufferStorage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferSubData)(GLuint, GLintptr, GLsizeiptr, const void *); -#define glNamedBufferSubData flextglNamedBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferDrawBuffer)(GLuint, GLenum); -#define glNamedFramebufferDrawBuffer flextglNamedFramebufferDrawBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferDrawBuffers)(GLuint, GLsizei, const GLenum *); -#define glNamedFramebufferDrawBuffers flextglNamedFramebufferDrawBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferParameteri)(GLuint, GLenum, GLint); -#define glNamedFramebufferParameteri flextglNamedFramebufferParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferReadBuffer)(GLuint, GLenum); -#define glNamedFramebufferReadBuffer flextglNamedFramebufferReadBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferRenderbuffer)(GLuint, GLenum, GLenum, GLuint); -#define glNamedFramebufferRenderbuffer flextglNamedFramebufferRenderbuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture)(GLuint, GLenum, GLuint, GLint); -#define glNamedFramebufferTexture flextglNamedFramebufferTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureLayer)(GLuint, GLenum, GLuint, GLint, GLint); -#define glNamedFramebufferTextureLayer flextglNamedFramebufferTextureLayer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorage)(GLuint, GLenum, GLsizei, GLsizei); -#define glNamedRenderbufferStorage flextglNamedRenderbufferStorage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei); -#define glNamedRenderbufferStorageMultisample flextglNamedRenderbufferStorageMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixels flextglReadnPixels -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureBarrier)(void); -#define glTextureBarrier flextglTextureBarrier -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureBuffer)(GLuint, GLenum, GLuint); -#define glTextureBuffer flextglTextureBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureBufferRange)(GLuint, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTextureBufferRange flextglTextureBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIiv)(GLuint, GLenum, const GLint *); -#define glTextureParameterIiv flextglTextureParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIuiv)(GLuint, GLenum, const GLuint *); -#define glTextureParameterIuiv flextglTextureParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterf)(GLuint, GLenum, GLfloat); -#define glTextureParameterf flextglTextureParameterf -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterfv)(GLuint, GLenum, const GLfloat *); -#define glTextureParameterfv flextglTextureParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameteri)(GLuint, GLenum, GLint); -#define glTextureParameteri flextglTextureParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameteriv)(GLuint, GLenum, const GLint *); -#define glTextureParameteriv flextglTextureParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage1D)(GLuint, GLsizei, GLenum, GLsizei); -#define glTextureStorage1D flextglTextureStorage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2D)(GLuint, GLsizei, GLenum, GLsizei, GLsizei); -#define glTextureStorage2D flextglTextureStorage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2DMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTextureStorage2DMultisample flextglTextureStorage2DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3D)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); -#define glTextureStorage3D flextglTextureStorage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3DMultisample)(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTextureStorage3DMultisample flextglTextureStorage3DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage1D)(GLuint, GLint, GLint, GLsizei, GLenum, GLenum, const void *); -#define glTextureSubImage1D flextglTextureSubImage1D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage2D)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTextureSubImage2D flextglTextureSubImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage3D)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTextureSubImage3D flextglTextureSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackBufferBase)(GLuint, GLuint, GLuint); -#define glTransformFeedbackBufferBase flextglTransformFeedbackBufferBase -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackBufferRange)(GLuint, GLuint, GLuint, GLintptr, GLsizeiptr); -#define glTransformFeedbackBufferRange flextglTransformFeedbackBufferRange -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapNamedBuffer)(GLuint); -#define glUnmapNamedBuffer flextglUnmapNamedBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribBinding)(GLuint, GLuint, GLuint); -#define glVertexArrayAttribBinding flextglVertexArrayAttribBinding -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribFormat)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint); -#define glVertexArrayAttribFormat flextglVertexArrayAttribFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribIFormat)(GLuint, GLuint, GLint, GLenum, GLuint); -#define glVertexArrayAttribIFormat flextglVertexArrayAttribIFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayAttribLFormat)(GLuint, GLuint, GLint, GLenum, GLuint); -#define glVertexArrayAttribLFormat flextglVertexArrayAttribLFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayBindingDivisor)(GLuint, GLuint, GLuint); -#define glVertexArrayBindingDivisor flextglVertexArrayBindingDivisor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayElementBuffer)(GLuint, GLuint); -#define glVertexArrayElementBuffer flextglVertexArrayElementBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffer)(GLuint, GLuint, GLuint, GLintptr, GLsizei); -#define glVertexArrayVertexBuffer flextglVertexArrayVertexBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffers)(GLuint, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *); -#define glVertexArrayVertexBuffers flextglVertexArrayVertexBuffers +#define glBindTextureUnit flextGL.BindTextureUnit +#define glBlitNamedFramebuffer flextGL.BlitNamedFramebuffer +#define glCheckNamedFramebufferStatus flextGL.CheckNamedFramebufferStatus +#define glClearNamedBufferData flextGL.ClearNamedBufferData +#define glClearNamedBufferSubData flextGL.ClearNamedBufferSubData +#define glClearNamedFramebufferfi flextGL.ClearNamedFramebufferfi +#define glClearNamedFramebufferfv flextGL.ClearNamedFramebufferfv +#define glClearNamedFramebufferiv flextGL.ClearNamedFramebufferiv +#define glClearNamedFramebufferuiv flextGL.ClearNamedFramebufferuiv +#define glClipControl flextGL.ClipControl +#define glCompressedTextureSubImage1D flextGL.CompressedTextureSubImage1D +#define glCompressedTextureSubImage2D flextGL.CompressedTextureSubImage2D +#define glCompressedTextureSubImage3D flextGL.CompressedTextureSubImage3D +#define glCopyNamedBufferSubData flextGL.CopyNamedBufferSubData +#define glCopyTextureSubImage1D flextGL.CopyTextureSubImage1D +#define glCopyTextureSubImage2D flextGL.CopyTextureSubImage2D +#define glCopyTextureSubImage3D flextGL.CopyTextureSubImage3D +#define glCreateBuffers flextGL.CreateBuffers +#define glCreateFramebuffers flextGL.CreateFramebuffers +#define glCreateProgramPipelines flextGL.CreateProgramPipelines +#define glCreateQueries flextGL.CreateQueries +#define glCreateRenderbuffers flextGL.CreateRenderbuffers +#define glCreateSamplers flextGL.CreateSamplers +#define glCreateTextures flextGL.CreateTextures +#define glCreateTransformFeedbacks flextGL.CreateTransformFeedbacks +#define glCreateVertexArrays flextGL.CreateVertexArrays +#define glDisableVertexArrayAttrib flextGL.DisableVertexArrayAttrib +#define glEnableVertexArrayAttrib flextGL.EnableVertexArrayAttrib +#define glFlushMappedNamedBufferRange flextGL.FlushMappedNamedBufferRange +#define glGenerateTextureMipmap flextGL.GenerateTextureMipmap +#define glGetCompressedTextureImage flextGL.GetCompressedTextureImage +#define glGetCompressedTextureSubImage flextGL.GetCompressedTextureSubImage +#define glGetGraphicsResetStatus flextGL.GetGraphicsResetStatus +#define glGetNamedBufferParameteri64v flextGL.GetNamedBufferParameteri64v +#define glGetNamedBufferParameteriv flextGL.GetNamedBufferParameteriv +#define glGetNamedBufferPointerv flextGL.GetNamedBufferPointerv +#define glGetNamedBufferSubData flextGL.GetNamedBufferSubData +#define glGetNamedFramebufferAttachmentParameteriv flextGL.GetNamedFramebufferAttachmentParameteriv +#define glGetNamedFramebufferParameteriv flextGL.GetNamedFramebufferParameteriv +#define glGetNamedRenderbufferParameteriv flextGL.GetNamedRenderbufferParameteriv +#define glGetQueryBufferObjecti64v flextGL.GetQueryBufferObjecti64v +#define glGetQueryBufferObjectiv flextGL.GetQueryBufferObjectiv +#define glGetQueryBufferObjectui64v flextGL.GetQueryBufferObjectui64v +#define glGetQueryBufferObjectuiv flextGL.GetQueryBufferObjectuiv +#define glGetTextureImage flextGL.GetTextureImage +#define glGetTextureLevelParameterfv flextGL.GetTextureLevelParameterfv +#define glGetTextureLevelParameteriv flextGL.GetTextureLevelParameteriv +#define glGetTextureParameterIiv flextGL.GetTextureParameterIiv +#define glGetTextureParameterIuiv flextGL.GetTextureParameterIuiv +#define glGetTextureParameterfv flextGL.GetTextureParameterfv +#define glGetTextureParameteriv flextGL.GetTextureParameteriv +#define glGetTextureSubImage flextGL.GetTextureSubImage +#define glGetTransformFeedbacki64_v flextGL.GetTransformFeedbacki64_v +#define glGetTransformFeedbacki_v flextGL.GetTransformFeedbacki_v +#define glGetTransformFeedbackiv flextGL.GetTransformFeedbackiv +#define glGetVertexArrayIndexed64iv flextGL.GetVertexArrayIndexed64iv +#define glGetVertexArrayIndexediv flextGL.GetVertexArrayIndexediv +#define glGetVertexArrayiv flextGL.GetVertexArrayiv +#define glGetnCompressedTexImage flextGL.GetnCompressedTexImage +#define glGetnTexImage flextGL.GetnTexImage +#define glGetnUniformdv flextGL.GetnUniformdv +#define glGetnUniformfv flextGL.GetnUniformfv +#define glGetnUniformiv flextGL.GetnUniformiv +#define glGetnUniformuiv flextGL.GetnUniformuiv +#define glInvalidateNamedFramebufferData flextGL.InvalidateNamedFramebufferData +#define glInvalidateNamedFramebufferSubData flextGL.InvalidateNamedFramebufferSubData +#define glMapNamedBuffer flextGL.MapNamedBuffer +#define glMapNamedBufferRange flextGL.MapNamedBufferRange +#define glMemoryBarrierByRegion flextGL.MemoryBarrierByRegion +#define glNamedBufferData flextGL.NamedBufferData +#define glNamedBufferStorage flextGL.NamedBufferStorage +#define glNamedBufferSubData flextGL.NamedBufferSubData +#define glNamedFramebufferDrawBuffer flextGL.NamedFramebufferDrawBuffer +#define glNamedFramebufferDrawBuffers flextGL.NamedFramebufferDrawBuffers +#define glNamedFramebufferParameteri flextGL.NamedFramebufferParameteri +#define glNamedFramebufferReadBuffer flextGL.NamedFramebufferReadBuffer +#define glNamedFramebufferRenderbuffer flextGL.NamedFramebufferRenderbuffer +#define glNamedFramebufferTexture flextGL.NamedFramebufferTexture +#define glNamedFramebufferTextureLayer flextGL.NamedFramebufferTextureLayer +#define glNamedRenderbufferStorage flextGL.NamedRenderbufferStorage +#define glNamedRenderbufferStorageMultisample flextGL.NamedRenderbufferStorageMultisample +#define glReadnPixels flextGL.ReadnPixels +#define glTextureBarrier flextGL.TextureBarrier +#define glTextureBuffer flextGL.TextureBuffer +#define glTextureBufferRange flextGL.TextureBufferRange +#define glTextureParameterIiv flextGL.TextureParameterIiv +#define glTextureParameterIuiv flextGL.TextureParameterIuiv +#define glTextureParameterf flextGL.TextureParameterf +#define glTextureParameterfv flextGL.TextureParameterfv +#define glTextureParameteri flextGL.TextureParameteri +#define glTextureParameteriv flextGL.TextureParameteriv +#define glTextureStorage1D flextGL.TextureStorage1D +#define glTextureStorage2D flextGL.TextureStorage2D +#define glTextureStorage2DMultisample flextGL.TextureStorage2DMultisample +#define glTextureStorage3D flextGL.TextureStorage3D +#define glTextureStorage3DMultisample flextGL.TextureStorage3DMultisample +#define glTextureSubImage1D flextGL.TextureSubImage1D +#define glTextureSubImage2D flextGL.TextureSubImage2D +#define glTextureSubImage3D flextGL.TextureSubImage3D +#define glTransformFeedbackBufferBase flextGL.TransformFeedbackBufferBase +#define glTransformFeedbackBufferRange flextGL.TransformFeedbackBufferRange +#define glUnmapNamedBuffer flextGL.UnmapNamedBuffer +#define glVertexArrayAttribBinding flextGL.VertexArrayAttribBinding +#define glVertexArrayAttribFormat flextGL.VertexArrayAttribFormat +#define glVertexArrayAttribIFormat flextGL.VertexArrayAttribIFormat +#define glVertexArrayAttribLFormat flextGL.VertexArrayAttribLFormat +#define glVertexArrayBindingDivisor flextGL.VertexArrayBindingDivisor +#define glVertexArrayElementBuffer flextGL.VertexArrayElementBuffer +#define glVertexArrayVertexBuffer flextGL.VertexArrayVertexBuffer +#define glVertexArrayVertexBuffers flextGL.VertexArrayVertexBuffers /* GL_VERSION_4_6 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirectCount)(GLenum, const void *, GLintptr, GLsizei, GLsizei); -#define glMultiDrawArraysIndirectCount flextglMultiDrawArraysIndirectCount -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirectCount)(GLenum, GLenum, const void *, GLintptr, GLsizei, GLsizei); -#define glMultiDrawElementsIndirectCount flextglMultiDrawElementsIndirectCount -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClamp)(GLfloat, GLfloat, GLfloat); -#define glPolygonOffsetClamp flextglPolygonOffsetClamp -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSpecializeShader)(GLuint, const GLchar *, GLuint, const GLuint *, const GLuint *); -#define glSpecializeShader flextglSpecializeShader - +#define glMultiDrawArraysIndirectCount flextGL.MultiDrawArraysIndirectCount +#define glMultiDrawElementsIndirectCount flextGL.MultiDrawElementsIndirectCount +#define glPolygonOffsetClamp flextGL.PolygonOffsetClamp +#define glSpecializeShader flextGL.SpecializeShader #endif #ifdef __cplusplus diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.h.template b/src/MagnumExternal/OpenGL/GL/flextGL.h.template index d89c550ce..de94a91e1 100644 --- a/src/MagnumExternal/OpenGL/GL/flextGL.h.template +++ b/src/MagnumExternal/OpenGL/GL/flextGL.h.template @@ -91,9 +91,6 @@ void flextGLInit(Magnum::GL::Context& context); #ifndef APIENTRY #define APIENTRY #endif -#ifndef GLAPI -#define GLAPI extern -#endif /* GL version defines. Needs to be done to avoid conflicting definitions with other GL headers (such as qopengl.h in Qt, which has different definition @@ -112,20 +109,37 @@ void flextGLInit(Magnum::GL::Context& context); @enums -/* Function prototypes */ +/* Function prototypes. Put into a struct in order to handle thread-localness + and globals unique across shared libs, this also means way less symbols is + exported, saving on binary size. Contexts on NVidia 390 drivers don't have + correct statically linked GL 1.0 and 1.1 functions (such as glGetString()) + and one has to retrieve them explicitly using eglGetProcAddress(), which is + why those functions aren't listed as direct prototypes. */ +struct FlextGL { + @for cat,funcs in functions: + @if funcs: + + /* GL_@cat */ + + @for f in funcs: + @f.returntype\ +(APIENTRY *@f.name)(@f.param_type_list_string()); + @end + @end + @end +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; @for cat,funcs in functions: @if funcs: /* GL_@cat */ - @for f in funcs: -GLAPI FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()); -#define gl@f.name flextgl@f.name - @end +@for f in funcs: +#define gl@f.name flextGL.@f.name +@end @end @end - #endif #ifdef __cplusplus diff --git a/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp index ded659730..5f270d1cc 100644 --- a/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp +++ b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp @@ -49,69 +49,69 @@ void flextGLInit(Magnum::GL::Context& context) { if(std::strcmp(vendor, "NVIDIA") == 0 && !context.isDriverWorkaroundDisabled("nv-egl-incorrect-gl11-function-pointers")) { /* GL_VERSION_1_0 */ - flextglBlendFunc = reinterpret_cast(loader.load("glBlendFunc")); - flextglClear = reinterpret_cast(loader.load("glClear")); - flextglClearColor = reinterpret_cast(loader.load("glClearColor")); - flextglClearDepth = reinterpret_cast(loader.load("glClearDepth")); - flextglClearStencil = reinterpret_cast(loader.load("glClearStencil")); - flextglColorMask = reinterpret_cast(loader.load("glColorMask")); - flextglCullFace = reinterpret_cast(loader.load("glCullFace")); - flextglDepthFunc = reinterpret_cast(loader.load("glDepthFunc")); - flextglDepthMask = reinterpret_cast(loader.load("glDepthMask")); - flextglDepthRange = reinterpret_cast(loader.load("glDepthRange")); - flextglDisable = reinterpret_cast(loader.load("glDisable")); - flextglDrawBuffer = reinterpret_cast(loader.load("glDrawBuffer")); - flextglEnable = reinterpret_cast(loader.load("glEnable")); - flextglFinish = reinterpret_cast(loader.load("glFinish")); - flextglFlush = reinterpret_cast(loader.load("glFlush")); - flextglFrontFace = reinterpret_cast(loader.load("glFrontFace")); - flextglGetBooleanv = reinterpret_cast(loader.load("glGetBooleanv")); - flextglGetDoublev = reinterpret_cast(loader.load("glGetDoublev")); - flextglGetError = reinterpret_cast(loader.load("glGetError")); - flextglGetFloatv = reinterpret_cast(loader.load("glGetFloatv")); - flextglGetIntegerv = reinterpret_cast(loader.load("glGetIntegerv")); - flextglGetString = reinterpret_cast(loader.load("glGetString")); - flextglGetTexImage = reinterpret_cast(loader.load("glGetTexImage")); - flextglGetTexLevelParameterfv = reinterpret_cast(loader.load("glGetTexLevelParameterfv")); - flextglGetTexLevelParameteriv = reinterpret_cast(loader.load("glGetTexLevelParameteriv")); - flextglGetTexParameterfv = reinterpret_cast(loader.load("glGetTexParameterfv")); - flextglGetTexParameteriv = reinterpret_cast(loader.load("glGetTexParameteriv")); - flextglHint = reinterpret_cast(loader.load("glHint")); - flextglIsEnabled = reinterpret_cast(loader.load("glIsEnabled")); - flextglLineWidth = reinterpret_cast(loader.load("glLineWidth")); - flextglLogicOp = reinterpret_cast(loader.load("glLogicOp")); - flextglPixelStoref = reinterpret_cast(loader.load("glPixelStoref")); - flextglPixelStorei = reinterpret_cast(loader.load("glPixelStorei")); - flextglPointSize = reinterpret_cast(loader.load("glPointSize")); - flextglPolygonMode = reinterpret_cast(loader.load("glPolygonMode")); - flextglReadBuffer = reinterpret_cast(loader.load("glReadBuffer")); - flextglReadPixels = reinterpret_cast(loader.load("glReadPixels")); - flextglScissor = reinterpret_cast(loader.load("glScissor")); - flextglStencilFunc = reinterpret_cast(loader.load("glStencilFunc")); - flextglStencilMask = reinterpret_cast(loader.load("glStencilMask")); - flextglStencilOp = reinterpret_cast(loader.load("glStencilOp")); - flextglTexImage1D = reinterpret_cast(loader.load("glTexImage1D")); - flextglTexImage2D = reinterpret_cast(loader.load("glTexImage2D")); - flextglTexParameterf = reinterpret_cast(loader.load("glTexParameterf")); - flextglTexParameterfv = reinterpret_cast(loader.load("glTexParameterfv")); - flextglTexParameteri = reinterpret_cast(loader.load("glTexParameteri")); - flextglTexParameteriv = reinterpret_cast(loader.load("glTexParameteriv")); - flextglViewport = reinterpret_cast(loader.load("glViewport")); + flextGL.BlendFunc = reinterpret_cast(loader.load("glBlendFunc")); + flextGL.Clear = reinterpret_cast(loader.load("glClear")); + flextGL.ClearColor = reinterpret_cast(loader.load("glClearColor")); + flextGL.ClearDepth = reinterpret_cast(loader.load("glClearDepth")); + flextGL.ClearStencil = reinterpret_cast(loader.load("glClearStencil")); + flextGL.ColorMask = reinterpret_cast(loader.load("glColorMask")); + flextGL.CullFace = reinterpret_cast(loader.load("glCullFace")); + flextGL.DepthFunc = reinterpret_cast(loader.load("glDepthFunc")); + flextGL.DepthMask = reinterpret_cast(loader.load("glDepthMask")); + flextGL.DepthRange = reinterpret_cast(loader.load("glDepthRange")); + flextGL.Disable = reinterpret_cast(loader.load("glDisable")); + flextGL.DrawBuffer = reinterpret_cast(loader.load("glDrawBuffer")); + flextGL.Enable = reinterpret_cast(loader.load("glEnable")); + flextGL.Finish = reinterpret_cast(loader.load("glFinish")); + flextGL.Flush = reinterpret_cast(loader.load("glFlush")); + flextGL.FrontFace = reinterpret_cast(loader.load("glFrontFace")); + flextGL.GetBooleanv = reinterpret_cast(loader.load("glGetBooleanv")); + flextGL.GetDoublev = reinterpret_cast(loader.load("glGetDoublev")); + flextGL.GetError = reinterpret_cast(loader.load("glGetError")); + flextGL.GetFloatv = reinterpret_cast(loader.load("glGetFloatv")); + flextGL.GetIntegerv = reinterpret_cast(loader.load("glGetIntegerv")); + flextGL.GetString = reinterpret_cast(loader.load("glGetString")); + flextGL.GetTexImage = reinterpret_cast(loader.load("glGetTexImage")); + flextGL.GetTexLevelParameterfv = reinterpret_cast(loader.load("glGetTexLevelParameterfv")); + flextGL.GetTexLevelParameteriv = reinterpret_cast(loader.load("glGetTexLevelParameteriv")); + flextGL.GetTexParameterfv = reinterpret_cast(loader.load("glGetTexParameterfv")); + flextGL.GetTexParameteriv = reinterpret_cast(loader.load("glGetTexParameteriv")); + flextGL.Hint = reinterpret_cast(loader.load("glHint")); + flextGL.IsEnabled = reinterpret_cast(loader.load("glIsEnabled")); + flextGL.LineWidth = reinterpret_cast(loader.load("glLineWidth")); + flextGL.LogicOp = reinterpret_cast(loader.load("glLogicOp")); + flextGL.PixelStoref = reinterpret_cast(loader.load("glPixelStoref")); + flextGL.PixelStorei = reinterpret_cast(loader.load("glPixelStorei")); + flextGL.PointSize = reinterpret_cast(loader.load("glPointSize")); + flextGL.PolygonMode = reinterpret_cast(loader.load("glPolygonMode")); + flextGL.ReadBuffer = reinterpret_cast(loader.load("glReadBuffer")); + flextGL.ReadPixels = reinterpret_cast(loader.load("glReadPixels")); + flextGL.Scissor = reinterpret_cast(loader.load("glScissor")); + flextGL.StencilFunc = reinterpret_cast(loader.load("glStencilFunc")); + flextGL.StencilMask = reinterpret_cast(loader.load("glStencilMask")); + flextGL.StencilOp = reinterpret_cast(loader.load("glStencilOp")); + flextGL.TexImage1D = reinterpret_cast(loader.load("glTexImage1D")); + flextGL.TexImage2D = reinterpret_cast(loader.load("glTexImage2D")); + flextGL.TexParameterf = reinterpret_cast(loader.load("glTexParameterf")); + flextGL.TexParameterfv = reinterpret_cast(loader.load("glTexParameterfv")); + flextGL.TexParameteri = reinterpret_cast(loader.load("glTexParameteri")); + flextGL.TexParameteriv = reinterpret_cast(loader.load("glTexParameteriv")); + flextGL.Viewport = reinterpret_cast(loader.load("glViewport")); /* GL_VERSION_1_1 */ - flextglBindTexture = reinterpret_cast(loader.load("glBindTexture")); - flextglCopyTexImage1D = reinterpret_cast(loader.load("glCopyTexImage1D")); - flextglCopyTexImage2D = reinterpret_cast(loader.load("glCopyTexImage2D")); - flextglCopyTexSubImage1D = reinterpret_cast(loader.load("glCopyTexSubImage1D")); - flextglCopyTexSubImage2D = reinterpret_cast(loader.load("glCopyTexSubImage2D")); - flextglDeleteTextures = reinterpret_cast(loader.load("glDeleteTextures")); - flextglDrawArrays = reinterpret_cast(loader.load("glDrawArrays")); - flextglDrawElements = reinterpret_cast(loader.load("glDrawElements")); - flextglGenTextures = reinterpret_cast(loader.load("glGenTextures")); - flextglIsTexture = reinterpret_cast(loader.load("glIsTexture")); - flextglPolygonOffset = reinterpret_cast(loader.load("glPolygonOffset")); - flextglTexSubImage1D = reinterpret_cast(loader.load("glTexSubImage1D")); - flextglTexSubImage2D = reinterpret_cast(loader.load("glTexSubImage2D")); + flextGL.BindTexture = reinterpret_cast(loader.load("glBindTexture")); + flextGL.CopyTexImage1D = reinterpret_cast(loader.load("glCopyTexImage1D")); + flextGL.CopyTexImage2D = reinterpret_cast(loader.load("glCopyTexImage2D")); + flextGL.CopyTexSubImage1D = reinterpret_cast(loader.load("glCopyTexSubImage1D")); + flextGL.CopyTexSubImage2D = reinterpret_cast(loader.load("glCopyTexSubImage2D")); + flextGL.DeleteTextures = reinterpret_cast(loader.load("glDeleteTextures")); + flextGL.DrawArrays = reinterpret_cast(loader.load("glDrawArrays")); + flextGL.DrawElements = reinterpret_cast(loader.load("glDrawElements")); + flextGL.GenTextures = reinterpret_cast(loader.load("glGenTextures")); + flextGL.IsTexture = reinterpret_cast(loader.load("glIsTexture")); + flextGL.PolygonOffset = reinterpret_cast(loader.load("glPolygonOffset")); + flextGL.TexSubImage1D = reinterpret_cast(loader.load("glTexSubImage1D")); + flextGL.TexSubImage2D = reinterpret_cast(loader.load("glTexSubImage2D")); } } #else @@ -119,697 +119,697 @@ void flextGLInit(Magnum::GL::Context& context) { #endif /* GL_ARB_ES3_2_compatibility */ - flextglPrimitiveBoundingBoxARB = reinterpret_cast(loader.load("glPrimitiveBoundingBoxARB")); + flextGL.PrimitiveBoundingBoxARB = reinterpret_cast(loader.load("glPrimitiveBoundingBoxARB")); /* GL_ARB_bindless_texture */ - flextglGetImageHandleARB = reinterpret_cast(loader.load("glGetImageHandleARB")); - flextglGetTextureHandleARB = reinterpret_cast(loader.load("glGetTextureHandleARB")); - flextglGetTextureSamplerHandleARB = reinterpret_cast(loader.load("glGetTextureSamplerHandleARB")); - flextglGetVertexAttribLui64vARB = reinterpret_cast(loader.load("glGetVertexAttribLui64vARB")); - flextglIsImageHandleResidentARB = reinterpret_cast(loader.load("glIsImageHandleResidentARB")); - flextglIsTextureHandleResidentARB = reinterpret_cast(loader.load("glIsTextureHandleResidentARB")); - flextglMakeImageHandleNonResidentARB = reinterpret_cast(loader.load("glMakeImageHandleNonResidentARB")); - flextglMakeImageHandleResidentARB = reinterpret_cast(loader.load("glMakeImageHandleResidentARB")); - flextglMakeTextureHandleNonResidentARB = reinterpret_cast(loader.load("glMakeTextureHandleNonResidentARB")); - flextglMakeTextureHandleResidentARB = reinterpret_cast(loader.load("glMakeTextureHandleResidentARB")); - flextglProgramUniformHandleui64ARB = reinterpret_cast(loader.load("glProgramUniformHandleui64ARB")); - flextglProgramUniformHandleui64vARB = reinterpret_cast(loader.load("glProgramUniformHandleui64vARB")); - flextglUniformHandleui64ARB = reinterpret_cast(loader.load("glUniformHandleui64ARB")); - flextglUniformHandleui64vARB = reinterpret_cast(loader.load("glUniformHandleui64vARB")); - flextglVertexAttribL1ui64ARB = reinterpret_cast(loader.load("glVertexAttribL1ui64ARB")); - flextglVertexAttribL1ui64vARB = reinterpret_cast(loader.load("glVertexAttribL1ui64vARB")); + flextGL.GetImageHandleARB = reinterpret_cast(loader.load("glGetImageHandleARB")); + flextGL.GetTextureHandleARB = reinterpret_cast(loader.load("glGetTextureHandleARB")); + flextGL.GetTextureSamplerHandleARB = reinterpret_cast(loader.load("glGetTextureSamplerHandleARB")); + flextGL.GetVertexAttribLui64vARB = reinterpret_cast(loader.load("glGetVertexAttribLui64vARB")); + flextGL.IsImageHandleResidentARB = reinterpret_cast(loader.load("glIsImageHandleResidentARB")); + flextGL.IsTextureHandleResidentARB = reinterpret_cast(loader.load("glIsTextureHandleResidentARB")); + flextGL.MakeImageHandleNonResidentARB = reinterpret_cast(loader.load("glMakeImageHandleNonResidentARB")); + flextGL.MakeImageHandleResidentARB = reinterpret_cast(loader.load("glMakeImageHandleResidentARB")); + flextGL.MakeTextureHandleNonResidentARB = reinterpret_cast(loader.load("glMakeTextureHandleNonResidentARB")); + flextGL.MakeTextureHandleResidentARB = reinterpret_cast(loader.load("glMakeTextureHandleResidentARB")); + flextGL.ProgramUniformHandleui64ARB = reinterpret_cast(loader.load("glProgramUniformHandleui64ARB")); + flextGL.ProgramUniformHandleui64vARB = reinterpret_cast(loader.load("glProgramUniformHandleui64vARB")); + flextGL.UniformHandleui64ARB = reinterpret_cast(loader.load("glUniformHandleui64ARB")); + flextGL.UniformHandleui64vARB = reinterpret_cast(loader.load("glUniformHandleui64vARB")); + flextGL.VertexAttribL1ui64ARB = reinterpret_cast(loader.load("glVertexAttribL1ui64ARB")); + flextGL.VertexAttribL1ui64vARB = reinterpret_cast(loader.load("glVertexAttribL1ui64vARB")); /* GL_ARB_compute_variable_group_size */ - flextglDispatchComputeGroupSizeARB = reinterpret_cast(loader.load("glDispatchComputeGroupSizeARB")); + flextGL.DispatchComputeGroupSizeARB = reinterpret_cast(loader.load("glDispatchComputeGroupSizeARB")); /* GL_ARB_robustness */ - flextglGetGraphicsResetStatusARB = reinterpret_cast(loader.load("glGetGraphicsResetStatusARB")); - flextglGetnCompressedTexImageARB = reinterpret_cast(loader.load("glGetnCompressedTexImageARB")); - flextglGetnTexImageARB = reinterpret_cast(loader.load("glGetnTexImageARB")); - flextglGetnUniformdvARB = reinterpret_cast(loader.load("glGetnUniformdvARB")); - flextglGetnUniformfvARB = reinterpret_cast(loader.load("glGetnUniformfvARB")); - flextglGetnUniformivARB = reinterpret_cast(loader.load("glGetnUniformivARB")); - flextglGetnUniformuivARB = reinterpret_cast(loader.load("glGetnUniformuivARB")); - flextglReadnPixelsARB = reinterpret_cast(loader.load("glReadnPixelsARB")); + flextGL.GetGraphicsResetStatusARB = reinterpret_cast(loader.load("glGetGraphicsResetStatusARB")); + flextGL.GetnCompressedTexImageARB = reinterpret_cast(loader.load("glGetnCompressedTexImageARB")); + flextGL.GetnTexImageARB = reinterpret_cast(loader.load("glGetnTexImageARB")); + flextGL.GetnUniformdvARB = reinterpret_cast(loader.load("glGetnUniformdvARB")); + flextGL.GetnUniformfvARB = reinterpret_cast(loader.load("glGetnUniformfvARB")); + flextGL.GetnUniformivARB = reinterpret_cast(loader.load("glGetnUniformivARB")); + flextGL.GetnUniformuivARB = reinterpret_cast(loader.load("glGetnUniformuivARB")); + flextGL.ReadnPixelsARB = reinterpret_cast(loader.load("glReadnPixelsARB")); /* GL_ARB_sample_locations */ - flextglEvaluateDepthValuesARB = reinterpret_cast(loader.load("glEvaluateDepthValuesARB")); - flextglFramebufferSampleLocationsfvARB = reinterpret_cast(loader.load("glFramebufferSampleLocationsfvARB")); - flextglNamedFramebufferSampleLocationsfvARB = reinterpret_cast(loader.load("glNamedFramebufferSampleLocationsfvARB")); + flextGL.EvaluateDepthValuesARB = reinterpret_cast(loader.load("glEvaluateDepthValuesARB")); + flextGL.FramebufferSampleLocationsfvARB = reinterpret_cast(loader.load("glFramebufferSampleLocationsfvARB")); + flextGL.NamedFramebufferSampleLocationsfvARB = reinterpret_cast(loader.load("glNamedFramebufferSampleLocationsfvARB")); /* GL_ARB_sparse_buffer */ - flextglBufferPageCommitmentARB = reinterpret_cast(loader.load("glBufferPageCommitmentARB")); - flextglNamedBufferPageCommitmentARB = reinterpret_cast(loader.load("glNamedBufferPageCommitmentARB")); - flextglNamedBufferPageCommitmentEXT = reinterpret_cast(loader.load("glNamedBufferPageCommitmentEXT")); + flextGL.BufferPageCommitmentARB = reinterpret_cast(loader.load("glBufferPageCommitmentARB")); + flextGL.NamedBufferPageCommitmentARB = reinterpret_cast(loader.load("glNamedBufferPageCommitmentARB")); + flextGL.NamedBufferPageCommitmentEXT = reinterpret_cast(loader.load("glNamedBufferPageCommitmentEXT")); /* GL_ARB_sparse_texture */ - flextglTexPageCommitmentARB = reinterpret_cast(loader.load("glTexPageCommitmentARB")); + flextGL.TexPageCommitmentARB = reinterpret_cast(loader.load("glTexPageCommitmentARB")); /* GL_EXT_debug_label */ - flextglGetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); - flextglLabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); + flextGL.GetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); + flextGL.LabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); /* GL_EXT_debug_marker */ - flextglInsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); - flextglPopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); - flextglPushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); + flextGL.InsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); + flextGL.PopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); + flextGL.PushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); /* GL_GREMEDY_string_marker */ - flextglStringMarkerGREMEDY = reinterpret_cast(loader.load("glStringMarkerGREMEDY")); + flextGL.StringMarkerGREMEDY = reinterpret_cast(loader.load("glStringMarkerGREMEDY")); /* GL_KHR_blend_equation_advanced */ - flextglBlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); + flextGL.BlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); /* GL_OVR_multiview */ - flextglFramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glFramebufferTextureMultiviewOVR")); + flextGL.FramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glFramebufferTextureMultiviewOVR")); /* GL_VERSION_1_2 */ - flextglCopyTexSubImage3D = reinterpret_cast(loader.load("glCopyTexSubImage3D")); - flextglDrawRangeElements = reinterpret_cast(loader.load("glDrawRangeElements")); - flextglTexImage3D = reinterpret_cast(loader.load("glTexImage3D")); - flextglTexSubImage3D = reinterpret_cast(loader.load("glTexSubImage3D")); + flextGL.CopyTexSubImage3D = reinterpret_cast(loader.load("glCopyTexSubImage3D")); + flextGL.DrawRangeElements = reinterpret_cast(loader.load("glDrawRangeElements")); + flextGL.TexImage3D = reinterpret_cast(loader.load("glTexImage3D")); + flextGL.TexSubImage3D = reinterpret_cast(loader.load("glTexSubImage3D")); /* GL_VERSION_1_3 */ - flextglActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); - flextglCompressedTexImage1D = reinterpret_cast(loader.load("glCompressedTexImage1D")); - flextglCompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); - flextglCompressedTexImage3D = reinterpret_cast(loader.load("glCompressedTexImage3D")); - flextglCompressedTexSubImage1D = reinterpret_cast(loader.load("glCompressedTexSubImage1D")); - flextglCompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); - flextglCompressedTexSubImage3D = reinterpret_cast(loader.load("glCompressedTexSubImage3D")); - flextglGetCompressedTexImage = reinterpret_cast(loader.load("glGetCompressedTexImage")); - flextglSampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); + flextGL.ActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); + flextGL.CompressedTexImage1D = reinterpret_cast(loader.load("glCompressedTexImage1D")); + flextGL.CompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); + flextGL.CompressedTexImage3D = reinterpret_cast(loader.load("glCompressedTexImage3D")); + flextGL.CompressedTexSubImage1D = reinterpret_cast(loader.load("glCompressedTexSubImage1D")); + flextGL.CompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); + flextGL.CompressedTexSubImage3D = reinterpret_cast(loader.load("glCompressedTexSubImage3D")); + flextGL.GetCompressedTexImage = reinterpret_cast(loader.load("glGetCompressedTexImage")); + flextGL.SampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); /* GL_VERSION_1_4 */ - flextglBlendColor = reinterpret_cast(loader.load("glBlendColor")); - flextglBlendEquation = reinterpret_cast(loader.load("glBlendEquation")); - flextglBlendFuncSeparate = reinterpret_cast(loader.load("glBlendFuncSeparate")); - flextglMultiDrawArrays = reinterpret_cast(loader.load("glMultiDrawArrays")); - flextglMultiDrawElements = reinterpret_cast(loader.load("glMultiDrawElements")); - flextglPointParameterf = reinterpret_cast(loader.load("glPointParameterf")); - flextglPointParameterfv = reinterpret_cast(loader.load("glPointParameterfv")); - flextglPointParameteri = reinterpret_cast(loader.load("glPointParameteri")); - flextglPointParameteriv = reinterpret_cast(loader.load("glPointParameteriv")); + flextGL.BlendColor = reinterpret_cast(loader.load("glBlendColor")); + flextGL.BlendEquation = reinterpret_cast(loader.load("glBlendEquation")); + flextGL.BlendFuncSeparate = reinterpret_cast(loader.load("glBlendFuncSeparate")); + flextGL.MultiDrawArrays = reinterpret_cast(loader.load("glMultiDrawArrays")); + flextGL.MultiDrawElements = reinterpret_cast(loader.load("glMultiDrawElements")); + flextGL.PointParameterf = reinterpret_cast(loader.load("glPointParameterf")); + flextGL.PointParameterfv = reinterpret_cast(loader.load("glPointParameterfv")); + flextGL.PointParameteri = reinterpret_cast(loader.load("glPointParameteri")); + flextGL.PointParameteriv = reinterpret_cast(loader.load("glPointParameteriv")); /* GL_VERSION_1_5 */ - flextglBeginQuery = reinterpret_cast(loader.load("glBeginQuery")); - flextglBindBuffer = reinterpret_cast(loader.load("glBindBuffer")); - flextglBufferData = reinterpret_cast(loader.load("glBufferData")); - flextglBufferSubData = reinterpret_cast(loader.load("glBufferSubData")); - flextglDeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); - flextglDeleteQueries = reinterpret_cast(loader.load("glDeleteQueries")); - flextglEndQuery = reinterpret_cast(loader.load("glEndQuery")); - flextglGenBuffers = reinterpret_cast(loader.load("glGenBuffers")); - flextglGenQueries = reinterpret_cast(loader.load("glGenQueries")); - flextglGetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); - flextglGetBufferPointerv = reinterpret_cast(loader.load("glGetBufferPointerv")); - flextglGetBufferSubData = reinterpret_cast(loader.load("glGetBufferSubData")); - flextglGetQueryObjectiv = reinterpret_cast(loader.load("glGetQueryObjectiv")); - flextglGetQueryObjectuiv = reinterpret_cast(loader.load("glGetQueryObjectuiv")); - flextglGetQueryiv = reinterpret_cast(loader.load("glGetQueryiv")); - flextglIsBuffer = reinterpret_cast(loader.load("glIsBuffer")); - flextglIsQuery = reinterpret_cast(loader.load("glIsQuery")); - flextglMapBuffer = reinterpret_cast(loader.load("glMapBuffer")); - flextglUnmapBuffer = reinterpret_cast(loader.load("glUnmapBuffer")); + flextGL.BeginQuery = reinterpret_cast(loader.load("glBeginQuery")); + flextGL.BindBuffer = reinterpret_cast(loader.load("glBindBuffer")); + flextGL.BufferData = reinterpret_cast(loader.load("glBufferData")); + flextGL.BufferSubData = reinterpret_cast(loader.load("glBufferSubData")); + flextGL.DeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); + flextGL.DeleteQueries = reinterpret_cast(loader.load("glDeleteQueries")); + flextGL.EndQuery = reinterpret_cast(loader.load("glEndQuery")); + flextGL.GenBuffers = reinterpret_cast(loader.load("glGenBuffers")); + flextGL.GenQueries = reinterpret_cast(loader.load("glGenQueries")); + flextGL.GetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); + flextGL.GetBufferPointerv = reinterpret_cast(loader.load("glGetBufferPointerv")); + flextGL.GetBufferSubData = reinterpret_cast(loader.load("glGetBufferSubData")); + flextGL.GetQueryObjectiv = reinterpret_cast(loader.load("glGetQueryObjectiv")); + flextGL.GetQueryObjectuiv = reinterpret_cast(loader.load("glGetQueryObjectuiv")); + flextGL.GetQueryiv = reinterpret_cast(loader.load("glGetQueryiv")); + flextGL.IsBuffer = reinterpret_cast(loader.load("glIsBuffer")); + flextGL.IsQuery = reinterpret_cast(loader.load("glIsQuery")); + flextGL.MapBuffer = reinterpret_cast(loader.load("glMapBuffer")); + flextGL.UnmapBuffer = reinterpret_cast(loader.load("glUnmapBuffer")); /* GL_VERSION_2_0 */ - flextglAttachShader = reinterpret_cast(loader.load("glAttachShader")); - flextglBindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); - flextglBlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); - flextglCompileShader = reinterpret_cast(loader.load("glCompileShader")); - flextglCreateProgram = reinterpret_cast(loader.load("glCreateProgram")); - flextglCreateShader = reinterpret_cast(loader.load("glCreateShader")); - flextglDeleteProgram = reinterpret_cast(loader.load("glDeleteProgram")); - flextglDeleteShader = reinterpret_cast(loader.load("glDeleteShader")); - flextglDetachShader = reinterpret_cast(loader.load("glDetachShader")); - flextglDisableVertexAttribArray = reinterpret_cast(loader.load("glDisableVertexAttribArray")); - flextglDrawBuffers = reinterpret_cast(loader.load("glDrawBuffers")); - flextglEnableVertexAttribArray = reinterpret_cast(loader.load("glEnableVertexAttribArray")); - flextglGetActiveAttrib = reinterpret_cast(loader.load("glGetActiveAttrib")); - flextglGetActiveUniform = reinterpret_cast(loader.load("glGetActiveUniform")); - flextglGetAttachedShaders = reinterpret_cast(loader.load("glGetAttachedShaders")); - flextglGetAttribLocation = reinterpret_cast(loader.load("glGetAttribLocation")); - flextglGetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); - flextglGetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); - flextglGetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); - flextglGetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); - flextglGetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); - flextglGetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); - flextglGetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); - flextglGetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); - flextglGetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); - flextglGetVertexAttribdv = reinterpret_cast(loader.load("glGetVertexAttribdv")); - flextglGetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); - flextglGetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); - flextglIsProgram = reinterpret_cast(loader.load("glIsProgram")); - flextglIsShader = reinterpret_cast(loader.load("glIsShader")); - flextglLinkProgram = reinterpret_cast(loader.load("glLinkProgram")); - flextglShaderSource = reinterpret_cast(loader.load("glShaderSource")); - flextglStencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); - flextglStencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); - flextglStencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); - flextglUniform1f = reinterpret_cast(loader.load("glUniform1f")); - flextglUniform1fv = reinterpret_cast(loader.load("glUniform1fv")); - flextglUniform1i = reinterpret_cast(loader.load("glUniform1i")); - flextglUniform1iv = reinterpret_cast(loader.load("glUniform1iv")); - flextglUniform2f = reinterpret_cast(loader.load("glUniform2f")); - flextglUniform2fv = reinterpret_cast(loader.load("glUniform2fv")); - flextglUniform2i = reinterpret_cast(loader.load("glUniform2i")); - flextglUniform2iv = reinterpret_cast(loader.load("glUniform2iv")); - flextglUniform3f = reinterpret_cast(loader.load("glUniform3f")); - flextglUniform3fv = reinterpret_cast(loader.load("glUniform3fv")); - flextglUniform3i = reinterpret_cast(loader.load("glUniform3i")); - flextglUniform3iv = reinterpret_cast(loader.load("glUniform3iv")); - flextglUniform4f = reinterpret_cast(loader.load("glUniform4f")); - flextglUniform4fv = reinterpret_cast(loader.load("glUniform4fv")); - flextglUniform4i = reinterpret_cast(loader.load("glUniform4i")); - flextglUniform4iv = reinterpret_cast(loader.load("glUniform4iv")); - flextglUniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); - flextglUniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); - flextglUniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); - flextglUseProgram = reinterpret_cast(loader.load("glUseProgram")); - flextglValidateProgram = reinterpret_cast(loader.load("glValidateProgram")); - flextglVertexAttrib1d = reinterpret_cast(loader.load("glVertexAttrib1d")); - flextglVertexAttrib1dv = reinterpret_cast(loader.load("glVertexAttrib1dv")); - flextglVertexAttrib1f = reinterpret_cast(loader.load("glVertexAttrib1f")); - flextglVertexAttrib1fv = reinterpret_cast(loader.load("glVertexAttrib1fv")); - flextglVertexAttrib1s = reinterpret_cast(loader.load("glVertexAttrib1s")); - flextglVertexAttrib1sv = reinterpret_cast(loader.load("glVertexAttrib1sv")); - flextglVertexAttrib2d = reinterpret_cast(loader.load("glVertexAttrib2d")); - flextglVertexAttrib2dv = reinterpret_cast(loader.load("glVertexAttrib2dv")); - flextglVertexAttrib2f = reinterpret_cast(loader.load("glVertexAttrib2f")); - flextglVertexAttrib2fv = reinterpret_cast(loader.load("glVertexAttrib2fv")); - flextglVertexAttrib2s = reinterpret_cast(loader.load("glVertexAttrib2s")); - flextglVertexAttrib2sv = reinterpret_cast(loader.load("glVertexAttrib2sv")); - flextglVertexAttrib3d = reinterpret_cast(loader.load("glVertexAttrib3d")); - flextglVertexAttrib3dv = reinterpret_cast(loader.load("glVertexAttrib3dv")); - flextglVertexAttrib3f = reinterpret_cast(loader.load("glVertexAttrib3f")); - flextglVertexAttrib3fv = reinterpret_cast(loader.load("glVertexAttrib3fv")); - flextglVertexAttrib3s = reinterpret_cast(loader.load("glVertexAttrib3s")); - flextglVertexAttrib3sv = reinterpret_cast(loader.load("glVertexAttrib3sv")); - flextglVertexAttrib4Nbv = reinterpret_cast(loader.load("glVertexAttrib4Nbv")); - flextglVertexAttrib4Niv = reinterpret_cast(loader.load("glVertexAttrib4Niv")); - flextglVertexAttrib4Nsv = reinterpret_cast(loader.load("glVertexAttrib4Nsv")); - flextglVertexAttrib4Nub = reinterpret_cast(loader.load("glVertexAttrib4Nub")); - flextglVertexAttrib4Nubv = reinterpret_cast(loader.load("glVertexAttrib4Nubv")); - flextglVertexAttrib4Nuiv = reinterpret_cast(loader.load("glVertexAttrib4Nuiv")); - flextglVertexAttrib4Nusv = reinterpret_cast(loader.load("glVertexAttrib4Nusv")); - flextglVertexAttrib4bv = reinterpret_cast(loader.load("glVertexAttrib4bv")); - flextglVertexAttrib4d = reinterpret_cast(loader.load("glVertexAttrib4d")); - flextglVertexAttrib4dv = reinterpret_cast(loader.load("glVertexAttrib4dv")); - flextglVertexAttrib4f = reinterpret_cast(loader.load("glVertexAttrib4f")); - flextglVertexAttrib4fv = reinterpret_cast(loader.load("glVertexAttrib4fv")); - flextglVertexAttrib4iv = reinterpret_cast(loader.load("glVertexAttrib4iv")); - flextglVertexAttrib4s = reinterpret_cast(loader.load("glVertexAttrib4s")); - flextglVertexAttrib4sv = reinterpret_cast(loader.load("glVertexAttrib4sv")); - flextglVertexAttrib4ubv = reinterpret_cast(loader.load("glVertexAttrib4ubv")); - flextglVertexAttrib4uiv = reinterpret_cast(loader.load("glVertexAttrib4uiv")); - flextglVertexAttrib4usv = reinterpret_cast(loader.load("glVertexAttrib4usv")); - flextglVertexAttribPointer = reinterpret_cast(loader.load("glVertexAttribPointer")); + flextGL.AttachShader = reinterpret_cast(loader.load("glAttachShader")); + flextGL.BindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); + flextGL.BlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); + flextGL.CompileShader = reinterpret_cast(loader.load("glCompileShader")); + flextGL.CreateProgram = reinterpret_cast(loader.load("glCreateProgram")); + flextGL.CreateShader = reinterpret_cast(loader.load("glCreateShader")); + flextGL.DeleteProgram = reinterpret_cast(loader.load("glDeleteProgram")); + flextGL.DeleteShader = reinterpret_cast(loader.load("glDeleteShader")); + flextGL.DetachShader = reinterpret_cast(loader.load("glDetachShader")); + flextGL.DisableVertexAttribArray = reinterpret_cast(loader.load("glDisableVertexAttribArray")); + flextGL.DrawBuffers = reinterpret_cast(loader.load("glDrawBuffers")); + flextGL.EnableVertexAttribArray = reinterpret_cast(loader.load("glEnableVertexAttribArray")); + flextGL.GetActiveAttrib = reinterpret_cast(loader.load("glGetActiveAttrib")); + flextGL.GetActiveUniform = reinterpret_cast(loader.load("glGetActiveUniform")); + flextGL.GetAttachedShaders = reinterpret_cast(loader.load("glGetAttachedShaders")); + flextGL.GetAttribLocation = reinterpret_cast(loader.load("glGetAttribLocation")); + flextGL.GetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); + flextGL.GetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); + flextGL.GetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); + flextGL.GetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); + flextGL.GetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); + flextGL.GetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); + flextGL.GetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); + flextGL.GetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); + flextGL.GetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); + flextGL.GetVertexAttribdv = reinterpret_cast(loader.load("glGetVertexAttribdv")); + flextGL.GetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); + flextGL.GetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); + flextGL.IsProgram = reinterpret_cast(loader.load("glIsProgram")); + flextGL.IsShader = reinterpret_cast(loader.load("glIsShader")); + flextGL.LinkProgram = reinterpret_cast(loader.load("glLinkProgram")); + flextGL.ShaderSource = reinterpret_cast(loader.load("glShaderSource")); + flextGL.StencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); + flextGL.StencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); + flextGL.StencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); + flextGL.Uniform1f = reinterpret_cast(loader.load("glUniform1f")); + flextGL.Uniform1fv = reinterpret_cast(loader.load("glUniform1fv")); + flextGL.Uniform1i = reinterpret_cast(loader.load("glUniform1i")); + flextGL.Uniform1iv = reinterpret_cast(loader.load("glUniform1iv")); + flextGL.Uniform2f = reinterpret_cast(loader.load("glUniform2f")); + flextGL.Uniform2fv = reinterpret_cast(loader.load("glUniform2fv")); + flextGL.Uniform2i = reinterpret_cast(loader.load("glUniform2i")); + flextGL.Uniform2iv = reinterpret_cast(loader.load("glUniform2iv")); + flextGL.Uniform3f = reinterpret_cast(loader.load("glUniform3f")); + flextGL.Uniform3fv = reinterpret_cast(loader.load("glUniform3fv")); + flextGL.Uniform3i = reinterpret_cast(loader.load("glUniform3i")); + flextGL.Uniform3iv = reinterpret_cast(loader.load("glUniform3iv")); + flextGL.Uniform4f = reinterpret_cast(loader.load("glUniform4f")); + flextGL.Uniform4fv = reinterpret_cast(loader.load("glUniform4fv")); + flextGL.Uniform4i = reinterpret_cast(loader.load("glUniform4i")); + flextGL.Uniform4iv = reinterpret_cast(loader.load("glUniform4iv")); + flextGL.UniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); + flextGL.UniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); + flextGL.UniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); + flextGL.UseProgram = reinterpret_cast(loader.load("glUseProgram")); + flextGL.ValidateProgram = reinterpret_cast(loader.load("glValidateProgram")); + flextGL.VertexAttrib1d = reinterpret_cast(loader.load("glVertexAttrib1d")); + flextGL.VertexAttrib1dv = reinterpret_cast(loader.load("glVertexAttrib1dv")); + flextGL.VertexAttrib1f = reinterpret_cast(loader.load("glVertexAttrib1f")); + flextGL.VertexAttrib1fv = reinterpret_cast(loader.load("glVertexAttrib1fv")); + flextGL.VertexAttrib1s = reinterpret_cast(loader.load("glVertexAttrib1s")); + flextGL.VertexAttrib1sv = reinterpret_cast(loader.load("glVertexAttrib1sv")); + flextGL.VertexAttrib2d = reinterpret_cast(loader.load("glVertexAttrib2d")); + flextGL.VertexAttrib2dv = reinterpret_cast(loader.load("glVertexAttrib2dv")); + flextGL.VertexAttrib2f = reinterpret_cast(loader.load("glVertexAttrib2f")); + flextGL.VertexAttrib2fv = reinterpret_cast(loader.load("glVertexAttrib2fv")); + flextGL.VertexAttrib2s = reinterpret_cast(loader.load("glVertexAttrib2s")); + flextGL.VertexAttrib2sv = reinterpret_cast(loader.load("glVertexAttrib2sv")); + flextGL.VertexAttrib3d = reinterpret_cast(loader.load("glVertexAttrib3d")); + flextGL.VertexAttrib3dv = reinterpret_cast(loader.load("glVertexAttrib3dv")); + flextGL.VertexAttrib3f = reinterpret_cast(loader.load("glVertexAttrib3f")); + flextGL.VertexAttrib3fv = reinterpret_cast(loader.load("glVertexAttrib3fv")); + flextGL.VertexAttrib3s = reinterpret_cast(loader.load("glVertexAttrib3s")); + flextGL.VertexAttrib3sv = reinterpret_cast(loader.load("glVertexAttrib3sv")); + flextGL.VertexAttrib4Nbv = reinterpret_cast(loader.load("glVertexAttrib4Nbv")); + flextGL.VertexAttrib4Niv = reinterpret_cast(loader.load("glVertexAttrib4Niv")); + flextGL.VertexAttrib4Nsv = reinterpret_cast(loader.load("glVertexAttrib4Nsv")); + flextGL.VertexAttrib4Nub = reinterpret_cast(loader.load("glVertexAttrib4Nub")); + flextGL.VertexAttrib4Nubv = reinterpret_cast(loader.load("glVertexAttrib4Nubv")); + flextGL.VertexAttrib4Nuiv = reinterpret_cast(loader.load("glVertexAttrib4Nuiv")); + flextGL.VertexAttrib4Nusv = reinterpret_cast(loader.load("glVertexAttrib4Nusv")); + flextGL.VertexAttrib4bv = reinterpret_cast(loader.load("glVertexAttrib4bv")); + flextGL.VertexAttrib4d = reinterpret_cast(loader.load("glVertexAttrib4d")); + flextGL.VertexAttrib4dv = reinterpret_cast(loader.load("glVertexAttrib4dv")); + flextGL.VertexAttrib4f = reinterpret_cast(loader.load("glVertexAttrib4f")); + flextGL.VertexAttrib4fv = reinterpret_cast(loader.load("glVertexAttrib4fv")); + flextGL.VertexAttrib4iv = reinterpret_cast(loader.load("glVertexAttrib4iv")); + flextGL.VertexAttrib4s = reinterpret_cast(loader.load("glVertexAttrib4s")); + flextGL.VertexAttrib4sv = reinterpret_cast(loader.load("glVertexAttrib4sv")); + flextGL.VertexAttrib4ubv = reinterpret_cast(loader.load("glVertexAttrib4ubv")); + flextGL.VertexAttrib4uiv = reinterpret_cast(loader.load("glVertexAttrib4uiv")); + flextGL.VertexAttrib4usv = reinterpret_cast(loader.load("glVertexAttrib4usv")); + flextGL.VertexAttribPointer = reinterpret_cast(loader.load("glVertexAttribPointer")); /* GL_VERSION_2_1 */ - flextglUniformMatrix2x3fv = reinterpret_cast(loader.load("glUniformMatrix2x3fv")); - flextglUniformMatrix2x4fv = reinterpret_cast(loader.load("glUniformMatrix2x4fv")); - flextglUniformMatrix3x2fv = reinterpret_cast(loader.load("glUniformMatrix3x2fv")); - flextglUniformMatrix3x4fv = reinterpret_cast(loader.load("glUniformMatrix3x4fv")); - flextglUniformMatrix4x2fv = reinterpret_cast(loader.load("glUniformMatrix4x2fv")); - flextglUniformMatrix4x3fv = reinterpret_cast(loader.load("glUniformMatrix4x3fv")); + flextGL.UniformMatrix2x3fv = reinterpret_cast(loader.load("glUniformMatrix2x3fv")); + flextGL.UniformMatrix2x4fv = reinterpret_cast(loader.load("glUniformMatrix2x4fv")); + flextGL.UniformMatrix3x2fv = reinterpret_cast(loader.load("glUniformMatrix3x2fv")); + flextGL.UniformMatrix3x4fv = reinterpret_cast(loader.load("glUniformMatrix3x4fv")); + flextGL.UniformMatrix4x2fv = reinterpret_cast(loader.load("glUniformMatrix4x2fv")); + flextGL.UniformMatrix4x3fv = reinterpret_cast(loader.load("glUniformMatrix4x3fv")); /* GL_VERSION_3_0 */ - flextglBeginConditionalRender = reinterpret_cast(loader.load("glBeginConditionalRender")); - flextglBeginTransformFeedback = reinterpret_cast(loader.load("glBeginTransformFeedback")); - flextglBindBufferBase = reinterpret_cast(loader.load("glBindBufferBase")); - flextglBindBufferRange = reinterpret_cast(loader.load("glBindBufferRange")); - flextglBindFragDataLocation = reinterpret_cast(loader.load("glBindFragDataLocation")); - flextglBindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); - flextglBindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); - flextglBindVertexArray = reinterpret_cast(loader.load("glBindVertexArray")); - flextglBlitFramebuffer = reinterpret_cast(loader.load("glBlitFramebuffer")); - flextglCheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); - flextglClampColor = reinterpret_cast(loader.load("glClampColor")); - flextglClearBufferfi = reinterpret_cast(loader.load("glClearBufferfi")); - flextglClearBufferfv = reinterpret_cast(loader.load("glClearBufferfv")); - flextglClearBufferiv = reinterpret_cast(loader.load("glClearBufferiv")); - flextglClearBufferuiv = reinterpret_cast(loader.load("glClearBufferuiv")); - flextglColorMaski = reinterpret_cast(loader.load("glColorMaski")); - flextglDeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); - flextglDeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); - flextglDeleteVertexArrays = reinterpret_cast(loader.load("glDeleteVertexArrays")); - flextglDisablei = reinterpret_cast(loader.load("glDisablei")); - flextglEnablei = reinterpret_cast(loader.load("glEnablei")); - flextglEndConditionalRender = reinterpret_cast(loader.load("glEndConditionalRender")); - flextglEndTransformFeedback = reinterpret_cast(loader.load("glEndTransformFeedback")); - flextglFlushMappedBufferRange = reinterpret_cast(loader.load("glFlushMappedBufferRange")); - flextglFramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); - flextglFramebufferTexture1D = reinterpret_cast(loader.load("glFramebufferTexture1D")); - flextglFramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); - flextglFramebufferTexture3D = reinterpret_cast(loader.load("glFramebufferTexture3D")); - flextglFramebufferTextureLayer = reinterpret_cast(loader.load("glFramebufferTextureLayer")); - flextglGenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); - flextglGenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); - flextglGenVertexArrays = reinterpret_cast(loader.load("glGenVertexArrays")); - flextglGenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); - flextglGetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); - flextglGetFragDataLocation = reinterpret_cast(loader.load("glGetFragDataLocation")); - flextglGetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); - flextglGetIntegeri_v = reinterpret_cast(loader.load("glGetIntegeri_v")); - flextglGetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); - flextglGetStringi = reinterpret_cast(loader.load("glGetStringi")); - flextglGetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); - flextglGetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); - flextglGetTransformFeedbackVarying = reinterpret_cast(loader.load("glGetTransformFeedbackVarying")); - flextglGetUniformuiv = reinterpret_cast(loader.load("glGetUniformuiv")); - flextglGetVertexAttribIiv = reinterpret_cast(loader.load("glGetVertexAttribIiv")); - flextglGetVertexAttribIuiv = reinterpret_cast(loader.load("glGetVertexAttribIuiv")); - flextglIsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); - flextglIsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); - flextglIsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); - flextglIsVertexArray = reinterpret_cast(loader.load("glIsVertexArray")); - flextglMapBufferRange = reinterpret_cast(loader.load("glMapBufferRange")); - flextglRenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); - flextglRenderbufferStorageMultisample = reinterpret_cast(loader.load("glRenderbufferStorageMultisample")); - flextglTexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); - flextglTexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); - flextglTransformFeedbackVaryings = reinterpret_cast(loader.load("glTransformFeedbackVaryings")); - flextglUniform1ui = reinterpret_cast(loader.load("glUniform1ui")); - flextglUniform1uiv = reinterpret_cast(loader.load("glUniform1uiv")); - flextglUniform2ui = reinterpret_cast(loader.load("glUniform2ui")); - flextglUniform2uiv = reinterpret_cast(loader.load("glUniform2uiv")); - flextglUniform3ui = reinterpret_cast(loader.load("glUniform3ui")); - flextglUniform3uiv = reinterpret_cast(loader.load("glUniform3uiv")); - flextglUniform4ui = reinterpret_cast(loader.load("glUniform4ui")); - flextglUniform4uiv = reinterpret_cast(loader.load("glUniform4uiv")); - flextglVertexAttribI1i = reinterpret_cast(loader.load("glVertexAttribI1i")); - flextglVertexAttribI1iv = reinterpret_cast(loader.load("glVertexAttribI1iv")); - flextglVertexAttribI1ui = reinterpret_cast(loader.load("glVertexAttribI1ui")); - flextglVertexAttribI1uiv = reinterpret_cast(loader.load("glVertexAttribI1uiv")); - flextglVertexAttribI2i = reinterpret_cast(loader.load("glVertexAttribI2i")); - flextglVertexAttribI2iv = reinterpret_cast(loader.load("glVertexAttribI2iv")); - flextglVertexAttribI2ui = reinterpret_cast(loader.load("glVertexAttribI2ui")); - flextglVertexAttribI2uiv = reinterpret_cast(loader.load("glVertexAttribI2uiv")); - flextglVertexAttribI3i = reinterpret_cast(loader.load("glVertexAttribI3i")); - flextglVertexAttribI3iv = reinterpret_cast(loader.load("glVertexAttribI3iv")); - flextglVertexAttribI3ui = reinterpret_cast(loader.load("glVertexAttribI3ui")); - flextglVertexAttribI3uiv = reinterpret_cast(loader.load("glVertexAttribI3uiv")); - flextglVertexAttribI4bv = reinterpret_cast(loader.load("glVertexAttribI4bv")); - flextglVertexAttribI4i = reinterpret_cast(loader.load("glVertexAttribI4i")); - flextglVertexAttribI4iv = reinterpret_cast(loader.load("glVertexAttribI4iv")); - flextglVertexAttribI4sv = reinterpret_cast(loader.load("glVertexAttribI4sv")); - flextglVertexAttribI4ubv = reinterpret_cast(loader.load("glVertexAttribI4ubv")); - flextglVertexAttribI4ui = reinterpret_cast(loader.load("glVertexAttribI4ui")); - flextglVertexAttribI4uiv = reinterpret_cast(loader.load("glVertexAttribI4uiv")); - flextglVertexAttribI4usv = reinterpret_cast(loader.load("glVertexAttribI4usv")); - flextglVertexAttribIPointer = reinterpret_cast(loader.load("glVertexAttribIPointer")); + flextGL.BeginConditionalRender = reinterpret_cast(loader.load("glBeginConditionalRender")); + flextGL.BeginTransformFeedback = reinterpret_cast(loader.load("glBeginTransformFeedback")); + flextGL.BindBufferBase = reinterpret_cast(loader.load("glBindBufferBase")); + flextGL.BindBufferRange = reinterpret_cast(loader.load("glBindBufferRange")); + flextGL.BindFragDataLocation = reinterpret_cast(loader.load("glBindFragDataLocation")); + flextGL.BindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); + flextGL.BindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); + flextGL.BindVertexArray = reinterpret_cast(loader.load("glBindVertexArray")); + flextGL.BlitFramebuffer = reinterpret_cast(loader.load("glBlitFramebuffer")); + flextGL.CheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); + flextGL.ClampColor = reinterpret_cast(loader.load("glClampColor")); + flextGL.ClearBufferfi = reinterpret_cast(loader.load("glClearBufferfi")); + flextGL.ClearBufferfv = reinterpret_cast(loader.load("glClearBufferfv")); + flextGL.ClearBufferiv = reinterpret_cast(loader.load("glClearBufferiv")); + flextGL.ClearBufferuiv = reinterpret_cast(loader.load("glClearBufferuiv")); + flextGL.ColorMaski = reinterpret_cast(loader.load("glColorMaski")); + flextGL.DeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); + flextGL.DeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); + flextGL.DeleteVertexArrays = reinterpret_cast(loader.load("glDeleteVertexArrays")); + flextGL.Disablei = reinterpret_cast(loader.load("glDisablei")); + flextGL.Enablei = reinterpret_cast(loader.load("glEnablei")); + flextGL.EndConditionalRender = reinterpret_cast(loader.load("glEndConditionalRender")); + flextGL.EndTransformFeedback = reinterpret_cast(loader.load("glEndTransformFeedback")); + flextGL.FlushMappedBufferRange = reinterpret_cast(loader.load("glFlushMappedBufferRange")); + flextGL.FramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); + flextGL.FramebufferTexture1D = reinterpret_cast(loader.load("glFramebufferTexture1D")); + flextGL.FramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); + flextGL.FramebufferTexture3D = reinterpret_cast(loader.load("glFramebufferTexture3D")); + flextGL.FramebufferTextureLayer = reinterpret_cast(loader.load("glFramebufferTextureLayer")); + flextGL.GenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); + flextGL.GenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); + flextGL.GenVertexArrays = reinterpret_cast(loader.load("glGenVertexArrays")); + flextGL.GenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); + flextGL.GetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); + flextGL.GetFragDataLocation = reinterpret_cast(loader.load("glGetFragDataLocation")); + flextGL.GetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); + flextGL.GetIntegeri_v = reinterpret_cast(loader.load("glGetIntegeri_v")); + flextGL.GetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); + flextGL.GetStringi = reinterpret_cast(loader.load("glGetStringi")); + flextGL.GetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); + flextGL.GetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); + flextGL.GetTransformFeedbackVarying = reinterpret_cast(loader.load("glGetTransformFeedbackVarying")); + flextGL.GetUniformuiv = reinterpret_cast(loader.load("glGetUniformuiv")); + flextGL.GetVertexAttribIiv = reinterpret_cast(loader.load("glGetVertexAttribIiv")); + flextGL.GetVertexAttribIuiv = reinterpret_cast(loader.load("glGetVertexAttribIuiv")); + flextGL.IsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); + flextGL.IsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); + flextGL.IsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); + flextGL.IsVertexArray = reinterpret_cast(loader.load("glIsVertexArray")); + flextGL.MapBufferRange = reinterpret_cast(loader.load("glMapBufferRange")); + flextGL.RenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); + flextGL.RenderbufferStorageMultisample = reinterpret_cast(loader.load("glRenderbufferStorageMultisample")); + flextGL.TexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); + flextGL.TexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); + flextGL.TransformFeedbackVaryings = reinterpret_cast(loader.load("glTransformFeedbackVaryings")); + flextGL.Uniform1ui = reinterpret_cast(loader.load("glUniform1ui")); + flextGL.Uniform1uiv = reinterpret_cast(loader.load("glUniform1uiv")); + flextGL.Uniform2ui = reinterpret_cast(loader.load("glUniform2ui")); + flextGL.Uniform2uiv = reinterpret_cast(loader.load("glUniform2uiv")); + flextGL.Uniform3ui = reinterpret_cast(loader.load("glUniform3ui")); + flextGL.Uniform3uiv = reinterpret_cast(loader.load("glUniform3uiv")); + flextGL.Uniform4ui = reinterpret_cast(loader.load("glUniform4ui")); + flextGL.Uniform4uiv = reinterpret_cast(loader.load("glUniform4uiv")); + flextGL.VertexAttribI1i = reinterpret_cast(loader.load("glVertexAttribI1i")); + flextGL.VertexAttribI1iv = reinterpret_cast(loader.load("glVertexAttribI1iv")); + flextGL.VertexAttribI1ui = reinterpret_cast(loader.load("glVertexAttribI1ui")); + flextGL.VertexAttribI1uiv = reinterpret_cast(loader.load("glVertexAttribI1uiv")); + flextGL.VertexAttribI2i = reinterpret_cast(loader.load("glVertexAttribI2i")); + flextGL.VertexAttribI2iv = reinterpret_cast(loader.load("glVertexAttribI2iv")); + flextGL.VertexAttribI2ui = reinterpret_cast(loader.load("glVertexAttribI2ui")); + flextGL.VertexAttribI2uiv = reinterpret_cast(loader.load("glVertexAttribI2uiv")); + flextGL.VertexAttribI3i = reinterpret_cast(loader.load("glVertexAttribI3i")); + flextGL.VertexAttribI3iv = reinterpret_cast(loader.load("glVertexAttribI3iv")); + flextGL.VertexAttribI3ui = reinterpret_cast(loader.load("glVertexAttribI3ui")); + flextGL.VertexAttribI3uiv = reinterpret_cast(loader.load("glVertexAttribI3uiv")); + flextGL.VertexAttribI4bv = reinterpret_cast(loader.load("glVertexAttribI4bv")); + flextGL.VertexAttribI4i = reinterpret_cast(loader.load("glVertexAttribI4i")); + flextGL.VertexAttribI4iv = reinterpret_cast(loader.load("glVertexAttribI4iv")); + flextGL.VertexAttribI4sv = reinterpret_cast(loader.load("glVertexAttribI4sv")); + flextGL.VertexAttribI4ubv = reinterpret_cast(loader.load("glVertexAttribI4ubv")); + flextGL.VertexAttribI4ui = reinterpret_cast(loader.load("glVertexAttribI4ui")); + flextGL.VertexAttribI4uiv = reinterpret_cast(loader.load("glVertexAttribI4uiv")); + flextGL.VertexAttribI4usv = reinterpret_cast(loader.load("glVertexAttribI4usv")); + flextGL.VertexAttribIPointer = reinterpret_cast(loader.load("glVertexAttribIPointer")); /* GL_VERSION_3_1 */ - flextglCopyBufferSubData = reinterpret_cast(loader.load("glCopyBufferSubData")); - flextglDrawArraysInstanced = reinterpret_cast(loader.load("glDrawArraysInstanced")); - flextglDrawElementsInstanced = reinterpret_cast(loader.load("glDrawElementsInstanced")); - flextglGetActiveUniformBlockName = reinterpret_cast(loader.load("glGetActiveUniformBlockName")); - flextglGetActiveUniformBlockiv = reinterpret_cast(loader.load("glGetActiveUniformBlockiv")); - flextglGetActiveUniformName = reinterpret_cast(loader.load("glGetActiveUniformName")); - flextglGetActiveUniformsiv = reinterpret_cast(loader.load("glGetActiveUniformsiv")); - flextglGetUniformBlockIndex = reinterpret_cast(loader.load("glGetUniformBlockIndex")); - flextglGetUniformIndices = reinterpret_cast(loader.load("glGetUniformIndices")); - flextglPrimitiveRestartIndex = reinterpret_cast(loader.load("glPrimitiveRestartIndex")); - flextglTexBuffer = reinterpret_cast(loader.load("glTexBuffer")); - flextglUniformBlockBinding = reinterpret_cast(loader.load("glUniformBlockBinding")); + flextGL.CopyBufferSubData = reinterpret_cast(loader.load("glCopyBufferSubData")); + flextGL.DrawArraysInstanced = reinterpret_cast(loader.load("glDrawArraysInstanced")); + flextGL.DrawElementsInstanced = reinterpret_cast(loader.load("glDrawElementsInstanced")); + flextGL.GetActiveUniformBlockName = reinterpret_cast(loader.load("glGetActiveUniformBlockName")); + flextGL.GetActiveUniformBlockiv = reinterpret_cast(loader.load("glGetActiveUniformBlockiv")); + flextGL.GetActiveUniformName = reinterpret_cast(loader.load("glGetActiveUniformName")); + flextGL.GetActiveUniformsiv = reinterpret_cast(loader.load("glGetActiveUniformsiv")); + flextGL.GetUniformBlockIndex = reinterpret_cast(loader.load("glGetUniformBlockIndex")); + flextGL.GetUniformIndices = reinterpret_cast(loader.load("glGetUniformIndices")); + flextGL.PrimitiveRestartIndex = reinterpret_cast(loader.load("glPrimitiveRestartIndex")); + flextGL.TexBuffer = reinterpret_cast(loader.load("glTexBuffer")); + flextGL.UniformBlockBinding = reinterpret_cast(loader.load("glUniformBlockBinding")); /* GL_VERSION_3_2 */ - flextglClientWaitSync = reinterpret_cast(loader.load("glClientWaitSync")); - flextglDeleteSync = reinterpret_cast(loader.load("glDeleteSync")); - flextglDrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); - flextglDrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); - flextglDrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); - flextglFenceSync = reinterpret_cast(loader.load("glFenceSync")); - flextglFramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); - flextglGetBufferParameteri64v = reinterpret_cast(loader.load("glGetBufferParameteri64v")); - flextglGetInteger64i_v = reinterpret_cast(loader.load("glGetInteger64i_v")); - flextglGetInteger64v = reinterpret_cast(loader.load("glGetInteger64v")); - flextglGetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); - flextglGetSynciv = reinterpret_cast(loader.load("glGetSynciv")); - flextglIsSync = reinterpret_cast(loader.load("glIsSync")); - flextglMultiDrawElementsBaseVertex = reinterpret_cast(loader.load("glMultiDrawElementsBaseVertex")); - flextglProvokingVertex = reinterpret_cast(loader.load("glProvokingVertex")); - flextglSampleMaski = reinterpret_cast(loader.load("glSampleMaski")); - flextglTexImage2DMultisample = reinterpret_cast(loader.load("glTexImage2DMultisample")); - flextglTexImage3DMultisample = reinterpret_cast(loader.load("glTexImage3DMultisample")); - flextglWaitSync = reinterpret_cast(loader.load("glWaitSync")); + flextGL.ClientWaitSync = reinterpret_cast(loader.load("glClientWaitSync")); + flextGL.DeleteSync = reinterpret_cast(loader.load("glDeleteSync")); + flextGL.DrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); + flextGL.DrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); + flextGL.DrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); + flextGL.FenceSync = reinterpret_cast(loader.load("glFenceSync")); + flextGL.FramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); + flextGL.GetBufferParameteri64v = reinterpret_cast(loader.load("glGetBufferParameteri64v")); + flextGL.GetInteger64i_v = reinterpret_cast(loader.load("glGetInteger64i_v")); + flextGL.GetInteger64v = reinterpret_cast(loader.load("glGetInteger64v")); + flextGL.GetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); + flextGL.GetSynciv = reinterpret_cast(loader.load("glGetSynciv")); + flextGL.IsSync = reinterpret_cast(loader.load("glIsSync")); + flextGL.MultiDrawElementsBaseVertex = reinterpret_cast(loader.load("glMultiDrawElementsBaseVertex")); + flextGL.ProvokingVertex = reinterpret_cast(loader.load("glProvokingVertex")); + flextGL.SampleMaski = reinterpret_cast(loader.load("glSampleMaski")); + flextGL.TexImage2DMultisample = reinterpret_cast(loader.load("glTexImage2DMultisample")); + flextGL.TexImage3DMultisample = reinterpret_cast(loader.load("glTexImage3DMultisample")); + flextGL.WaitSync = reinterpret_cast(loader.load("glWaitSync")); /* GL_VERSION_3_3 */ - flextglBindFragDataLocationIndexed = reinterpret_cast(loader.load("glBindFragDataLocationIndexed")); - flextglBindSampler = reinterpret_cast(loader.load("glBindSampler")); - flextglDeleteSamplers = reinterpret_cast(loader.load("glDeleteSamplers")); - flextglGenSamplers = reinterpret_cast(loader.load("glGenSamplers")); - flextglGetFragDataIndex = reinterpret_cast(loader.load("glGetFragDataIndex")); - flextglGetQueryObjecti64v = reinterpret_cast(loader.load("glGetQueryObjecti64v")); - flextglGetQueryObjectui64v = reinterpret_cast(loader.load("glGetQueryObjectui64v")); - flextglGetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); - flextglGetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); - flextglGetSamplerParameterfv = reinterpret_cast(loader.load("glGetSamplerParameterfv")); - flextglGetSamplerParameteriv = reinterpret_cast(loader.load("glGetSamplerParameteriv")); - flextglIsSampler = reinterpret_cast(loader.load("glIsSampler")); - flextglQueryCounter = reinterpret_cast(loader.load("glQueryCounter")); - flextglSamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); - flextglSamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); - flextglSamplerParameterf = reinterpret_cast(loader.load("glSamplerParameterf")); - flextglSamplerParameterfv = reinterpret_cast(loader.load("glSamplerParameterfv")); - flextglSamplerParameteri = reinterpret_cast(loader.load("glSamplerParameteri")); - flextglSamplerParameteriv = reinterpret_cast(loader.load("glSamplerParameteriv")); - flextglVertexAttribDivisor = reinterpret_cast(loader.load("glVertexAttribDivisor")); - flextglVertexAttribP1ui = reinterpret_cast(loader.load("glVertexAttribP1ui")); - flextglVertexAttribP1uiv = reinterpret_cast(loader.load("glVertexAttribP1uiv")); - flextglVertexAttribP2ui = reinterpret_cast(loader.load("glVertexAttribP2ui")); - flextglVertexAttribP2uiv = reinterpret_cast(loader.load("glVertexAttribP2uiv")); - flextglVertexAttribP3ui = reinterpret_cast(loader.load("glVertexAttribP3ui")); - flextglVertexAttribP3uiv = reinterpret_cast(loader.load("glVertexAttribP3uiv")); - flextglVertexAttribP4ui = reinterpret_cast(loader.load("glVertexAttribP4ui")); - flextglVertexAttribP4uiv = reinterpret_cast(loader.load("glVertexAttribP4uiv")); + flextGL.BindFragDataLocationIndexed = reinterpret_cast(loader.load("glBindFragDataLocationIndexed")); + flextGL.BindSampler = reinterpret_cast(loader.load("glBindSampler")); + flextGL.DeleteSamplers = reinterpret_cast(loader.load("glDeleteSamplers")); + flextGL.GenSamplers = reinterpret_cast(loader.load("glGenSamplers")); + flextGL.GetFragDataIndex = reinterpret_cast(loader.load("glGetFragDataIndex")); + flextGL.GetQueryObjecti64v = reinterpret_cast(loader.load("glGetQueryObjecti64v")); + flextGL.GetQueryObjectui64v = reinterpret_cast(loader.load("glGetQueryObjectui64v")); + flextGL.GetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); + flextGL.GetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); + flextGL.GetSamplerParameterfv = reinterpret_cast(loader.load("glGetSamplerParameterfv")); + flextGL.GetSamplerParameteriv = reinterpret_cast(loader.load("glGetSamplerParameteriv")); + flextGL.IsSampler = reinterpret_cast(loader.load("glIsSampler")); + flextGL.QueryCounter = reinterpret_cast(loader.load("glQueryCounter")); + flextGL.SamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); + flextGL.SamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); + flextGL.SamplerParameterf = reinterpret_cast(loader.load("glSamplerParameterf")); + flextGL.SamplerParameterfv = reinterpret_cast(loader.load("glSamplerParameterfv")); + flextGL.SamplerParameteri = reinterpret_cast(loader.load("glSamplerParameteri")); + flextGL.SamplerParameteriv = reinterpret_cast(loader.load("glSamplerParameteriv")); + flextGL.VertexAttribDivisor = reinterpret_cast(loader.load("glVertexAttribDivisor")); + flextGL.VertexAttribP1ui = reinterpret_cast(loader.load("glVertexAttribP1ui")); + flextGL.VertexAttribP1uiv = reinterpret_cast(loader.load("glVertexAttribP1uiv")); + flextGL.VertexAttribP2ui = reinterpret_cast(loader.load("glVertexAttribP2ui")); + flextGL.VertexAttribP2uiv = reinterpret_cast(loader.load("glVertexAttribP2uiv")); + flextGL.VertexAttribP3ui = reinterpret_cast(loader.load("glVertexAttribP3ui")); + flextGL.VertexAttribP3uiv = reinterpret_cast(loader.load("glVertexAttribP3uiv")); + flextGL.VertexAttribP4ui = reinterpret_cast(loader.load("glVertexAttribP4ui")); + flextGL.VertexAttribP4uiv = reinterpret_cast(loader.load("glVertexAttribP4uiv")); /* GL_VERSION_4_0 */ - flextglBeginQueryIndexed = reinterpret_cast(loader.load("glBeginQueryIndexed")); - flextglBindTransformFeedback = reinterpret_cast(loader.load("glBindTransformFeedback")); - flextglBlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); - flextglBlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); - flextglBlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); - flextglBlendFunci = reinterpret_cast(loader.load("glBlendFunci")); - flextglDeleteTransformFeedbacks = reinterpret_cast(loader.load("glDeleteTransformFeedbacks")); - flextglDrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); - flextglDrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); - flextglDrawTransformFeedback = reinterpret_cast(loader.load("glDrawTransformFeedback")); - flextglDrawTransformFeedbackStream = reinterpret_cast(loader.load("glDrawTransformFeedbackStream")); - flextglEndQueryIndexed = reinterpret_cast(loader.load("glEndQueryIndexed")); - flextglGenTransformFeedbacks = reinterpret_cast(loader.load("glGenTransformFeedbacks")); - flextglGetActiveSubroutineName = reinterpret_cast(loader.load("glGetActiveSubroutineName")); - flextglGetActiveSubroutineUniformName = reinterpret_cast(loader.load("glGetActiveSubroutineUniformName")); - flextglGetActiveSubroutineUniformiv = reinterpret_cast(loader.load("glGetActiveSubroutineUniformiv")); - flextglGetProgramStageiv = reinterpret_cast(loader.load("glGetProgramStageiv")); - flextglGetQueryIndexediv = reinterpret_cast(loader.load("glGetQueryIndexediv")); - flextglGetSubroutineIndex = reinterpret_cast(loader.load("glGetSubroutineIndex")); - flextglGetSubroutineUniformLocation = reinterpret_cast(loader.load("glGetSubroutineUniformLocation")); - flextglGetUniformSubroutineuiv = reinterpret_cast(loader.load("glGetUniformSubroutineuiv")); - flextglGetUniformdv = reinterpret_cast(loader.load("glGetUniformdv")); - flextglIsTransformFeedback = reinterpret_cast(loader.load("glIsTransformFeedback")); - flextglMinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); - flextglPatchParameterfv = reinterpret_cast(loader.load("glPatchParameterfv")); - flextglPatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); - flextglPauseTransformFeedback = reinterpret_cast(loader.load("glPauseTransformFeedback")); - flextglResumeTransformFeedback = reinterpret_cast(loader.load("glResumeTransformFeedback")); - flextglUniform1d = reinterpret_cast(loader.load("glUniform1d")); - flextglUniform1dv = reinterpret_cast(loader.load("glUniform1dv")); - flextglUniform2d = reinterpret_cast(loader.load("glUniform2d")); - flextglUniform2dv = reinterpret_cast(loader.load("glUniform2dv")); - flextglUniform3d = reinterpret_cast(loader.load("glUniform3d")); - flextglUniform3dv = reinterpret_cast(loader.load("glUniform3dv")); - flextglUniform4d = reinterpret_cast(loader.load("glUniform4d")); - flextglUniform4dv = reinterpret_cast(loader.load("glUniform4dv")); - flextglUniformMatrix2dv = reinterpret_cast(loader.load("glUniformMatrix2dv")); - flextglUniformMatrix2x3dv = reinterpret_cast(loader.load("glUniformMatrix2x3dv")); - flextglUniformMatrix2x4dv = reinterpret_cast(loader.load("glUniformMatrix2x4dv")); - flextglUniformMatrix3dv = reinterpret_cast(loader.load("glUniformMatrix3dv")); - flextglUniformMatrix3x2dv = reinterpret_cast(loader.load("glUniformMatrix3x2dv")); - flextglUniformMatrix3x4dv = reinterpret_cast(loader.load("glUniformMatrix3x4dv")); - flextglUniformMatrix4dv = reinterpret_cast(loader.load("glUniformMatrix4dv")); - flextglUniformMatrix4x2dv = reinterpret_cast(loader.load("glUniformMatrix4x2dv")); - flextglUniformMatrix4x3dv = reinterpret_cast(loader.load("glUniformMatrix4x3dv")); - flextglUniformSubroutinesuiv = reinterpret_cast(loader.load("glUniformSubroutinesuiv")); + flextGL.BeginQueryIndexed = reinterpret_cast(loader.load("glBeginQueryIndexed")); + flextGL.BindTransformFeedback = reinterpret_cast(loader.load("glBindTransformFeedback")); + flextGL.BlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); + flextGL.BlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); + flextGL.BlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); + flextGL.BlendFunci = reinterpret_cast(loader.load("glBlendFunci")); + flextGL.DeleteTransformFeedbacks = reinterpret_cast(loader.load("glDeleteTransformFeedbacks")); + flextGL.DrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); + flextGL.DrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); + flextGL.DrawTransformFeedback = reinterpret_cast(loader.load("glDrawTransformFeedback")); + flextGL.DrawTransformFeedbackStream = reinterpret_cast(loader.load("glDrawTransformFeedbackStream")); + flextGL.EndQueryIndexed = reinterpret_cast(loader.load("glEndQueryIndexed")); + flextGL.GenTransformFeedbacks = reinterpret_cast(loader.load("glGenTransformFeedbacks")); + flextGL.GetActiveSubroutineName = reinterpret_cast(loader.load("glGetActiveSubroutineName")); + flextGL.GetActiveSubroutineUniformName = reinterpret_cast(loader.load("glGetActiveSubroutineUniformName")); + flextGL.GetActiveSubroutineUniformiv = reinterpret_cast(loader.load("glGetActiveSubroutineUniformiv")); + flextGL.GetProgramStageiv = reinterpret_cast(loader.load("glGetProgramStageiv")); + flextGL.GetQueryIndexediv = reinterpret_cast(loader.load("glGetQueryIndexediv")); + flextGL.GetSubroutineIndex = reinterpret_cast(loader.load("glGetSubroutineIndex")); + flextGL.GetSubroutineUniformLocation = reinterpret_cast(loader.load("glGetSubroutineUniformLocation")); + flextGL.GetUniformSubroutineuiv = reinterpret_cast(loader.load("glGetUniformSubroutineuiv")); + flextGL.GetUniformdv = reinterpret_cast(loader.load("glGetUniformdv")); + flextGL.IsTransformFeedback = reinterpret_cast(loader.load("glIsTransformFeedback")); + flextGL.MinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); + flextGL.PatchParameterfv = reinterpret_cast(loader.load("glPatchParameterfv")); + flextGL.PatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); + flextGL.PauseTransformFeedback = reinterpret_cast(loader.load("glPauseTransformFeedback")); + flextGL.ResumeTransformFeedback = reinterpret_cast(loader.load("glResumeTransformFeedback")); + flextGL.Uniform1d = reinterpret_cast(loader.load("glUniform1d")); + flextGL.Uniform1dv = reinterpret_cast(loader.load("glUniform1dv")); + flextGL.Uniform2d = reinterpret_cast(loader.load("glUniform2d")); + flextGL.Uniform2dv = reinterpret_cast(loader.load("glUniform2dv")); + flextGL.Uniform3d = reinterpret_cast(loader.load("glUniform3d")); + flextGL.Uniform3dv = reinterpret_cast(loader.load("glUniform3dv")); + flextGL.Uniform4d = reinterpret_cast(loader.load("glUniform4d")); + flextGL.Uniform4dv = reinterpret_cast(loader.load("glUniform4dv")); + flextGL.UniformMatrix2dv = reinterpret_cast(loader.load("glUniformMatrix2dv")); + flextGL.UniformMatrix2x3dv = reinterpret_cast(loader.load("glUniformMatrix2x3dv")); + flextGL.UniformMatrix2x4dv = reinterpret_cast(loader.load("glUniformMatrix2x4dv")); + flextGL.UniformMatrix3dv = reinterpret_cast(loader.load("glUniformMatrix3dv")); + flextGL.UniformMatrix3x2dv = reinterpret_cast(loader.load("glUniformMatrix3x2dv")); + flextGL.UniformMatrix3x4dv = reinterpret_cast(loader.load("glUniformMatrix3x4dv")); + flextGL.UniformMatrix4dv = reinterpret_cast(loader.load("glUniformMatrix4dv")); + flextGL.UniformMatrix4x2dv = reinterpret_cast(loader.load("glUniformMatrix4x2dv")); + flextGL.UniformMatrix4x3dv = reinterpret_cast(loader.load("glUniformMatrix4x3dv")); + flextGL.UniformSubroutinesuiv = reinterpret_cast(loader.load("glUniformSubroutinesuiv")); /* GL_VERSION_4_1 */ - flextglActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); - flextglBindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); - flextglClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); - flextglCreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); - flextglDeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); - flextglDepthRangeArrayv = reinterpret_cast(loader.load("glDepthRangeArrayv")); - flextglDepthRangeIndexed = reinterpret_cast(loader.load("glDepthRangeIndexed")); - flextglDepthRangef = reinterpret_cast(loader.load("glDepthRangef")); - flextglGenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); - flextglGetDoublei_v = reinterpret_cast(loader.load("glGetDoublei_v")); - flextglGetFloati_v = reinterpret_cast(loader.load("glGetFloati_v")); - flextglGetProgramBinary = reinterpret_cast(loader.load("glGetProgramBinary")); - flextglGetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); - flextglGetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); - flextglGetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); - flextglGetVertexAttribLdv = reinterpret_cast(loader.load("glGetVertexAttribLdv")); - flextglIsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); - flextglProgramBinary = reinterpret_cast(loader.load("glProgramBinary")); - flextglProgramParameteri = reinterpret_cast(loader.load("glProgramParameteri")); - flextglProgramUniform1d = reinterpret_cast(loader.load("glProgramUniform1d")); - flextglProgramUniform1dv = reinterpret_cast(loader.load("glProgramUniform1dv")); - flextglProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); - flextglProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); - flextglProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); - flextglProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); - flextglProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); - flextglProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); - flextglProgramUniform2d = reinterpret_cast(loader.load("glProgramUniform2d")); - flextglProgramUniform2dv = reinterpret_cast(loader.load("glProgramUniform2dv")); - flextglProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); - flextglProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); - flextglProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); - flextglProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); - flextglProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); - flextglProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); - flextglProgramUniform3d = reinterpret_cast(loader.load("glProgramUniform3d")); - flextglProgramUniform3dv = reinterpret_cast(loader.load("glProgramUniform3dv")); - flextglProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); - flextglProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); - flextglProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); - flextglProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); - flextglProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); - flextglProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); - flextglProgramUniform4d = reinterpret_cast(loader.load("glProgramUniform4d")); - flextglProgramUniform4dv = reinterpret_cast(loader.load("glProgramUniform4dv")); - flextglProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); - flextglProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); - flextglProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); - flextglProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); - flextglProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); - flextglProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); - flextglProgramUniformMatrix2dv = reinterpret_cast(loader.load("glProgramUniformMatrix2dv")); - flextglProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); - flextglProgramUniformMatrix2x3dv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3dv")); - flextglProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); - flextglProgramUniformMatrix2x4dv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4dv")); - flextglProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); - flextglProgramUniformMatrix3dv = reinterpret_cast(loader.load("glProgramUniformMatrix3dv")); - flextglProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); - flextglProgramUniformMatrix3x2dv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2dv")); - flextglProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); - flextglProgramUniformMatrix3x4dv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4dv")); - flextglProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); - flextglProgramUniformMatrix4dv = reinterpret_cast(loader.load("glProgramUniformMatrix4dv")); - flextglProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); - flextglProgramUniformMatrix4x2dv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2dv")); - flextglProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); - flextglProgramUniformMatrix4x3dv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3dv")); - flextglProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); - flextglReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); - flextglScissorArrayv = reinterpret_cast(loader.load("glScissorArrayv")); - flextglScissorIndexed = reinterpret_cast(loader.load("glScissorIndexed")); - flextglScissorIndexedv = reinterpret_cast(loader.load("glScissorIndexedv")); - flextglShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); - flextglUseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); - flextglValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); - flextglVertexAttribL1d = reinterpret_cast(loader.load("glVertexAttribL1d")); - flextglVertexAttribL1dv = reinterpret_cast(loader.load("glVertexAttribL1dv")); - flextglVertexAttribL2d = reinterpret_cast(loader.load("glVertexAttribL2d")); - flextglVertexAttribL2dv = reinterpret_cast(loader.load("glVertexAttribL2dv")); - flextglVertexAttribL3d = reinterpret_cast(loader.load("glVertexAttribL3d")); - flextglVertexAttribL3dv = reinterpret_cast(loader.load("glVertexAttribL3dv")); - flextglVertexAttribL4d = reinterpret_cast(loader.load("glVertexAttribL4d")); - flextglVertexAttribL4dv = reinterpret_cast(loader.load("glVertexAttribL4dv")); - flextglVertexAttribLPointer = reinterpret_cast(loader.load("glVertexAttribLPointer")); - flextglViewportArrayv = reinterpret_cast(loader.load("glViewportArrayv")); - flextglViewportIndexedf = reinterpret_cast(loader.load("glViewportIndexedf")); - flextglViewportIndexedfv = reinterpret_cast(loader.load("glViewportIndexedfv")); + flextGL.ActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); + flextGL.BindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); + flextGL.ClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); + flextGL.CreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); + flextGL.DeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); + flextGL.DepthRangeArrayv = reinterpret_cast(loader.load("glDepthRangeArrayv")); + flextGL.DepthRangeIndexed = reinterpret_cast(loader.load("glDepthRangeIndexed")); + flextGL.DepthRangef = reinterpret_cast(loader.load("glDepthRangef")); + flextGL.GenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); + flextGL.GetDoublei_v = reinterpret_cast(loader.load("glGetDoublei_v")); + flextGL.GetFloati_v = reinterpret_cast(loader.load("glGetFloati_v")); + flextGL.GetProgramBinary = reinterpret_cast(loader.load("glGetProgramBinary")); + flextGL.GetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); + flextGL.GetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); + flextGL.GetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); + flextGL.GetVertexAttribLdv = reinterpret_cast(loader.load("glGetVertexAttribLdv")); + flextGL.IsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); + flextGL.ProgramBinary = reinterpret_cast(loader.load("glProgramBinary")); + flextGL.ProgramParameteri = reinterpret_cast(loader.load("glProgramParameteri")); + flextGL.ProgramUniform1d = reinterpret_cast(loader.load("glProgramUniform1d")); + flextGL.ProgramUniform1dv = reinterpret_cast(loader.load("glProgramUniform1dv")); + flextGL.ProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); + flextGL.ProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); + flextGL.ProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); + flextGL.ProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); + flextGL.ProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); + flextGL.ProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); + flextGL.ProgramUniform2d = reinterpret_cast(loader.load("glProgramUniform2d")); + flextGL.ProgramUniform2dv = reinterpret_cast(loader.load("glProgramUniform2dv")); + flextGL.ProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); + flextGL.ProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); + flextGL.ProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); + flextGL.ProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); + flextGL.ProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); + flextGL.ProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); + flextGL.ProgramUniform3d = reinterpret_cast(loader.load("glProgramUniform3d")); + flextGL.ProgramUniform3dv = reinterpret_cast(loader.load("glProgramUniform3dv")); + flextGL.ProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); + flextGL.ProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); + flextGL.ProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); + flextGL.ProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); + flextGL.ProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); + flextGL.ProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); + flextGL.ProgramUniform4d = reinterpret_cast(loader.load("glProgramUniform4d")); + flextGL.ProgramUniform4dv = reinterpret_cast(loader.load("glProgramUniform4dv")); + flextGL.ProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); + flextGL.ProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); + flextGL.ProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); + flextGL.ProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); + flextGL.ProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); + flextGL.ProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); + flextGL.ProgramUniformMatrix2dv = reinterpret_cast(loader.load("glProgramUniformMatrix2dv")); + flextGL.ProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); + flextGL.ProgramUniformMatrix2x3dv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3dv")); + flextGL.ProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); + flextGL.ProgramUniformMatrix2x4dv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4dv")); + flextGL.ProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); + flextGL.ProgramUniformMatrix3dv = reinterpret_cast(loader.load("glProgramUniformMatrix3dv")); + flextGL.ProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); + flextGL.ProgramUniformMatrix3x2dv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2dv")); + flextGL.ProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); + flextGL.ProgramUniformMatrix3x4dv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4dv")); + flextGL.ProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); + flextGL.ProgramUniformMatrix4dv = reinterpret_cast(loader.load("glProgramUniformMatrix4dv")); + flextGL.ProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); + flextGL.ProgramUniformMatrix4x2dv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2dv")); + flextGL.ProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); + flextGL.ProgramUniformMatrix4x3dv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3dv")); + flextGL.ProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); + flextGL.ReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); + flextGL.ScissorArrayv = reinterpret_cast(loader.load("glScissorArrayv")); + flextGL.ScissorIndexed = reinterpret_cast(loader.load("glScissorIndexed")); + flextGL.ScissorIndexedv = reinterpret_cast(loader.load("glScissorIndexedv")); + flextGL.ShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); + flextGL.UseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); + flextGL.ValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); + flextGL.VertexAttribL1d = reinterpret_cast(loader.load("glVertexAttribL1d")); + flextGL.VertexAttribL1dv = reinterpret_cast(loader.load("glVertexAttribL1dv")); + flextGL.VertexAttribL2d = reinterpret_cast(loader.load("glVertexAttribL2d")); + flextGL.VertexAttribL2dv = reinterpret_cast(loader.load("glVertexAttribL2dv")); + flextGL.VertexAttribL3d = reinterpret_cast(loader.load("glVertexAttribL3d")); + flextGL.VertexAttribL3dv = reinterpret_cast(loader.load("glVertexAttribL3dv")); + flextGL.VertexAttribL4d = reinterpret_cast(loader.load("glVertexAttribL4d")); + flextGL.VertexAttribL4dv = reinterpret_cast(loader.load("glVertexAttribL4dv")); + flextGL.VertexAttribLPointer = reinterpret_cast(loader.load("glVertexAttribLPointer")); + flextGL.ViewportArrayv = reinterpret_cast(loader.load("glViewportArrayv")); + flextGL.ViewportIndexedf = reinterpret_cast(loader.load("glViewportIndexedf")); + flextGL.ViewportIndexedfv = reinterpret_cast(loader.load("glViewportIndexedfv")); /* GL_VERSION_4_2 */ - flextglBindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); - flextglDrawArraysInstancedBaseInstance = reinterpret_cast(loader.load("glDrawArraysInstancedBaseInstance")); - flextglDrawElementsInstancedBaseInstance = reinterpret_cast(loader.load("glDrawElementsInstancedBaseInstance")); - flextglDrawElementsInstancedBaseVertexBaseInstance = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertexBaseInstance")); - flextglDrawTransformFeedbackInstanced = reinterpret_cast(loader.load("glDrawTransformFeedbackInstanced")); - flextglDrawTransformFeedbackStreamInstanced = reinterpret_cast(loader.load("glDrawTransformFeedbackStreamInstanced")); - flextglGetActiveAtomicCounterBufferiv = reinterpret_cast(loader.load("glGetActiveAtomicCounterBufferiv")); - flextglGetInternalformativ = reinterpret_cast(loader.load("glGetInternalformativ")); - flextglMemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); - flextglTexStorage1D = reinterpret_cast(loader.load("glTexStorage1D")); - flextglTexStorage2D = reinterpret_cast(loader.load("glTexStorage2D")); - flextglTexStorage3D = reinterpret_cast(loader.load("glTexStorage3D")); + flextGL.BindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); + flextGL.DrawArraysInstancedBaseInstance = reinterpret_cast(loader.load("glDrawArraysInstancedBaseInstance")); + flextGL.DrawElementsInstancedBaseInstance = reinterpret_cast(loader.load("glDrawElementsInstancedBaseInstance")); + flextGL.DrawElementsInstancedBaseVertexBaseInstance = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertexBaseInstance")); + flextGL.DrawTransformFeedbackInstanced = reinterpret_cast(loader.load("glDrawTransformFeedbackInstanced")); + flextGL.DrawTransformFeedbackStreamInstanced = reinterpret_cast(loader.load("glDrawTransformFeedbackStreamInstanced")); + flextGL.GetActiveAtomicCounterBufferiv = reinterpret_cast(loader.load("glGetActiveAtomicCounterBufferiv")); + flextGL.GetInternalformativ = reinterpret_cast(loader.load("glGetInternalformativ")); + flextGL.MemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); + flextGL.TexStorage1D = reinterpret_cast(loader.load("glTexStorage1D")); + flextGL.TexStorage2D = reinterpret_cast(loader.load("glTexStorage2D")); + flextGL.TexStorage3D = reinterpret_cast(loader.load("glTexStorage3D")); /* GL_VERSION_4_3 */ - flextglBindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); - flextglClearBufferData = reinterpret_cast(loader.load("glClearBufferData")); - flextglClearBufferSubData = reinterpret_cast(loader.load("glClearBufferSubData")); - flextglCopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); - flextglDebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); - flextglDebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); - flextglDebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); - flextglDispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); - flextglDispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); - flextglFramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); - flextglGetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); - flextglGetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); - flextglGetInternalformati64v = reinterpret_cast(loader.load("glGetInternalformati64v")); - flextglGetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); - flextglGetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); - flextglGetPointerv = reinterpret_cast(loader.load("glGetPointerv")); - flextglGetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); - flextglGetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); - flextglGetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); - flextglGetProgramResourceLocationIndex = reinterpret_cast(loader.load("glGetProgramResourceLocationIndex")); - flextglGetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); - flextglGetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); - flextglInvalidateBufferData = reinterpret_cast(loader.load("glInvalidateBufferData")); - flextglInvalidateBufferSubData = reinterpret_cast(loader.load("glInvalidateBufferSubData")); - flextglInvalidateFramebuffer = reinterpret_cast(loader.load("glInvalidateFramebuffer")); - flextglInvalidateSubFramebuffer = reinterpret_cast(loader.load("glInvalidateSubFramebuffer")); - flextglInvalidateTexImage = reinterpret_cast(loader.load("glInvalidateTexImage")); - flextglInvalidateTexSubImage = reinterpret_cast(loader.load("glInvalidateTexSubImage")); - flextglMultiDrawArraysIndirect = reinterpret_cast(loader.load("glMultiDrawArraysIndirect")); - flextglMultiDrawElementsIndirect = reinterpret_cast(loader.load("glMultiDrawElementsIndirect")); - flextglObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); - flextglObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); - flextglPopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); - flextglPushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); - flextglShaderStorageBlockBinding = reinterpret_cast(loader.load("glShaderStorageBlockBinding")); - flextglTexBufferRange = reinterpret_cast(loader.load("glTexBufferRange")); - flextglTexStorage2DMultisample = reinterpret_cast(loader.load("glTexStorage2DMultisample")); - flextglTexStorage3DMultisample = reinterpret_cast(loader.load("glTexStorage3DMultisample")); - flextglTextureView = reinterpret_cast(loader.load("glTextureView")); - flextglVertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); - flextglVertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); - flextglVertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); - flextglVertexAttribLFormat = reinterpret_cast(loader.load("glVertexAttribLFormat")); - flextglVertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); + flextGL.BindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); + flextGL.ClearBufferData = reinterpret_cast(loader.load("glClearBufferData")); + flextGL.ClearBufferSubData = reinterpret_cast(loader.load("glClearBufferSubData")); + flextGL.CopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); + flextGL.DebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); + flextGL.DebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); + flextGL.DebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); + flextGL.DispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); + flextGL.DispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); + flextGL.FramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); + flextGL.GetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); + flextGL.GetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); + flextGL.GetInternalformati64v = reinterpret_cast(loader.load("glGetInternalformati64v")); + flextGL.GetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); + flextGL.GetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); + flextGL.GetPointerv = reinterpret_cast(loader.load("glGetPointerv")); + flextGL.GetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); + flextGL.GetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); + flextGL.GetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); + flextGL.GetProgramResourceLocationIndex = reinterpret_cast(loader.load("glGetProgramResourceLocationIndex")); + flextGL.GetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); + flextGL.GetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); + flextGL.InvalidateBufferData = reinterpret_cast(loader.load("glInvalidateBufferData")); + flextGL.InvalidateBufferSubData = reinterpret_cast(loader.load("glInvalidateBufferSubData")); + flextGL.InvalidateFramebuffer = reinterpret_cast(loader.load("glInvalidateFramebuffer")); + flextGL.InvalidateSubFramebuffer = reinterpret_cast(loader.load("glInvalidateSubFramebuffer")); + flextGL.InvalidateTexImage = reinterpret_cast(loader.load("glInvalidateTexImage")); + flextGL.InvalidateTexSubImage = reinterpret_cast(loader.load("glInvalidateTexSubImage")); + flextGL.MultiDrawArraysIndirect = reinterpret_cast(loader.load("glMultiDrawArraysIndirect")); + flextGL.MultiDrawElementsIndirect = reinterpret_cast(loader.load("glMultiDrawElementsIndirect")); + flextGL.ObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); + flextGL.ObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); + flextGL.PopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); + flextGL.PushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); + flextGL.ShaderStorageBlockBinding = reinterpret_cast(loader.load("glShaderStorageBlockBinding")); + flextGL.TexBufferRange = reinterpret_cast(loader.load("glTexBufferRange")); + flextGL.TexStorage2DMultisample = reinterpret_cast(loader.load("glTexStorage2DMultisample")); + flextGL.TexStorage3DMultisample = reinterpret_cast(loader.load("glTexStorage3DMultisample")); + flextGL.TextureView = reinterpret_cast(loader.load("glTextureView")); + flextGL.VertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); + flextGL.VertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); + flextGL.VertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); + flextGL.VertexAttribLFormat = reinterpret_cast(loader.load("glVertexAttribLFormat")); + flextGL.VertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); /* GL_VERSION_4_4 */ - flextglBindBuffersBase = reinterpret_cast(loader.load("glBindBuffersBase")); - flextglBindBuffersRange = reinterpret_cast(loader.load("glBindBuffersRange")); - flextglBindImageTextures = reinterpret_cast(loader.load("glBindImageTextures")); - flextglBindSamplers = reinterpret_cast(loader.load("glBindSamplers")); - flextglBindTextures = reinterpret_cast(loader.load("glBindTextures")); - flextglBindVertexBuffers = reinterpret_cast(loader.load("glBindVertexBuffers")); - flextglBufferStorage = reinterpret_cast(loader.load("glBufferStorage")); - flextglClearTexImage = reinterpret_cast(loader.load("glClearTexImage")); - flextglClearTexSubImage = reinterpret_cast(loader.load("glClearTexSubImage")); + flextGL.BindBuffersBase = reinterpret_cast(loader.load("glBindBuffersBase")); + flextGL.BindBuffersRange = reinterpret_cast(loader.load("glBindBuffersRange")); + flextGL.BindImageTextures = reinterpret_cast(loader.load("glBindImageTextures")); + flextGL.BindSamplers = reinterpret_cast(loader.load("glBindSamplers")); + flextGL.BindTextures = reinterpret_cast(loader.load("glBindTextures")); + flextGL.BindVertexBuffers = reinterpret_cast(loader.load("glBindVertexBuffers")); + flextGL.BufferStorage = reinterpret_cast(loader.load("glBufferStorage")); + flextGL.ClearTexImage = reinterpret_cast(loader.load("glClearTexImage")); + flextGL.ClearTexSubImage = reinterpret_cast(loader.load("glClearTexSubImage")); /* GL_VERSION_4_5 */ - flextglBindTextureUnit = reinterpret_cast(loader.load("glBindTextureUnit")); - flextglBlitNamedFramebuffer = reinterpret_cast(loader.load("glBlitNamedFramebuffer")); - flextglCheckNamedFramebufferStatus = reinterpret_cast(loader.load("glCheckNamedFramebufferStatus")); - flextglClearNamedBufferData = reinterpret_cast(loader.load("glClearNamedBufferData")); - flextglClearNamedBufferSubData = reinterpret_cast(loader.load("glClearNamedBufferSubData")); - flextglClearNamedFramebufferfi = reinterpret_cast(loader.load("glClearNamedFramebufferfi")); - flextglClearNamedFramebufferfv = reinterpret_cast(loader.load("glClearNamedFramebufferfv")); - flextglClearNamedFramebufferiv = reinterpret_cast(loader.load("glClearNamedFramebufferiv")); - flextglClearNamedFramebufferuiv = reinterpret_cast(loader.load("glClearNamedFramebufferuiv")); - flextglClipControl = reinterpret_cast(loader.load("glClipControl")); - flextglCompressedTextureSubImage1D = reinterpret_cast(loader.load("glCompressedTextureSubImage1D")); - flextglCompressedTextureSubImage2D = reinterpret_cast(loader.load("glCompressedTextureSubImage2D")); - flextglCompressedTextureSubImage3D = reinterpret_cast(loader.load("glCompressedTextureSubImage3D")); - flextglCopyNamedBufferSubData = reinterpret_cast(loader.load("glCopyNamedBufferSubData")); - flextglCopyTextureSubImage1D = reinterpret_cast(loader.load("glCopyTextureSubImage1D")); - flextglCopyTextureSubImage2D = reinterpret_cast(loader.load("glCopyTextureSubImage2D")); - flextglCopyTextureSubImage3D = reinterpret_cast(loader.load("glCopyTextureSubImage3D")); - flextglCreateBuffers = reinterpret_cast(loader.load("glCreateBuffers")); - flextglCreateFramebuffers = reinterpret_cast(loader.load("glCreateFramebuffers")); - flextglCreateProgramPipelines = reinterpret_cast(loader.load("glCreateProgramPipelines")); - flextglCreateQueries = reinterpret_cast(loader.load("glCreateQueries")); - flextglCreateRenderbuffers = reinterpret_cast(loader.load("glCreateRenderbuffers")); - flextglCreateSamplers = reinterpret_cast(loader.load("glCreateSamplers")); - flextglCreateTextures = reinterpret_cast(loader.load("glCreateTextures")); - flextglCreateTransformFeedbacks = reinterpret_cast(loader.load("glCreateTransformFeedbacks")); - flextglCreateVertexArrays = reinterpret_cast(loader.load("glCreateVertexArrays")); - flextglDisableVertexArrayAttrib = reinterpret_cast(loader.load("glDisableVertexArrayAttrib")); - flextglEnableVertexArrayAttrib = reinterpret_cast(loader.load("glEnableVertexArrayAttrib")); - flextglFlushMappedNamedBufferRange = reinterpret_cast(loader.load("glFlushMappedNamedBufferRange")); - flextglGenerateTextureMipmap = reinterpret_cast(loader.load("glGenerateTextureMipmap")); - flextglGetCompressedTextureImage = reinterpret_cast(loader.load("glGetCompressedTextureImage")); - flextglGetCompressedTextureSubImage = reinterpret_cast(loader.load("glGetCompressedTextureSubImage")); - flextglGetGraphicsResetStatus = reinterpret_cast(loader.load("glGetGraphicsResetStatus")); - flextglGetNamedBufferParameteri64v = reinterpret_cast(loader.load("glGetNamedBufferParameteri64v")); - flextglGetNamedBufferParameteriv = reinterpret_cast(loader.load("glGetNamedBufferParameteriv")); - flextglGetNamedBufferPointerv = reinterpret_cast(loader.load("glGetNamedBufferPointerv")); - flextglGetNamedBufferSubData = reinterpret_cast(loader.load("glGetNamedBufferSubData")); - flextglGetNamedFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetNamedFramebufferAttachmentParameteriv")); - flextglGetNamedFramebufferParameteriv = reinterpret_cast(loader.load("glGetNamedFramebufferParameteriv")); - flextglGetNamedRenderbufferParameteriv = reinterpret_cast(loader.load("glGetNamedRenderbufferParameteriv")); - flextglGetQueryBufferObjecti64v = reinterpret_cast(loader.load("glGetQueryBufferObjecti64v")); - flextglGetQueryBufferObjectiv = reinterpret_cast(loader.load("glGetQueryBufferObjectiv")); - flextglGetQueryBufferObjectui64v = reinterpret_cast(loader.load("glGetQueryBufferObjectui64v")); - flextglGetQueryBufferObjectuiv = reinterpret_cast(loader.load("glGetQueryBufferObjectuiv")); - flextglGetTextureImage = reinterpret_cast(loader.load("glGetTextureImage")); - flextglGetTextureLevelParameterfv = reinterpret_cast(loader.load("glGetTextureLevelParameterfv")); - flextglGetTextureLevelParameteriv = reinterpret_cast(loader.load("glGetTextureLevelParameteriv")); - flextglGetTextureParameterIiv = reinterpret_cast(loader.load("glGetTextureParameterIiv")); - flextglGetTextureParameterIuiv = reinterpret_cast(loader.load("glGetTextureParameterIuiv")); - flextglGetTextureParameterfv = reinterpret_cast(loader.load("glGetTextureParameterfv")); - flextglGetTextureParameteriv = reinterpret_cast(loader.load("glGetTextureParameteriv")); - flextglGetTextureSubImage = reinterpret_cast(loader.load("glGetTextureSubImage")); - flextglGetTransformFeedbacki64_v = reinterpret_cast(loader.load("glGetTransformFeedbacki64_v")); - flextglGetTransformFeedbacki_v = reinterpret_cast(loader.load("glGetTransformFeedbacki_v")); - flextglGetTransformFeedbackiv = reinterpret_cast(loader.load("glGetTransformFeedbackiv")); - flextglGetVertexArrayIndexed64iv = reinterpret_cast(loader.load("glGetVertexArrayIndexed64iv")); - flextglGetVertexArrayIndexediv = reinterpret_cast(loader.load("glGetVertexArrayIndexediv")); - flextglGetVertexArrayiv = reinterpret_cast(loader.load("glGetVertexArrayiv")); - flextglGetnCompressedTexImage = reinterpret_cast(loader.load("glGetnCompressedTexImage")); - flextglGetnTexImage = reinterpret_cast(loader.load("glGetnTexImage")); - flextglGetnUniformdv = reinterpret_cast(loader.load("glGetnUniformdv")); - flextglGetnUniformfv = reinterpret_cast(loader.load("glGetnUniformfv")); - flextglGetnUniformiv = reinterpret_cast(loader.load("glGetnUniformiv")); - flextglGetnUniformuiv = reinterpret_cast(loader.load("glGetnUniformuiv")); - flextglInvalidateNamedFramebufferData = reinterpret_cast(loader.load("glInvalidateNamedFramebufferData")); - flextglInvalidateNamedFramebufferSubData = reinterpret_cast(loader.load("glInvalidateNamedFramebufferSubData")); - flextglMapNamedBuffer = reinterpret_cast(loader.load("glMapNamedBuffer")); - flextglMapNamedBufferRange = reinterpret_cast(loader.load("glMapNamedBufferRange")); - flextglMemoryBarrierByRegion = reinterpret_cast(loader.load("glMemoryBarrierByRegion")); - flextglNamedBufferData = reinterpret_cast(loader.load("glNamedBufferData")); - flextglNamedBufferStorage = reinterpret_cast(loader.load("glNamedBufferStorage")); - flextglNamedBufferSubData = reinterpret_cast(loader.load("glNamedBufferSubData")); - flextglNamedFramebufferDrawBuffer = reinterpret_cast(loader.load("glNamedFramebufferDrawBuffer")); - flextglNamedFramebufferDrawBuffers = reinterpret_cast(loader.load("glNamedFramebufferDrawBuffers")); - flextglNamedFramebufferParameteri = reinterpret_cast(loader.load("glNamedFramebufferParameteri")); - flextglNamedFramebufferReadBuffer = reinterpret_cast(loader.load("glNamedFramebufferReadBuffer")); - flextglNamedFramebufferRenderbuffer = reinterpret_cast(loader.load("glNamedFramebufferRenderbuffer")); - flextglNamedFramebufferTexture = reinterpret_cast(loader.load("glNamedFramebufferTexture")); - flextglNamedFramebufferTextureLayer = reinterpret_cast(loader.load("glNamedFramebufferTextureLayer")); - flextglNamedRenderbufferStorage = reinterpret_cast(loader.load("glNamedRenderbufferStorage")); - flextglNamedRenderbufferStorageMultisample = reinterpret_cast(loader.load("glNamedRenderbufferStorageMultisample")); - flextglReadnPixels = reinterpret_cast(loader.load("glReadnPixels")); - flextglTextureBarrier = reinterpret_cast(loader.load("glTextureBarrier")); - flextglTextureBuffer = reinterpret_cast(loader.load("glTextureBuffer")); - flextglTextureBufferRange = reinterpret_cast(loader.load("glTextureBufferRange")); - flextglTextureParameterIiv = reinterpret_cast(loader.load("glTextureParameterIiv")); - flextglTextureParameterIuiv = reinterpret_cast(loader.load("glTextureParameterIuiv")); - flextglTextureParameterf = reinterpret_cast(loader.load("glTextureParameterf")); - flextglTextureParameterfv = reinterpret_cast(loader.load("glTextureParameterfv")); - flextglTextureParameteri = reinterpret_cast(loader.load("glTextureParameteri")); - flextglTextureParameteriv = reinterpret_cast(loader.load("glTextureParameteriv")); - flextglTextureStorage1D = reinterpret_cast(loader.load("glTextureStorage1D")); - flextglTextureStorage2D = reinterpret_cast(loader.load("glTextureStorage2D")); - flextglTextureStorage2DMultisample = reinterpret_cast(loader.load("glTextureStorage2DMultisample")); - flextglTextureStorage3D = reinterpret_cast(loader.load("glTextureStorage3D")); - flextglTextureStorage3DMultisample = reinterpret_cast(loader.load("glTextureStorage3DMultisample")); - flextglTextureSubImage1D = reinterpret_cast(loader.load("glTextureSubImage1D")); - flextglTextureSubImage2D = reinterpret_cast(loader.load("glTextureSubImage2D")); - flextglTextureSubImage3D = reinterpret_cast(loader.load("glTextureSubImage3D")); - flextglTransformFeedbackBufferBase = reinterpret_cast(loader.load("glTransformFeedbackBufferBase")); - flextglTransformFeedbackBufferRange = reinterpret_cast(loader.load("glTransformFeedbackBufferRange")); - flextglUnmapNamedBuffer = reinterpret_cast(loader.load("glUnmapNamedBuffer")); - flextglVertexArrayAttribBinding = reinterpret_cast(loader.load("glVertexArrayAttribBinding")); - flextglVertexArrayAttribFormat = reinterpret_cast(loader.load("glVertexArrayAttribFormat")); - flextglVertexArrayAttribIFormat = reinterpret_cast(loader.load("glVertexArrayAttribIFormat")); - flextglVertexArrayAttribLFormat = reinterpret_cast(loader.load("glVertexArrayAttribLFormat")); - flextglVertexArrayBindingDivisor = reinterpret_cast(loader.load("glVertexArrayBindingDivisor")); - flextglVertexArrayElementBuffer = reinterpret_cast(loader.load("glVertexArrayElementBuffer")); - flextglVertexArrayVertexBuffer = reinterpret_cast(loader.load("glVertexArrayVertexBuffer")); - flextglVertexArrayVertexBuffers = reinterpret_cast(loader.load("glVertexArrayVertexBuffers")); + flextGL.BindTextureUnit = reinterpret_cast(loader.load("glBindTextureUnit")); + flextGL.BlitNamedFramebuffer = reinterpret_cast(loader.load("glBlitNamedFramebuffer")); + flextGL.CheckNamedFramebufferStatus = reinterpret_cast(loader.load("glCheckNamedFramebufferStatus")); + flextGL.ClearNamedBufferData = reinterpret_cast(loader.load("glClearNamedBufferData")); + flextGL.ClearNamedBufferSubData = reinterpret_cast(loader.load("glClearNamedBufferSubData")); + flextGL.ClearNamedFramebufferfi = reinterpret_cast(loader.load("glClearNamedFramebufferfi")); + flextGL.ClearNamedFramebufferfv = reinterpret_cast(loader.load("glClearNamedFramebufferfv")); + flextGL.ClearNamedFramebufferiv = reinterpret_cast(loader.load("glClearNamedFramebufferiv")); + flextGL.ClearNamedFramebufferuiv = reinterpret_cast(loader.load("glClearNamedFramebufferuiv")); + flextGL.ClipControl = reinterpret_cast(loader.load("glClipControl")); + flextGL.CompressedTextureSubImage1D = reinterpret_cast(loader.load("glCompressedTextureSubImage1D")); + flextGL.CompressedTextureSubImage2D = reinterpret_cast(loader.load("glCompressedTextureSubImage2D")); + flextGL.CompressedTextureSubImage3D = reinterpret_cast(loader.load("glCompressedTextureSubImage3D")); + flextGL.CopyNamedBufferSubData = reinterpret_cast(loader.load("glCopyNamedBufferSubData")); + flextGL.CopyTextureSubImage1D = reinterpret_cast(loader.load("glCopyTextureSubImage1D")); + flextGL.CopyTextureSubImage2D = reinterpret_cast(loader.load("glCopyTextureSubImage2D")); + flextGL.CopyTextureSubImage3D = reinterpret_cast(loader.load("glCopyTextureSubImage3D")); + flextGL.CreateBuffers = reinterpret_cast(loader.load("glCreateBuffers")); + flextGL.CreateFramebuffers = reinterpret_cast(loader.load("glCreateFramebuffers")); + flextGL.CreateProgramPipelines = reinterpret_cast(loader.load("glCreateProgramPipelines")); + flextGL.CreateQueries = reinterpret_cast(loader.load("glCreateQueries")); + flextGL.CreateRenderbuffers = reinterpret_cast(loader.load("glCreateRenderbuffers")); + flextGL.CreateSamplers = reinterpret_cast(loader.load("glCreateSamplers")); + flextGL.CreateTextures = reinterpret_cast(loader.load("glCreateTextures")); + flextGL.CreateTransformFeedbacks = reinterpret_cast(loader.load("glCreateTransformFeedbacks")); + flextGL.CreateVertexArrays = reinterpret_cast(loader.load("glCreateVertexArrays")); + flextGL.DisableVertexArrayAttrib = reinterpret_cast(loader.load("glDisableVertexArrayAttrib")); + flextGL.EnableVertexArrayAttrib = reinterpret_cast(loader.load("glEnableVertexArrayAttrib")); + flextGL.FlushMappedNamedBufferRange = reinterpret_cast(loader.load("glFlushMappedNamedBufferRange")); + flextGL.GenerateTextureMipmap = reinterpret_cast(loader.load("glGenerateTextureMipmap")); + flextGL.GetCompressedTextureImage = reinterpret_cast(loader.load("glGetCompressedTextureImage")); + flextGL.GetCompressedTextureSubImage = reinterpret_cast(loader.load("glGetCompressedTextureSubImage")); + flextGL.GetGraphicsResetStatus = reinterpret_cast(loader.load("glGetGraphicsResetStatus")); + flextGL.GetNamedBufferParameteri64v = reinterpret_cast(loader.load("glGetNamedBufferParameteri64v")); + flextGL.GetNamedBufferParameteriv = reinterpret_cast(loader.load("glGetNamedBufferParameteriv")); + flextGL.GetNamedBufferPointerv = reinterpret_cast(loader.load("glGetNamedBufferPointerv")); + flextGL.GetNamedBufferSubData = reinterpret_cast(loader.load("glGetNamedBufferSubData")); + flextGL.GetNamedFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetNamedFramebufferAttachmentParameteriv")); + flextGL.GetNamedFramebufferParameteriv = reinterpret_cast(loader.load("glGetNamedFramebufferParameteriv")); + flextGL.GetNamedRenderbufferParameteriv = reinterpret_cast(loader.load("glGetNamedRenderbufferParameteriv")); + flextGL.GetQueryBufferObjecti64v = reinterpret_cast(loader.load("glGetQueryBufferObjecti64v")); + flextGL.GetQueryBufferObjectiv = reinterpret_cast(loader.load("glGetQueryBufferObjectiv")); + flextGL.GetQueryBufferObjectui64v = reinterpret_cast(loader.load("glGetQueryBufferObjectui64v")); + flextGL.GetQueryBufferObjectuiv = reinterpret_cast(loader.load("glGetQueryBufferObjectuiv")); + flextGL.GetTextureImage = reinterpret_cast(loader.load("glGetTextureImage")); + flextGL.GetTextureLevelParameterfv = reinterpret_cast(loader.load("glGetTextureLevelParameterfv")); + flextGL.GetTextureLevelParameteriv = reinterpret_cast(loader.load("glGetTextureLevelParameteriv")); + flextGL.GetTextureParameterIiv = reinterpret_cast(loader.load("glGetTextureParameterIiv")); + flextGL.GetTextureParameterIuiv = reinterpret_cast(loader.load("glGetTextureParameterIuiv")); + flextGL.GetTextureParameterfv = reinterpret_cast(loader.load("glGetTextureParameterfv")); + flextGL.GetTextureParameteriv = reinterpret_cast(loader.load("glGetTextureParameteriv")); + flextGL.GetTextureSubImage = reinterpret_cast(loader.load("glGetTextureSubImage")); + flextGL.GetTransformFeedbacki64_v = reinterpret_cast(loader.load("glGetTransformFeedbacki64_v")); + flextGL.GetTransformFeedbacki_v = reinterpret_cast(loader.load("glGetTransformFeedbacki_v")); + flextGL.GetTransformFeedbackiv = reinterpret_cast(loader.load("glGetTransformFeedbackiv")); + flextGL.GetVertexArrayIndexed64iv = reinterpret_cast(loader.load("glGetVertexArrayIndexed64iv")); + flextGL.GetVertexArrayIndexediv = reinterpret_cast(loader.load("glGetVertexArrayIndexediv")); + flextGL.GetVertexArrayiv = reinterpret_cast(loader.load("glGetVertexArrayiv")); + flextGL.GetnCompressedTexImage = reinterpret_cast(loader.load("glGetnCompressedTexImage")); + flextGL.GetnTexImage = reinterpret_cast(loader.load("glGetnTexImage")); + flextGL.GetnUniformdv = reinterpret_cast(loader.load("glGetnUniformdv")); + flextGL.GetnUniformfv = reinterpret_cast(loader.load("glGetnUniformfv")); + flextGL.GetnUniformiv = reinterpret_cast(loader.load("glGetnUniformiv")); + flextGL.GetnUniformuiv = reinterpret_cast(loader.load("glGetnUniformuiv")); + flextGL.InvalidateNamedFramebufferData = reinterpret_cast(loader.load("glInvalidateNamedFramebufferData")); + flextGL.InvalidateNamedFramebufferSubData = reinterpret_cast(loader.load("glInvalidateNamedFramebufferSubData")); + flextGL.MapNamedBuffer = reinterpret_cast(loader.load("glMapNamedBuffer")); + flextGL.MapNamedBufferRange = reinterpret_cast(loader.load("glMapNamedBufferRange")); + flextGL.MemoryBarrierByRegion = reinterpret_cast(loader.load("glMemoryBarrierByRegion")); + flextGL.NamedBufferData = reinterpret_cast(loader.load("glNamedBufferData")); + flextGL.NamedBufferStorage = reinterpret_cast(loader.load("glNamedBufferStorage")); + flextGL.NamedBufferSubData = reinterpret_cast(loader.load("glNamedBufferSubData")); + flextGL.NamedFramebufferDrawBuffer = reinterpret_cast(loader.load("glNamedFramebufferDrawBuffer")); + flextGL.NamedFramebufferDrawBuffers = reinterpret_cast(loader.load("glNamedFramebufferDrawBuffers")); + flextGL.NamedFramebufferParameteri = reinterpret_cast(loader.load("glNamedFramebufferParameteri")); + flextGL.NamedFramebufferReadBuffer = reinterpret_cast(loader.load("glNamedFramebufferReadBuffer")); + flextGL.NamedFramebufferRenderbuffer = reinterpret_cast(loader.load("glNamedFramebufferRenderbuffer")); + flextGL.NamedFramebufferTexture = reinterpret_cast(loader.load("glNamedFramebufferTexture")); + flextGL.NamedFramebufferTextureLayer = reinterpret_cast(loader.load("glNamedFramebufferTextureLayer")); + flextGL.NamedRenderbufferStorage = reinterpret_cast(loader.load("glNamedRenderbufferStorage")); + flextGL.NamedRenderbufferStorageMultisample = reinterpret_cast(loader.load("glNamedRenderbufferStorageMultisample")); + flextGL.ReadnPixels = reinterpret_cast(loader.load("glReadnPixels")); + flextGL.TextureBarrier = reinterpret_cast(loader.load("glTextureBarrier")); + flextGL.TextureBuffer = reinterpret_cast(loader.load("glTextureBuffer")); + flextGL.TextureBufferRange = reinterpret_cast(loader.load("glTextureBufferRange")); + flextGL.TextureParameterIiv = reinterpret_cast(loader.load("glTextureParameterIiv")); + flextGL.TextureParameterIuiv = reinterpret_cast(loader.load("glTextureParameterIuiv")); + flextGL.TextureParameterf = reinterpret_cast(loader.load("glTextureParameterf")); + flextGL.TextureParameterfv = reinterpret_cast(loader.load("glTextureParameterfv")); + flextGL.TextureParameteri = reinterpret_cast(loader.load("glTextureParameteri")); + flextGL.TextureParameteriv = reinterpret_cast(loader.load("glTextureParameteriv")); + flextGL.TextureStorage1D = reinterpret_cast(loader.load("glTextureStorage1D")); + flextGL.TextureStorage2D = reinterpret_cast(loader.load("glTextureStorage2D")); + flextGL.TextureStorage2DMultisample = reinterpret_cast(loader.load("glTextureStorage2DMultisample")); + flextGL.TextureStorage3D = reinterpret_cast(loader.load("glTextureStorage3D")); + flextGL.TextureStorage3DMultisample = reinterpret_cast(loader.load("glTextureStorage3DMultisample")); + flextGL.TextureSubImage1D = reinterpret_cast(loader.load("glTextureSubImage1D")); + flextGL.TextureSubImage2D = reinterpret_cast(loader.load("glTextureSubImage2D")); + flextGL.TextureSubImage3D = reinterpret_cast(loader.load("glTextureSubImage3D")); + flextGL.TransformFeedbackBufferBase = reinterpret_cast(loader.load("glTransformFeedbackBufferBase")); + flextGL.TransformFeedbackBufferRange = reinterpret_cast(loader.load("glTransformFeedbackBufferRange")); + flextGL.UnmapNamedBuffer = reinterpret_cast(loader.load("glUnmapNamedBuffer")); + flextGL.VertexArrayAttribBinding = reinterpret_cast(loader.load("glVertexArrayAttribBinding")); + flextGL.VertexArrayAttribFormat = reinterpret_cast(loader.load("glVertexArrayAttribFormat")); + flextGL.VertexArrayAttribIFormat = reinterpret_cast(loader.load("glVertexArrayAttribIFormat")); + flextGL.VertexArrayAttribLFormat = reinterpret_cast(loader.load("glVertexArrayAttribLFormat")); + flextGL.VertexArrayBindingDivisor = reinterpret_cast(loader.load("glVertexArrayBindingDivisor")); + flextGL.VertexArrayElementBuffer = reinterpret_cast(loader.load("glVertexArrayElementBuffer")); + flextGL.VertexArrayVertexBuffer = reinterpret_cast(loader.load("glVertexArrayVertexBuffer")); + flextGL.VertexArrayVertexBuffers = reinterpret_cast(loader.load("glVertexArrayVertexBuffers")); /* GL_VERSION_4_6 */ - flextglMultiDrawArraysIndirectCount = reinterpret_cast(loader.load("glMultiDrawArraysIndirectCount")); - flextglMultiDrawElementsIndirectCount = reinterpret_cast(loader.load("glMultiDrawElementsIndirectCount")); - flextglPolygonOffsetClamp = reinterpret_cast(loader.load("glPolygonOffsetClamp")); - flextglSpecializeShader = reinterpret_cast(loader.load("glSpecializeShader")); + flextGL.MultiDrawArraysIndirectCount = reinterpret_cast(loader.load("glMultiDrawArraysIndirectCount")); + flextGL.MultiDrawElementsIndirectCount = reinterpret_cast(loader.load("glMultiDrawElementsIndirectCount")); + flextGL.PolygonOffsetClamp = reinterpret_cast(loader.load("glPolygonOffsetClamp")); + flextGL.SpecializeShader = reinterpret_cast(loader.load("glSpecializeShader")); } diff --git a/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp.template b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp.template index 42261143e..ab98ef835 100644 --- a/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp.template +++ b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp.template @@ -53,7 +53,7 @@ void flextGLInit(Magnum::GL::Context& context) { /* GL_@category */ @for f in funcs: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(loader.load("gl@f.name")); @end @end @@ -68,7 +68,7 @@ void flextGLInit(Magnum::GL::Context& context) { /* GL_@category */ @for f in funcs: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(loader.load("gl@f.name")); @end @end diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp b/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp index 940ec3a59..d06f0c44f 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp +++ b/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp @@ -29,197 +29,7 @@ extern "C" { #endif -/* GL_ANGLE_framebuffer_blit */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferANGLE)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; - -/* GL_ANGLE_framebuffer_multisample */ -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleANGLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_ANGLE_instanced_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedANGLE)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedANGLE)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorANGLE)(GLuint, GLuint) = nullptr; - -/* GL_APPLE_framebuffer_multisample */ -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleAPPLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglResolveMultisampleFramebufferAPPLE)(void) = nullptr; - -/* GL_EXT_debug_label */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_debug_marker */ -FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_discard_framebuffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglDiscardFramebufferEXT)(GLenum, GLsizei, const GLenum *) = nullptr; - -/* GL_EXT_disjoint_timer_query */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum) = nullptr; - -/* GL_EXT_draw_buffers */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersEXT)(GLsizei, const GLenum *) = nullptr; - -/* GL_EXT_draw_buffers_indexed */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint) = nullptr; - -/* GL_EXT_instanced_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorEXT)(GLuint, GLuint) = nullptr; - -/* GL_EXT_map_buffer_range */ -FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr, GLbitfield) = nullptr; - -/* GL_EXT_multi_draw_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei) = nullptr; - -/* GL_EXT_multisampled_render_to_texture */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_EXT_occlusion_query_boolean */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint) = nullptr; - -/* GL_EXT_polygon_offset_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat) = nullptr; - -/* GL_EXT_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_EXT_separate_shader_objects */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint) = nullptr; - -/* GL_EXT_texture_border_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *) = nullptr; - -/* GL_EXT_texture_storage */ -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = nullptr; - -/* GL_KHR_blend_equation_advanced */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr; - -/* GL_KHR_debug */ -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_KHR_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_NV_draw_buffers */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersNV)(GLsizei, const GLenum *) = nullptr; - -/* GL_NV_draw_instanced */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedNV)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedNV)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; - -/* GL_NV_framebuffer_blit */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferNV)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; - -/* GL_NV_framebuffer_multisample */ -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleNV)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_NV_instanced_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorNV)(GLuint, GLuint) = nullptr; - -/* GL_NV_polygon_mode */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum) = nullptr; - -/* GL_NV_read_buffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglReadBufferNV)(GLenum) = nullptr; - -/* GL_OES_mapbuffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum) = nullptr; - -/* GL_OES_texture_3D */ -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture3DOES)(GLenum, GLenum, GLenum, GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; - -/* GL_OES_vertex_array_object */ -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArrayOES)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArraysOES)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArraysOES)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArrayOES)(GLuint) = nullptr; +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp.template b/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp.template index 87e6e6621..5a6b60945 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES2/flextGL.cpp.template @@ -29,16 +29,8 @@ #ifdef __cplusplus extern "C" { #endif -@for category,funcs in functions: -@if funcs and category not in ['ES_VERSION_2_0']: - -/* GL_@category */ -@for f in funcs: -FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()) = nullptr; -@end -@end -@end + +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGL.h b/src/MagnumExternal/OpenGL/GLES2/flextGL.h index c03f89fdd..44d3041bd 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGL.h +++ b/src/MagnumExternal/OpenGL/GLES2/flextGL.h @@ -1063,32 +1063,6 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen /* Function prototypes */ -/* GL_ANGLE_framebuffer_blit */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferANGLE)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitFramebufferANGLE flextglBlitFramebufferANGLE - -/* GL_ANGLE_framebuffer_multisample */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleANGLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleANGLE flextglRenderbufferStorageMultisampleANGLE - -/* GL_ANGLE_instanced_arrays */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedANGLE)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstancedANGLE flextglDrawArraysInstancedANGLE -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedANGLE)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstancedANGLE flextglDrawElementsInstancedANGLE -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorANGLE)(GLuint, GLuint); -#define glVertexAttribDivisorANGLE flextglVertexAttribDivisorANGLE - -/* GL_APPLE_framebuffer_multisample */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleAPPLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleAPPLE flextglRenderbufferStorageMultisampleAPPLE -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglResolveMultisampleFramebufferAPPLE)(void); -#define glResolveMultisampleFramebufferAPPLE flextglResolveMultisampleFramebufferAPPLE - /* GL_ES_VERSION_2_0 */ GLAPI FLEXTGL_EXPORT void APIENTRY glActiveTexture(GLenum); @@ -1234,330 +1208,463 @@ GLAPI FLEXTGL_EXPORT void APIENTRY glVertexAttrib4fv(GLuint, const GLfloat *); GLAPI FLEXTGL_EXPORT void APIENTRY glVertexAttribPointer(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); GLAPI FLEXTGL_EXPORT void APIENTRY glViewport(GLint, GLint, GLsizei, GLsizei); +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + + /* GL_ANGLE_framebuffer_blit */ + + void(APIENTRY *BlitFramebufferANGLE)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); + + /* GL_ANGLE_framebuffer_multisample */ + + void(APIENTRY *RenderbufferStorageMultisampleANGLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_ANGLE_instanced_arrays */ + + void(APIENTRY *DrawArraysInstancedANGLE)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawElementsInstancedANGLE)(GLenum, GLsizei, GLenum, const void *, GLsizei); + void(APIENTRY *VertexAttribDivisorANGLE)(GLuint, GLuint); + + /* GL_APPLE_framebuffer_multisample */ + + void(APIENTRY *RenderbufferStorageMultisampleAPPLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *ResolveMultisampleFramebufferAPPLE)(void); + + /* GL_EXT_debug_label */ + + void(APIENTRY *GetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *LabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_EXT_debug_marker */ + + void(APIENTRY *InsertEventMarkerEXT)(GLsizei, const GLchar *); + void(APIENTRY *PopGroupMarkerEXT)(void); + void(APIENTRY *PushGroupMarkerEXT)(GLsizei, const GLchar *); + + /* GL_EXT_discard_framebuffer */ + + void(APIENTRY *DiscardFramebufferEXT)(GLenum, GLsizei, const GLenum *); + + /* GL_EXT_disjoint_timer_query */ + + void(APIENTRY *GetInteger64vEXT)(GLenum, GLint64 *); + void(APIENTRY *GetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); + void(APIENTRY *GetQueryObjectivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); + void(APIENTRY *QueryCounterEXT)(GLuint, GLenum); + + /* GL_EXT_draw_buffers */ + + void(APIENTRY *DrawBuffersEXT)(GLsizei, const GLenum *); + + /* GL_EXT_draw_buffers_indexed */ + + void(APIENTRY *BlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *BlendEquationiEXT)(GLuint, GLenum); + void(APIENTRY *BlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BlendFunciEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *ColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *DisableiEXT)(GLenum, GLuint); + void(APIENTRY *EnableiEXT)(GLenum, GLuint); + GLboolean(APIENTRY *IsEnablediEXT)(GLenum, GLuint); + + /* GL_EXT_instanced_arrays */ + + void(APIENTRY *DrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const void *, GLsizei); + void(APIENTRY *VertexAttribDivisorEXT)(GLuint, GLuint); + + /* GL_EXT_map_buffer_range */ + + void(APIENTRY *FlushMappedBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr); + void *(APIENTRY *MapBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr, GLbitfield); + + /* GL_EXT_multi_draw_arrays */ + + void(APIENTRY *MultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); + void(APIENTRY *MultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); + + /* GL_EXT_multisampled_render_to_texture */ + + void(APIENTRY *FramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); + void(APIENTRY *RenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_EXT_occlusion_query_boolean */ + + void(APIENTRY *BeginQueryEXT)(GLenum, GLuint); + void(APIENTRY *DeleteQueriesEXT)(GLsizei, const GLuint *); + void(APIENTRY *EndQueryEXT)(GLenum); + void(APIENTRY *GenQueriesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetQueryivEXT)(GLenum, GLenum, GLint *); + GLboolean(APIENTRY *IsQueryEXT)(GLuint); + + /* GL_EXT_polygon_offset_clamp */ + + void(APIENTRY *PolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); + + /* GL_EXT_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusEXT)(void); + void(APIENTRY *GetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *ReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_EXT_separate_shader_objects */ + + void(APIENTRY *ActiveShaderProgramEXT)(GLuint, GLuint); + void(APIENTRY *BindProgramPipelineEXT)(GLuint); + GLuint(APIENTRY *CreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); + void(APIENTRY *DeleteProgramPipelinesEXT)(GLsizei, const GLuint *); + void(APIENTRY *GenProgramPipelinesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramPipelineivEXT)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsProgramPipelineEXT)(GLuint); + void(APIENTRY *ProgramParameteriEXT)(GLuint, GLenum, GLint); + void(APIENTRY *ProgramUniform1fEXT)(GLuint, GLint, GLfloat); + void(APIENTRY *ProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform1iEXT)(GLuint, GLint, GLint); + void(APIENTRY *ProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UseProgramStagesEXT)(GLuint, GLbitfield, GLuint); + void(APIENTRY *ValidateProgramPipelineEXT)(GLuint); + + /* GL_EXT_texture_border_clamp */ + + void(APIENTRY *GetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetTexParameterIivEXT)(GLenum, GLenum, GLint *); + void(APIENTRY *GetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); + void(APIENTRY *SamplerParameterIivEXT)(GLuint, GLenum, const GLint *); + void(APIENTRY *SamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); + void(APIENTRY *TexParameterIivEXT)(GLenum, GLenum, const GLint *); + void(APIENTRY *TexParameterIuivEXT)(GLenum, GLenum, const GLuint *); + + /* GL_EXT_texture_storage */ + + void(APIENTRY *TexStorage2DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *TexStorage3DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); + + /* GL_KHR_blend_equation_advanced */ + + void(APIENTRY *BlendBarrierKHR)(void); + + /* GL_KHR_debug */ + + void(APIENTRY *DebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); + void(APIENTRY *DebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); + void(APIENTRY *DebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); + GLuint(APIENTRY *GetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); + void(APIENTRY *GetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetPointervKHR)(GLenum, void **); + void(APIENTRY *ObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); + void(APIENTRY *PopDebugGroupKHR)(void); + void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_KHR_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void); + void(APIENTRY *GetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); + void(APIENTRY *ReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_NV_draw_buffers */ + + void(APIENTRY *DrawBuffersNV)(GLsizei, const GLenum *); + + /* GL_NV_draw_instanced */ + + void(APIENTRY *DrawArraysInstancedNV)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawElementsInstancedNV)(GLenum, GLsizei, GLenum, const void *, GLsizei); + + /* GL_NV_framebuffer_blit */ + + void(APIENTRY *BlitFramebufferNV)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); + + /* GL_NV_framebuffer_multisample */ + + void(APIENTRY *RenderbufferStorageMultisampleNV)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_NV_instanced_arrays */ + + void(APIENTRY *VertexAttribDivisorNV)(GLuint, GLuint); + + /* GL_NV_polygon_mode */ + + void(APIENTRY *PolygonModeNV)(GLenum, GLenum); + + /* GL_NV_read_buffer */ + + void(APIENTRY *ReadBufferNV)(GLenum); + + /* GL_OES_mapbuffer */ + + void(APIENTRY *GetBufferPointervOES)(GLenum, GLenum, void **); + void *(APIENTRY *MapBufferOES)(GLenum, GLenum); + GLboolean(APIENTRY *UnmapBufferOES)(GLenum); + + /* GL_OES_texture_3D */ + + void(APIENTRY *CompressedTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CopyTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *FramebufferTexture3DOES)(GLenum, GLenum, GLenum, GLuint, GLint, GLint); + void(APIENTRY *TexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); + void(APIENTRY *TexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); + + /* GL_OES_vertex_array_object */ + + void(APIENTRY *BindVertexArrayOES)(GLuint); + void(APIENTRY *DeleteVertexArraysOES)(GLsizei, const GLuint *); + void(APIENTRY *GenVertexArraysOES)(GLsizei, GLuint *); + GLboolean(APIENTRY *IsVertexArrayOES)(GLuint); +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; + +/* GL_ANGLE_framebuffer_blit */ + +#define glBlitFramebufferANGLE flextGL.BlitFramebufferANGLE + +/* GL_ANGLE_framebuffer_multisample */ + +#define glRenderbufferStorageMultisampleANGLE flextGL.RenderbufferStorageMultisampleANGLE + +/* GL_ANGLE_instanced_arrays */ + +#define glDrawArraysInstancedANGLE flextGL.DrawArraysInstancedANGLE +#define glDrawElementsInstancedANGLE flextGL.DrawElementsInstancedANGLE +#define glVertexAttribDivisorANGLE flextGL.VertexAttribDivisorANGLE + +/* GL_APPLE_framebuffer_multisample */ + +#define glRenderbufferStorageMultisampleAPPLE flextGL.RenderbufferStorageMultisampleAPPLE +#define glResolveMultisampleFramebufferAPPLE flextGL.ResolveMultisampleFramebufferAPPLE + /* GL_EXT_debug_label */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelEXT flextglGetObjectLabelEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); -#define glLabelObjectEXT flextglLabelObjectEXT +#define glGetObjectLabelEXT flextGL.GetObjectLabelEXT +#define glLabelObjectEXT flextGL.LabelObjectEXT /* GL_EXT_debug_marker */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *); -#define glInsertEventMarkerEXT flextglInsertEventMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void); -#define glPopGroupMarkerEXT flextglPopGroupMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *); -#define glPushGroupMarkerEXT flextglPushGroupMarkerEXT +#define glInsertEventMarkerEXT flextGL.InsertEventMarkerEXT +#define glPopGroupMarkerEXT flextGL.PopGroupMarkerEXT +#define glPushGroupMarkerEXT flextGL.PushGroupMarkerEXT /* GL_EXT_discard_framebuffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDiscardFramebufferEXT)(GLenum, GLsizei, const GLenum *); -#define glDiscardFramebufferEXT flextglDiscardFramebufferEXT +#define glDiscardFramebufferEXT flextGL.DiscardFramebufferEXT /* GL_EXT_disjoint_timer_query */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *); -#define glGetInteger64vEXT flextglGetInteger64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); -#define glGetQueryObjecti64vEXT flextglGetQueryObjecti64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *); -#define glGetQueryObjectivEXT flextglGetQueryObjectivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); -#define glGetQueryObjectui64vEXT flextglGetQueryObjectui64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum); -#define glQueryCounterEXT flextglQueryCounterEXT +#define glGetInteger64vEXT flextGL.GetInteger64vEXT +#define glGetQueryObjecti64vEXT flextGL.GetQueryObjecti64vEXT +#define glGetQueryObjectivEXT flextGL.GetQueryObjectivEXT +#define glGetQueryObjectui64vEXT flextGL.GetQueryObjectui64vEXT +#define glQueryCounterEXT flextGL.QueryCounterEXT /* GL_EXT_draw_buffers */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersEXT)(GLsizei, const GLenum *); -#define glDrawBuffersEXT flextglDrawBuffersEXT +#define glDrawBuffersEXT flextGL.DrawBuffersEXT /* GL_EXT_draw_buffers_indexed */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparateiEXT flextglBlendEquationSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum); -#define glBlendEquationiEXT flextglBlendEquationiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparateiEXT flextglBlendFuncSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum); -#define glBlendFunciEXT flextglBlendFunciEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaskiEXT flextglColorMaskiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint); -#define glDisableiEXT flextglDisableiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint); -#define glEnableiEXT flextglEnableiEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint); -#define glIsEnablediEXT flextglIsEnablediEXT +#define glBlendEquationSeparateiEXT flextGL.BlendEquationSeparateiEXT +#define glBlendEquationiEXT flextGL.BlendEquationiEXT +#define glBlendFuncSeparateiEXT flextGL.BlendFuncSeparateiEXT +#define glBlendFunciEXT flextGL.BlendFunciEXT +#define glColorMaskiEXT flextGL.ColorMaskiEXT +#define glDisableiEXT flextGL.DisableiEXT +#define glEnableiEXT flextGL.EnableiEXT +#define glIsEnablediEXT flextGL.IsEnablediEXT /* GL_EXT_instanced_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstancedEXT flextglDrawArraysInstancedEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstancedEXT flextglDrawElementsInstancedEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorEXT)(GLuint, GLuint); -#define glVertexAttribDivisorEXT flextglVertexAttribDivisorEXT +#define glDrawArraysInstancedEXT flextGL.DrawArraysInstancedEXT +#define glDrawElementsInstancedEXT flextGL.DrawElementsInstancedEXT +#define glVertexAttribDivisorEXT flextGL.VertexAttribDivisorEXT /* GL_EXT_map_buffer_range */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr); -#define glFlushMappedBufferRangeEXT flextglFlushMappedBufferRangeEXT -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr, GLbitfield); -#define glMapBufferRangeEXT flextglMapBufferRangeEXT +#define glFlushMappedBufferRangeEXT flextGL.FlushMappedBufferRangeEXT +#define glMapBufferRangeEXT flextGL.MapBufferRangeEXT /* GL_EXT_multi_draw_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); -#define glMultiDrawArraysEXT flextglMultiDrawArraysEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); -#define glMultiDrawElementsEXT flextglMultiDrawElementsEXT +#define glMultiDrawArraysEXT flextGL.MultiDrawArraysEXT +#define glMultiDrawElementsEXT flextGL.MultiDrawElementsEXT /* GL_EXT_multisampled_render_to_texture */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); -#define glFramebufferTexture2DMultisampleEXT flextglFramebufferTexture2DMultisampleEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleEXT flextglRenderbufferStorageMultisampleEXT +#define glFramebufferTexture2DMultisampleEXT flextGL.FramebufferTexture2DMultisampleEXT +#define glRenderbufferStorageMultisampleEXT flextGL.RenderbufferStorageMultisampleEXT /* GL_EXT_occlusion_query_boolean */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint); -#define glBeginQueryEXT flextglBeginQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *); -#define glDeleteQueriesEXT flextglDeleteQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum); -#define glEndQueryEXT flextglEndQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *); -#define glGenQueriesEXT flextglGenQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); -#define glGetQueryObjectuivEXT flextglGetQueryObjectuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *); -#define glGetQueryivEXT flextglGetQueryivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint); -#define glIsQueryEXT flextglIsQueryEXT +#define glBeginQueryEXT flextGL.BeginQueryEXT +#define glDeleteQueriesEXT flextGL.DeleteQueriesEXT +#define glEndQueryEXT flextGL.EndQueryEXT +#define glGenQueriesEXT flextGL.GenQueriesEXT +#define glGetQueryObjectuivEXT flextGL.GetQueryObjectuivEXT +#define glGetQueryivEXT flextGL.GetQueryivEXT +#define glIsQueryEXT flextGL.IsQueryEXT /* GL_EXT_polygon_offset_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); -#define glPolygonOffsetClampEXT flextglPolygonOffsetClampEXT +#define glPolygonOffsetClampEXT flextGL.PolygonOffsetClampEXT /* GL_EXT_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void); -#define glGetGraphicsResetStatusEXT flextglGetGraphicsResetStatusEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvEXT flextglGetnUniformfvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivEXT flextglGetnUniformivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsEXT flextglReadnPixelsEXT +#define glGetGraphicsResetStatusEXT flextGL.GetGraphicsResetStatusEXT +#define glGetnUniformfvEXT flextGL.GetnUniformfvEXT +#define glGetnUniformivEXT flextGL.GetnUniformivEXT +#define glReadnPixelsEXT flextGL.ReadnPixelsEXT /* GL_EXT_separate_shader_objects */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint); -#define glActiveShaderProgramEXT flextglActiveShaderProgramEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint); -#define glBindProgramPipelineEXT flextglBindProgramPipelineEXT -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); -#define glCreateShaderProgramvEXT flextglCreateShaderProgramvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *); -#define glDeleteProgramPipelinesEXT flextglDeleteProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *); -#define glGenProgramPipelinesEXT flextglGenProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLogEXT flextglGetProgramPipelineInfoLogEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineivEXT flextglGetProgramPipelineivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint); -#define glIsProgramPipelineEXT flextglIsProgramPipelineEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint); -#define glProgramParameteriEXT flextglProgramParameteriEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat); -#define glProgramUniform1fEXT flextglProgramUniform1fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fvEXT flextglProgramUniform1fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint); -#define glProgramUniform1iEXT flextglProgramUniform1iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1ivEXT flextglProgramUniform1ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2fEXT flextglProgramUniform2fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fvEXT flextglProgramUniform2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2iEXT flextglProgramUniform2iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2ivEXT flextglProgramUniform2ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3fEXT flextglProgramUniform3fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fvEXT flextglProgramUniform3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3iEXT flextglProgramUniform3iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3ivEXT flextglProgramUniform3ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4fEXT flextglProgramUniform4fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fvEXT flextglProgramUniform4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4iEXT flextglProgramUniform4iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4ivEXT flextglProgramUniform4ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fvEXT flextglProgramUniformMatrix2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fvEXT flextglProgramUniformMatrix3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fvEXT flextglProgramUniformMatrix4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint); -#define glUseProgramStagesEXT flextglUseProgramStagesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint); -#define glValidateProgramPipelineEXT flextglValidateProgramPipelineEXT +#define glActiveShaderProgramEXT flextGL.ActiveShaderProgramEXT +#define glBindProgramPipelineEXT flextGL.BindProgramPipelineEXT +#define glCreateShaderProgramvEXT flextGL.CreateShaderProgramvEXT +#define glDeleteProgramPipelinesEXT flextGL.DeleteProgramPipelinesEXT +#define glGenProgramPipelinesEXT flextGL.GenProgramPipelinesEXT +#define glGetProgramPipelineInfoLogEXT flextGL.GetProgramPipelineInfoLogEXT +#define glGetProgramPipelineivEXT flextGL.GetProgramPipelineivEXT +#define glIsProgramPipelineEXT flextGL.IsProgramPipelineEXT +#define glProgramParameteriEXT flextGL.ProgramParameteriEXT +#define glProgramUniform1fEXT flextGL.ProgramUniform1fEXT +#define glProgramUniform1fvEXT flextGL.ProgramUniform1fvEXT +#define glProgramUniform1iEXT flextGL.ProgramUniform1iEXT +#define glProgramUniform1ivEXT flextGL.ProgramUniform1ivEXT +#define glProgramUniform2fEXT flextGL.ProgramUniform2fEXT +#define glProgramUniform2fvEXT flextGL.ProgramUniform2fvEXT +#define glProgramUniform2iEXT flextGL.ProgramUniform2iEXT +#define glProgramUniform2ivEXT flextGL.ProgramUniform2ivEXT +#define glProgramUniform3fEXT flextGL.ProgramUniform3fEXT +#define glProgramUniform3fvEXT flextGL.ProgramUniform3fvEXT +#define glProgramUniform3iEXT flextGL.ProgramUniform3iEXT +#define glProgramUniform3ivEXT flextGL.ProgramUniform3ivEXT +#define glProgramUniform4fEXT flextGL.ProgramUniform4fEXT +#define glProgramUniform4fvEXT flextGL.ProgramUniform4fvEXT +#define glProgramUniform4iEXT flextGL.ProgramUniform4iEXT +#define glProgramUniform4ivEXT flextGL.ProgramUniform4ivEXT +#define glProgramUniformMatrix2fvEXT flextGL.ProgramUniformMatrix2fvEXT +#define glProgramUniformMatrix3fvEXT flextGL.ProgramUniformMatrix3fvEXT +#define glProgramUniformMatrix4fvEXT flextGL.ProgramUniformMatrix4fvEXT +#define glUseProgramStagesEXT flextGL.UseProgramStagesEXT +#define glValidateProgramPipelineEXT flextGL.ValidateProgramPipelineEXT /* GL_EXT_texture_border_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIivEXT flextglGetSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuivEXT flextglGetSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *); -#define glGetTexParameterIivEXT flextglGetTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuivEXT flextglGetTexParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIivEXT flextglSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuivEXT flextglSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *); -#define glTexParameterIivEXT flextglTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuivEXT flextglTexParameterIuivEXT +#define glGetSamplerParameterIivEXT flextGL.GetSamplerParameterIivEXT +#define glGetSamplerParameterIuivEXT flextGL.GetSamplerParameterIuivEXT +#define glGetTexParameterIivEXT flextGL.GetTexParameterIivEXT +#define glGetTexParameterIuivEXT flextGL.GetTexParameterIuivEXT +#define glSamplerParameterIivEXT flextGL.SamplerParameterIivEXT +#define glSamplerParameterIuivEXT flextGL.SamplerParameterIuivEXT +#define glTexParameterIivEXT flextGL.TexParameterIivEXT +#define glTexParameterIuivEXT flextGL.TexParameterIuivEXT /* GL_EXT_texture_storage */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glTexStorage2DEXT flextglTexStorage2DEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); -#define glTexStorage3DEXT flextglTexStorage3DEXT +#define glTexStorage2DEXT flextGL.TexStorage2DEXT +#define glTexStorage3DEXT flextGL.TexStorage3DEXT /* GL_KHR_blend_equation_advanced */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void); -#define glBlendBarrierKHR flextglBlendBarrierKHR +#define glBlendBarrierKHR flextGL.BlendBarrierKHR /* GL_KHR_debug */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); -#define glDebugMessageCallbackKHR flextglDebugMessageCallbackKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControlKHR flextglDebugMessageControlKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsertKHR flextglDebugMessageInsertKHR -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLogKHR flextglGetDebugMessageLogKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelKHR flextglGetObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabelKHR flextglGetObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **); -#define glGetPointervKHR flextglGetPointervKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabelKHR flextglObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabelKHR flextglObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void); -#define glPopDebugGroupKHR flextglPopDebugGroupKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroupKHR flextglPushDebugGroupKHR +#define glDebugMessageCallbackKHR flextGL.DebugMessageCallbackKHR +#define glDebugMessageControlKHR flextGL.DebugMessageControlKHR +#define glDebugMessageInsertKHR flextGL.DebugMessageInsertKHR +#define glGetDebugMessageLogKHR flextGL.GetDebugMessageLogKHR +#define glGetObjectLabelKHR flextGL.GetObjectLabelKHR +#define glGetObjectPtrLabelKHR flextGL.GetObjectPtrLabelKHR +#define glGetPointervKHR flextGL.GetPointervKHR +#define glObjectLabelKHR flextGL.ObjectLabelKHR +#define glObjectPtrLabelKHR flextGL.ObjectPtrLabelKHR +#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR +#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR /* GL_KHR_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void); -#define glGetGraphicsResetStatusKHR flextglGetGraphicsResetStatusKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvKHR flextglGetnUniformfvKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivKHR flextglGetnUniformivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuivKHR flextglGetnUniformuivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsKHR flextglReadnPixelsKHR +#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR +#define glGetnUniformfvKHR flextGL.GetnUniformfvKHR +#define glGetnUniformivKHR flextGL.GetnUniformivKHR +#define glGetnUniformuivKHR flextGL.GetnUniformuivKHR +#define glReadnPixelsKHR flextGL.ReadnPixelsKHR /* GL_NV_draw_buffers */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersNV)(GLsizei, const GLenum *); -#define glDrawBuffersNV flextglDrawBuffersNV +#define glDrawBuffersNV flextGL.DrawBuffersNV /* GL_NV_draw_instanced */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedNV)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstancedNV flextglDrawArraysInstancedNV -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedNV)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstancedNV flextglDrawElementsInstancedNV +#define glDrawArraysInstancedNV flextGL.DrawArraysInstancedNV +#define glDrawElementsInstancedNV flextGL.DrawElementsInstancedNV /* GL_NV_framebuffer_blit */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferNV)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitFramebufferNV flextglBlitFramebufferNV +#define glBlitFramebufferNV flextGL.BlitFramebufferNV /* GL_NV_framebuffer_multisample */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleNV)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleNV flextglRenderbufferStorageMultisampleNV +#define glRenderbufferStorageMultisampleNV flextGL.RenderbufferStorageMultisampleNV /* GL_NV_instanced_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorNV)(GLuint, GLuint); -#define glVertexAttribDivisorNV flextglVertexAttribDivisorNV +#define glVertexAttribDivisorNV flextGL.VertexAttribDivisorNV /* GL_NV_polygon_mode */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum); -#define glPolygonModeNV flextglPolygonModeNV +#define glPolygonModeNV flextGL.PolygonModeNV /* GL_NV_read_buffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadBufferNV)(GLenum); -#define glReadBufferNV flextglReadBufferNV +#define glReadBufferNV flextGL.ReadBufferNV /* GL_OES_mapbuffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **); -#define glGetBufferPointervOES flextglGetBufferPointervOES -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum); -#define glMapBufferOES flextglMapBufferOES -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum); -#define glUnmapBufferOES flextglUnmapBufferOES +#define glGetBufferPointervOES flextGL.GetBufferPointervOES +#define glMapBufferOES flextGL.MapBufferOES +#define glUnmapBufferOES flextGL.UnmapBufferOES /* GL_OES_texture_3D */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage3DOES flextglCompressedTexImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage3DOES flextglCompressedTexSubImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTexSubImage3DOES flextglCopyTexSubImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture3DOES)(GLenum, GLenum, GLenum, GLuint, GLint, GLint); -#define glFramebufferTexture3DOES flextglFramebufferTexture3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage3DOES flextglTexImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage3DOES flextglTexSubImage3DOES +#define glCompressedTexImage3DOES flextGL.CompressedTexImage3DOES +#define glCompressedTexSubImage3DOES flextGL.CompressedTexSubImage3DOES +#define glCopyTexSubImage3DOES flextGL.CopyTexSubImage3DOES +#define glFramebufferTexture3DOES flextGL.FramebufferTexture3DOES +#define glTexImage3DOES flextGL.TexImage3DOES +#define glTexSubImage3DOES flextGL.TexSubImage3DOES /* GL_OES_vertex_array_object */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArrayOES)(GLuint); -#define glBindVertexArrayOES flextglBindVertexArrayOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArraysOES)(GLsizei, const GLuint *); -#define glDeleteVertexArraysOES flextglDeleteVertexArraysOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArraysOES)(GLsizei, GLuint *); -#define glGenVertexArraysOES flextglGenVertexArraysOES -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArrayOES)(GLuint); -#define glIsVertexArrayOES flextglIsVertexArrayOES +#define glBindVertexArrayOES flextGL.BindVertexArrayOES +#define glDeleteVertexArraysOES flextGL.DeleteVertexArraysOES +#define glGenVertexArraysOES flextGL.GenVertexArraysOES +#define glIsVertexArrayOES flextGL.IsVertexArrayOES #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGL.h.template b/src/MagnumExternal/OpenGL/GLES2/flextGL.h.template index a71ce31d4..a2b677a35 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGL.h.template +++ b/src/MagnumExternal/OpenGL/GLES2/flextGL.h.template @@ -101,22 +101,43 @@ void flextGLInit(Magnum::GL::Context& context); /* Function prototypes */ @for cat,funcs in functions: -@if funcs: +@if funcs and cat in ['ES_VERSION_2_0']: /* GL_@cat */ - @if cat in ['ES_VERSION_2_0']: @for f in funcs: GLAPI FLEXTGL_EXPORT @f.returntype APIENTRY gl@f.name\ (@f.param_type_list_string()); @end - @else: - @for f in funcs: -GLAPI FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()); -#define gl@f.name flextgl@f.name - @end +@end +@end + +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + @for cat,funcs in functions: + @if funcs and cat not in ['ES_VERSION_2_0']: + + /* GL_@cat */ + + @for f in funcs: + @f.returntype\ +(APIENTRY *@f.name)(@f.param_type_list_string()); + @end @end + @end +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; +@for cat,funcs in functions: +@if funcs and cat not in ['ES_VERSION_2_0']: + +/* GL_@cat */ + +@for f in funcs: +#define gl@f.name flextGL.@f.name +@end @end @end diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp index fed85b780..c0a8b2414 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp @@ -34,194 +34,194 @@ void flextGLInit(Magnum::GL::Context&) { Magnum::Platform::Implementation::OpenGLFunctionLoader loader; /* GL_ANGLE_framebuffer_blit */ - flextglBlitFramebufferANGLE = reinterpret_cast(loader.load("glBlitFramebufferANGLE")); + flextGL.BlitFramebufferANGLE = reinterpret_cast(loader.load("glBlitFramebufferANGLE")); /* GL_ANGLE_framebuffer_multisample */ - flextglRenderbufferStorageMultisampleANGLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleANGLE")); + flextGL.RenderbufferStorageMultisampleANGLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleANGLE")); /* GL_ANGLE_instanced_arrays */ - flextglDrawArraysInstancedANGLE = reinterpret_cast(loader.load("glDrawArraysInstancedANGLE")); - flextglDrawElementsInstancedANGLE = reinterpret_cast(loader.load("glDrawElementsInstancedANGLE")); - flextglVertexAttribDivisorANGLE = reinterpret_cast(loader.load("glVertexAttribDivisorANGLE")); + flextGL.DrawArraysInstancedANGLE = reinterpret_cast(loader.load("glDrawArraysInstancedANGLE")); + flextGL.DrawElementsInstancedANGLE = reinterpret_cast(loader.load("glDrawElementsInstancedANGLE")); + flextGL.VertexAttribDivisorANGLE = reinterpret_cast(loader.load("glVertexAttribDivisorANGLE")); /* GL_APPLE_framebuffer_multisample */ - flextglRenderbufferStorageMultisampleAPPLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleAPPLE")); - flextglResolveMultisampleFramebufferAPPLE = reinterpret_cast(loader.load("glResolveMultisampleFramebufferAPPLE")); + flextGL.RenderbufferStorageMultisampleAPPLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleAPPLE")); + flextGL.ResolveMultisampleFramebufferAPPLE = reinterpret_cast(loader.load("glResolveMultisampleFramebufferAPPLE")); /* GL_EXT_debug_label */ - flextglGetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); - flextglLabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); + flextGL.GetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); + flextGL.LabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); /* GL_EXT_debug_marker */ - flextglInsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); - flextglPopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); - flextglPushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); + flextGL.InsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); + flextGL.PopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); + flextGL.PushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); /* GL_EXT_discard_framebuffer */ - flextglDiscardFramebufferEXT = reinterpret_cast(loader.load("glDiscardFramebufferEXT")); + flextGL.DiscardFramebufferEXT = reinterpret_cast(loader.load("glDiscardFramebufferEXT")); /* GL_EXT_disjoint_timer_query */ - flextglGetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); - flextglGetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); - flextglGetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); - flextglGetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); - flextglQueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); + flextGL.GetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); + flextGL.GetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); + flextGL.GetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); + flextGL.GetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); + flextGL.QueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); /* GL_EXT_draw_buffers */ - flextglDrawBuffersEXT = reinterpret_cast(loader.load("glDrawBuffersEXT")); + flextGL.DrawBuffersEXT = reinterpret_cast(loader.load("glDrawBuffersEXT")); /* GL_EXT_draw_buffers_indexed */ - flextglBlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); - flextglBlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); - flextglBlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); - flextglBlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); - flextglColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); - flextglDisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); - flextglEnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); - flextglIsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); + flextGL.BlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); + flextGL.BlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); + flextGL.BlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); + flextGL.BlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); + flextGL.ColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); + flextGL.DisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); + flextGL.EnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); + flextGL.IsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); /* GL_EXT_instanced_arrays */ - flextglDrawArraysInstancedEXT = reinterpret_cast(loader.load("glDrawArraysInstancedEXT")); - flextglDrawElementsInstancedEXT = reinterpret_cast(loader.load("glDrawElementsInstancedEXT")); - flextglVertexAttribDivisorEXT = reinterpret_cast(loader.load("glVertexAttribDivisorEXT")); + flextGL.DrawArraysInstancedEXT = reinterpret_cast(loader.load("glDrawArraysInstancedEXT")); + flextGL.DrawElementsInstancedEXT = reinterpret_cast(loader.load("glDrawElementsInstancedEXT")); + flextGL.VertexAttribDivisorEXT = reinterpret_cast(loader.load("glVertexAttribDivisorEXT")); /* GL_EXT_map_buffer_range */ - flextglFlushMappedBufferRangeEXT = reinterpret_cast(loader.load("glFlushMappedBufferRangeEXT")); - flextglMapBufferRangeEXT = reinterpret_cast(loader.load("glMapBufferRangeEXT")); + flextGL.FlushMappedBufferRangeEXT = reinterpret_cast(loader.load("glFlushMappedBufferRangeEXT")); + flextGL.MapBufferRangeEXT = reinterpret_cast(loader.load("glMapBufferRangeEXT")); /* GL_EXT_multi_draw_arrays */ - flextglMultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); - flextglMultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); + flextGL.MultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); + flextGL.MultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); /* GL_EXT_multisampled_render_to_texture */ - flextglFramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); - flextglRenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); + flextGL.FramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); + flextGL.RenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); /* GL_EXT_occlusion_query_boolean */ - flextglBeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); - flextglDeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); - flextglEndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); - flextglGenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); - flextglGetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); - flextglGetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); - flextglIsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); + flextGL.BeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); + flextGL.DeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); + flextGL.EndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); + flextGL.GenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); + flextGL.GetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); + flextGL.GetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); + flextGL.IsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); /* GL_EXT_polygon_offset_clamp */ - flextglPolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); + flextGL.PolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); /* GL_EXT_robustness */ - flextglGetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); - flextglGetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); - flextglGetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); - flextglReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); + flextGL.GetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); + flextGL.GetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); + flextGL.GetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); + flextGL.ReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); /* GL_EXT_separate_shader_objects */ - flextglActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); - flextglBindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); - flextglCreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); - flextglDeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); - flextglGenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); - flextglGetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); - flextglGetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); - flextglIsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); - flextglProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); - flextglProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); - flextglProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); - flextglProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); - flextglProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); - flextglProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); - flextglProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); - flextglProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); - flextglProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); - flextglProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); - flextglProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); - flextglProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); - flextglProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); - flextglProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); - flextglProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); - flextglProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); - flextglProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); - flextglProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); - flextglProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); - flextglProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); - flextglUseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); - flextglValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); + flextGL.ActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); + flextGL.BindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); + flextGL.CreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); + flextGL.DeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); + flextGL.GenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); + flextGL.GetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); + flextGL.GetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); + flextGL.IsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); + flextGL.ProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); + flextGL.ProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); + flextGL.ProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); + flextGL.ProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); + flextGL.ProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); + flextGL.ProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); + flextGL.ProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); + flextGL.ProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); + flextGL.ProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); + flextGL.ProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); + flextGL.ProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); + flextGL.ProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); + flextGL.ProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); + flextGL.ProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); + flextGL.ProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); + flextGL.ProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); + flextGL.ProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); + flextGL.ProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); + flextGL.ProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); + flextGL.ProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); + flextGL.UseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); + flextGL.ValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); /* GL_EXT_texture_border_clamp */ - flextglGetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); - flextglGetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); - flextglGetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); - flextglGetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); - flextglSamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); - flextglSamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); - flextglTexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); - flextglTexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); + flextGL.GetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); + flextGL.GetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); + flextGL.GetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); + flextGL.GetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); + flextGL.SamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); + flextGL.SamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); + flextGL.TexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); + flextGL.TexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); /* GL_EXT_texture_storage */ - flextglTexStorage2DEXT = reinterpret_cast(loader.load("glTexStorage2DEXT")); - flextglTexStorage3DEXT = reinterpret_cast(loader.load("glTexStorage3DEXT")); + flextGL.TexStorage2DEXT = reinterpret_cast(loader.load("glTexStorage2DEXT")); + flextGL.TexStorage3DEXT = reinterpret_cast(loader.load("glTexStorage3DEXT")); /* GL_KHR_blend_equation_advanced */ - flextglBlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); + flextGL.BlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); /* GL_KHR_debug */ - flextglDebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); - flextglDebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); - flextglDebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); - flextglGetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); - flextglGetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); - flextglGetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); - flextglGetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); - flextglObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); - flextglObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); - flextglPopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); - flextglPushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); + flextGL.DebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); + flextGL.DebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); + flextGL.DebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); + flextGL.GetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); + flextGL.GetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); + flextGL.GetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); + flextGL.GetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); + flextGL.ObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); + flextGL.ObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); + flextGL.PopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); + flextGL.PushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); /* GL_KHR_robustness */ - flextglGetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); - flextglGetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); - flextglGetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); - flextglGetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); - flextglReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); + flextGL.GetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); + flextGL.GetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); + flextGL.GetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); + flextGL.GetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); + flextGL.ReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); /* GL_NV_draw_buffers */ - flextglDrawBuffersNV = reinterpret_cast(loader.load("glDrawBuffersNV")); + flextGL.DrawBuffersNV = reinterpret_cast(loader.load("glDrawBuffersNV")); /* GL_NV_draw_instanced */ - flextglDrawArraysInstancedNV = reinterpret_cast(loader.load("glDrawArraysInstancedNV")); - flextglDrawElementsInstancedNV = reinterpret_cast(loader.load("glDrawElementsInstancedNV")); + flextGL.DrawArraysInstancedNV = reinterpret_cast(loader.load("glDrawArraysInstancedNV")); + flextGL.DrawElementsInstancedNV = reinterpret_cast(loader.load("glDrawElementsInstancedNV")); /* GL_NV_framebuffer_blit */ - flextglBlitFramebufferNV = reinterpret_cast(loader.load("glBlitFramebufferNV")); + flextGL.BlitFramebufferNV = reinterpret_cast(loader.load("glBlitFramebufferNV")); /* GL_NV_framebuffer_multisample */ - flextglRenderbufferStorageMultisampleNV = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleNV")); + flextGL.RenderbufferStorageMultisampleNV = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleNV")); /* GL_NV_instanced_arrays */ - flextglVertexAttribDivisorNV = reinterpret_cast(loader.load("glVertexAttribDivisorNV")); + flextGL.VertexAttribDivisorNV = reinterpret_cast(loader.load("glVertexAttribDivisorNV")); /* GL_NV_polygon_mode */ - flextglPolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); + flextGL.PolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); /* GL_NV_read_buffer */ - flextglReadBufferNV = reinterpret_cast(loader.load("glReadBufferNV")); + flextGL.ReadBufferNV = reinterpret_cast(loader.load("glReadBufferNV")); /* GL_OES_mapbuffer */ - flextglGetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); - flextglMapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); - flextglUnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); + flextGL.GetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); + flextGL.MapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); + flextGL.UnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); /* GL_OES_texture_3D */ - flextglCompressedTexImage3DOES = reinterpret_cast(loader.load("glCompressedTexImage3DOES")); - flextglCompressedTexSubImage3DOES = reinterpret_cast(loader.load("glCompressedTexSubImage3DOES")); - flextglCopyTexSubImage3DOES = reinterpret_cast(loader.load("glCopyTexSubImage3DOES")); - flextglFramebufferTexture3DOES = reinterpret_cast(loader.load("glFramebufferTexture3DOES")); - flextglTexImage3DOES = reinterpret_cast(loader.load("glTexImage3DOES")); - flextglTexSubImage3DOES = reinterpret_cast(loader.load("glTexSubImage3DOES")); + flextGL.CompressedTexImage3DOES = reinterpret_cast(loader.load("glCompressedTexImage3DOES")); + flextGL.CompressedTexSubImage3DOES = reinterpret_cast(loader.load("glCompressedTexSubImage3DOES")); + flextGL.CopyTexSubImage3DOES = reinterpret_cast(loader.load("glCopyTexSubImage3DOES")); + flextGL.FramebufferTexture3DOES = reinterpret_cast(loader.load("glFramebufferTexture3DOES")); + flextGL.TexImage3DOES = reinterpret_cast(loader.load("glTexImage3DOES")); + flextGL.TexSubImage3DOES = reinterpret_cast(loader.load("glTexSubImage3DOES")); /* GL_OES_vertex_array_object */ - flextglBindVertexArrayOES = reinterpret_cast(loader.load("glBindVertexArrayOES")); - flextglDeleteVertexArraysOES = reinterpret_cast(loader.load("glDeleteVertexArraysOES")); - flextglGenVertexArraysOES = reinterpret_cast(loader.load("glGenVertexArraysOES")); - flextglIsVertexArrayOES = reinterpret_cast(loader.load("glIsVertexArrayOES")); + flextGL.BindVertexArrayOES = reinterpret_cast(loader.load("glBindVertexArrayOES")); + flextGL.DeleteVertexArraysOES = reinterpret_cast(loader.load("glDeleteVertexArraysOES")); + flextGL.GenVertexArraysOES = reinterpret_cast(loader.load("glGenVertexArraysOES")); + flextGL.IsVertexArrayOES = reinterpret_cast(loader.load("glIsVertexArrayOES")); } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp.template b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp.template index 303ee8fa0..87e235e75 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp.template @@ -38,7 +38,7 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_@category */ @for f in funcs: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(loader.load("gl@f.name")); @end @end diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp index f8083ea6c..dab6f7a7d 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp @@ -161,259 +161,259 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_ANGLE_framebuffer_blit */ #if GL_ANGLE_framebuffer_blit - flextglBlitFramebufferANGLE = reinterpret_cast(glBlitFramebufferANGLE); + flextGL.BlitFramebufferANGLE = reinterpret_cast(glBlitFramebufferANGLE); #endif /* GL_ANGLE_framebuffer_multisample */ #if GL_ANGLE_framebuffer_multisample - flextglRenderbufferStorageMultisampleANGLE = reinterpret_cast(glRenderbufferStorageMultisampleANGLE); + flextGL.RenderbufferStorageMultisampleANGLE = reinterpret_cast(glRenderbufferStorageMultisampleANGLE); #endif /* GL_ANGLE_instanced_arrays */ #if GL_ANGLE_instanced_arrays - flextglDrawArraysInstancedANGLE = reinterpret_cast(glDrawArraysInstancedANGLE); - flextglDrawElementsInstancedANGLE = reinterpret_cast(glDrawElementsInstancedANGLE); - flextglVertexAttribDivisorANGLE = reinterpret_cast(glVertexAttribDivisorANGLE); + flextGL.DrawArraysInstancedANGLE = reinterpret_cast(glDrawArraysInstancedANGLE); + flextGL.DrawElementsInstancedANGLE = reinterpret_cast(glDrawElementsInstancedANGLE); + flextGL.VertexAttribDivisorANGLE = reinterpret_cast(glVertexAttribDivisorANGLE); #endif /* GL_APPLE_framebuffer_multisample */ #if GL_APPLE_framebuffer_multisample - flextglRenderbufferStorageMultisampleAPPLE = reinterpret_cast(glRenderbufferStorageMultisampleAPPLE); - flextglResolveMultisampleFramebufferAPPLE = reinterpret_cast(glResolveMultisampleFramebufferAPPLE); + flextGL.RenderbufferStorageMultisampleAPPLE = reinterpret_cast(glRenderbufferStorageMultisampleAPPLE); + flextGL.ResolveMultisampleFramebufferAPPLE = reinterpret_cast(glResolveMultisampleFramebufferAPPLE); #endif /* GL_EXT_debug_label */ #if GL_EXT_debug_label - flextglGetObjectLabelEXT = reinterpret_cast(glGetObjectLabelEXT); - flextglLabelObjectEXT = reinterpret_cast(glLabelObjectEXT); + flextGL.GetObjectLabelEXT = reinterpret_cast(glGetObjectLabelEXT); + flextGL.LabelObjectEXT = reinterpret_cast(glLabelObjectEXT); #endif /* GL_EXT_debug_marker */ #if GL_EXT_debug_marker - flextglInsertEventMarkerEXT = reinterpret_cast(glInsertEventMarkerEXT); - flextglPopGroupMarkerEXT = reinterpret_cast(glPopGroupMarkerEXT); - flextglPushGroupMarkerEXT = reinterpret_cast(glPushGroupMarkerEXT); + flextGL.InsertEventMarkerEXT = reinterpret_cast(glInsertEventMarkerEXT); + flextGL.PopGroupMarkerEXT = reinterpret_cast(glPopGroupMarkerEXT); + flextGL.PushGroupMarkerEXT = reinterpret_cast(glPushGroupMarkerEXT); #endif /* GL_EXT_discard_framebuffer */ #if GL_EXT_discard_framebuffer - flextglDiscardFramebufferEXT = reinterpret_cast(glDiscardFramebufferEXT); + flextGL.DiscardFramebufferEXT = reinterpret_cast(glDiscardFramebufferEXT); #endif /* GL_EXT_disjoint_timer_query */ #if GL_EXT_disjoint_timer_query - flextglGetInteger64vEXT = reinterpret_cast(glGetInteger64vEXT); - flextglGetQueryObjecti64vEXT = reinterpret_cast(glGetQueryObjecti64vEXT); - flextglGetQueryObjectivEXT = reinterpret_cast(glGetQueryObjectivEXT); - flextglGetQueryObjectui64vEXT = reinterpret_cast(glGetQueryObjectui64vEXT); - flextglQueryCounterEXT = reinterpret_cast(glQueryCounterEXT); + flextGL.GetInteger64vEXT = reinterpret_cast(glGetInteger64vEXT); + flextGL.GetQueryObjecti64vEXT = reinterpret_cast(glGetQueryObjecti64vEXT); + flextGL.GetQueryObjectivEXT = reinterpret_cast(glGetQueryObjectivEXT); + flextGL.GetQueryObjectui64vEXT = reinterpret_cast(glGetQueryObjectui64vEXT); + flextGL.QueryCounterEXT = reinterpret_cast(glQueryCounterEXT); #endif /* GL_EXT_draw_buffers */ #if GL_EXT_draw_buffers - flextglDrawBuffersEXT = reinterpret_cast(glDrawBuffersEXT); + flextGL.DrawBuffersEXT = reinterpret_cast(glDrawBuffersEXT); #endif /* GL_EXT_draw_buffers_indexed */ #if GL_EXT_draw_buffers_indexed - flextglBlendEquationSeparateiEXT = reinterpret_cast(glBlendEquationSeparateiEXT); - flextglBlendEquationiEXT = reinterpret_cast(glBlendEquationiEXT); - flextglBlendFuncSeparateiEXT = reinterpret_cast(glBlendFuncSeparateiEXT); - flextglBlendFunciEXT = reinterpret_cast(glBlendFunciEXT); - flextglColorMaskiEXT = reinterpret_cast(glColorMaskiEXT); - flextglDisableiEXT = reinterpret_cast(glDisableiEXT); - flextglEnableiEXT = reinterpret_cast(glEnableiEXT); - flextglIsEnablediEXT = reinterpret_cast(glIsEnablediEXT); + flextGL.BlendEquationSeparateiEXT = reinterpret_cast(glBlendEquationSeparateiEXT); + flextGL.BlendEquationiEXT = reinterpret_cast(glBlendEquationiEXT); + flextGL.BlendFuncSeparateiEXT = reinterpret_cast(glBlendFuncSeparateiEXT); + flextGL.BlendFunciEXT = reinterpret_cast(glBlendFunciEXT); + flextGL.ColorMaskiEXT = reinterpret_cast(glColorMaskiEXT); + flextGL.DisableiEXT = reinterpret_cast(glDisableiEXT); + flextGL.EnableiEXT = reinterpret_cast(glEnableiEXT); + flextGL.IsEnablediEXT = reinterpret_cast(glIsEnablediEXT); #endif /* GL_EXT_instanced_arrays */ #if GL_EXT_instanced_arrays - flextglDrawArraysInstancedEXT = reinterpret_cast(glDrawArraysInstancedEXT); - flextglDrawElementsInstancedEXT = reinterpret_cast(glDrawElementsInstancedEXT); - flextglVertexAttribDivisorEXT = reinterpret_cast(glVertexAttribDivisorEXT); + flextGL.DrawArraysInstancedEXT = reinterpret_cast(glDrawArraysInstancedEXT); + flextGL.DrawElementsInstancedEXT = reinterpret_cast(glDrawElementsInstancedEXT); + flextGL.VertexAttribDivisorEXT = reinterpret_cast(glVertexAttribDivisorEXT); #endif /* GL_EXT_map_buffer_range */ #if GL_EXT_map_buffer_range - flextglFlushMappedBufferRangeEXT = reinterpret_cast(glFlushMappedBufferRangeEXT); - flextglMapBufferRangeEXT = reinterpret_cast(glMapBufferRangeEXT); + flextGL.FlushMappedBufferRangeEXT = reinterpret_cast(glFlushMappedBufferRangeEXT); + flextGL.MapBufferRangeEXT = reinterpret_cast(glMapBufferRangeEXT); #endif /* GL_EXT_multi_draw_arrays */ #if GL_EXT_multi_draw_arrays - flextglMultiDrawArraysEXT = reinterpret_cast(glMultiDrawArraysEXT); - flextglMultiDrawElementsEXT = reinterpret_cast(glMultiDrawElementsEXT); + flextGL.MultiDrawArraysEXT = reinterpret_cast(glMultiDrawArraysEXT); + flextGL.MultiDrawElementsEXT = reinterpret_cast(glMultiDrawElementsEXT); #endif /* GL_EXT_multisampled_render_to_texture */ #if GL_EXT_multisampled_render_to_texture - flextglFramebufferTexture2DMultisampleEXT = reinterpret_cast(glFramebufferTexture2DMultisampleEXT); - flextglRenderbufferStorageMultisampleEXT = reinterpret_cast(glRenderbufferStorageMultisampleEXT); + flextGL.FramebufferTexture2DMultisampleEXT = reinterpret_cast(glFramebufferTexture2DMultisampleEXT); + flextGL.RenderbufferStorageMultisampleEXT = reinterpret_cast(glRenderbufferStorageMultisampleEXT); #endif /* GL_EXT_occlusion_query_boolean */ #if GL_EXT_occlusion_query_boolean - flextglBeginQueryEXT = reinterpret_cast(glBeginQueryEXT); - flextglDeleteQueriesEXT = reinterpret_cast(glDeleteQueriesEXT); - flextglEndQueryEXT = reinterpret_cast(glEndQueryEXT); - flextglGenQueriesEXT = reinterpret_cast(glGenQueriesEXT); - flextglGetQueryObjectuivEXT = reinterpret_cast(glGetQueryObjectuivEXT); - flextglGetQueryivEXT = reinterpret_cast(glGetQueryivEXT); - flextglIsQueryEXT = reinterpret_cast(glIsQueryEXT); + flextGL.BeginQueryEXT = reinterpret_cast(glBeginQueryEXT); + flextGL.DeleteQueriesEXT = reinterpret_cast(glDeleteQueriesEXT); + flextGL.EndQueryEXT = reinterpret_cast(glEndQueryEXT); + flextGL.GenQueriesEXT = reinterpret_cast(glGenQueriesEXT); + flextGL.GetQueryObjectuivEXT = reinterpret_cast(glGetQueryObjectuivEXT); + flextGL.GetQueryivEXT = reinterpret_cast(glGetQueryivEXT); + flextGL.IsQueryEXT = reinterpret_cast(glIsQueryEXT); #endif /* GL_EXT_polygon_offset_clamp */ #if GL_EXT_polygon_offset_clamp - flextglPolygonOffsetClampEXT = reinterpret_cast(glPolygonOffsetClampEXT); + flextGL.PolygonOffsetClampEXT = reinterpret_cast(glPolygonOffsetClampEXT); #endif /* GL_EXT_robustness */ #if GL_EXT_robustness - flextglGetGraphicsResetStatusEXT = reinterpret_cast(glGetGraphicsResetStatusEXT); - flextglGetnUniformfvEXT = reinterpret_cast(glGetnUniformfvEXT); - flextglGetnUniformivEXT = reinterpret_cast(glGetnUniformivEXT); - flextglReadnPixelsEXT = reinterpret_cast(glReadnPixelsEXT); + flextGL.GetGraphicsResetStatusEXT = reinterpret_cast(glGetGraphicsResetStatusEXT); + flextGL.GetnUniformfvEXT = reinterpret_cast(glGetnUniformfvEXT); + flextGL.GetnUniformivEXT = reinterpret_cast(glGetnUniformivEXT); + flextGL.ReadnPixelsEXT = reinterpret_cast(glReadnPixelsEXT); #endif /* GL_EXT_separate_shader_objects */ #if GL_EXT_separate_shader_objects - flextglActiveShaderProgramEXT = reinterpret_cast(glActiveShaderProgramEXT); - flextglBindProgramPipelineEXT = reinterpret_cast(glBindProgramPipelineEXT); - flextglCreateShaderProgramvEXT = reinterpret_cast(glCreateShaderProgramvEXT); - flextglDeleteProgramPipelinesEXT = reinterpret_cast(glDeleteProgramPipelinesEXT); - flextglGenProgramPipelinesEXT = reinterpret_cast(glGenProgramPipelinesEXT); - flextglGetProgramPipelineInfoLogEXT = reinterpret_cast(glGetProgramPipelineInfoLogEXT); - flextglGetProgramPipelineivEXT = reinterpret_cast(glGetProgramPipelineivEXT); - flextglIsProgramPipelineEXT = reinterpret_cast(glIsProgramPipelineEXT); - flextglProgramParameteriEXT = reinterpret_cast(glProgramParameteriEXT); - flextglProgramUniform1fEXT = reinterpret_cast(glProgramUniform1fEXT); - flextglProgramUniform1fvEXT = reinterpret_cast(glProgramUniform1fvEXT); - flextglProgramUniform1iEXT = reinterpret_cast(glProgramUniform1iEXT); - flextglProgramUniform1ivEXT = reinterpret_cast(glProgramUniform1ivEXT); - flextglProgramUniform2fEXT = reinterpret_cast(glProgramUniform2fEXT); - flextglProgramUniform2fvEXT = reinterpret_cast(glProgramUniform2fvEXT); - flextglProgramUniform2iEXT = reinterpret_cast(glProgramUniform2iEXT); - flextglProgramUniform2ivEXT = reinterpret_cast(glProgramUniform2ivEXT); - flextglProgramUniform3fEXT = reinterpret_cast(glProgramUniform3fEXT); - flextglProgramUniform3fvEXT = reinterpret_cast(glProgramUniform3fvEXT); - flextglProgramUniform3iEXT = reinterpret_cast(glProgramUniform3iEXT); - flextglProgramUniform3ivEXT = reinterpret_cast(glProgramUniform3ivEXT); - flextglProgramUniform4fEXT = reinterpret_cast(glProgramUniform4fEXT); - flextglProgramUniform4fvEXT = reinterpret_cast(glProgramUniform4fvEXT); - flextglProgramUniform4iEXT = reinterpret_cast(glProgramUniform4iEXT); - flextglProgramUniform4ivEXT = reinterpret_cast(glProgramUniform4ivEXT); - flextglProgramUniformMatrix2fvEXT = reinterpret_cast(glProgramUniformMatrix2fvEXT); - flextglProgramUniformMatrix3fvEXT = reinterpret_cast(glProgramUniformMatrix3fvEXT); - flextglProgramUniformMatrix4fvEXT = reinterpret_cast(glProgramUniformMatrix4fvEXT); - flextglUseProgramStagesEXT = reinterpret_cast(glUseProgramStagesEXT); - flextglValidateProgramPipelineEXT = reinterpret_cast(glValidateProgramPipelineEXT); + flextGL.ActiveShaderProgramEXT = reinterpret_cast(glActiveShaderProgramEXT); + flextGL.BindProgramPipelineEXT = reinterpret_cast(glBindProgramPipelineEXT); + flextGL.CreateShaderProgramvEXT = reinterpret_cast(glCreateShaderProgramvEXT); + flextGL.DeleteProgramPipelinesEXT = reinterpret_cast(glDeleteProgramPipelinesEXT); + flextGL.GenProgramPipelinesEXT = reinterpret_cast(glGenProgramPipelinesEXT); + flextGL.GetProgramPipelineInfoLogEXT = reinterpret_cast(glGetProgramPipelineInfoLogEXT); + flextGL.GetProgramPipelineivEXT = reinterpret_cast(glGetProgramPipelineivEXT); + flextGL.IsProgramPipelineEXT = reinterpret_cast(glIsProgramPipelineEXT); + flextGL.ProgramParameteriEXT = reinterpret_cast(glProgramParameteriEXT); + flextGL.ProgramUniform1fEXT = reinterpret_cast(glProgramUniform1fEXT); + flextGL.ProgramUniform1fvEXT = reinterpret_cast(glProgramUniform1fvEXT); + flextGL.ProgramUniform1iEXT = reinterpret_cast(glProgramUniform1iEXT); + flextGL.ProgramUniform1ivEXT = reinterpret_cast(glProgramUniform1ivEXT); + flextGL.ProgramUniform2fEXT = reinterpret_cast(glProgramUniform2fEXT); + flextGL.ProgramUniform2fvEXT = reinterpret_cast(glProgramUniform2fvEXT); + flextGL.ProgramUniform2iEXT = reinterpret_cast(glProgramUniform2iEXT); + flextGL.ProgramUniform2ivEXT = reinterpret_cast(glProgramUniform2ivEXT); + flextGL.ProgramUniform3fEXT = reinterpret_cast(glProgramUniform3fEXT); + flextGL.ProgramUniform3fvEXT = reinterpret_cast(glProgramUniform3fvEXT); + flextGL.ProgramUniform3iEXT = reinterpret_cast(glProgramUniform3iEXT); + flextGL.ProgramUniform3ivEXT = reinterpret_cast(glProgramUniform3ivEXT); + flextGL.ProgramUniform4fEXT = reinterpret_cast(glProgramUniform4fEXT); + flextGL.ProgramUniform4fvEXT = reinterpret_cast(glProgramUniform4fvEXT); + flextGL.ProgramUniform4iEXT = reinterpret_cast(glProgramUniform4iEXT); + flextGL.ProgramUniform4ivEXT = reinterpret_cast(glProgramUniform4ivEXT); + flextGL.ProgramUniformMatrix2fvEXT = reinterpret_cast(glProgramUniformMatrix2fvEXT); + flextGL.ProgramUniformMatrix3fvEXT = reinterpret_cast(glProgramUniformMatrix3fvEXT); + flextGL.ProgramUniformMatrix4fvEXT = reinterpret_cast(glProgramUniformMatrix4fvEXT); + flextGL.UseProgramStagesEXT = reinterpret_cast(glUseProgramStagesEXT); + flextGL.ValidateProgramPipelineEXT = reinterpret_cast(glValidateProgramPipelineEXT); #endif /* GL_EXT_texture_border_clamp */ #if GL_EXT_texture_border_clamp - flextglGetSamplerParameterIivEXT = reinterpret_cast(glGetSamplerParameterIivEXT); - flextglGetSamplerParameterIuivEXT = reinterpret_cast(glGetSamplerParameterIuivEXT); - flextglGetTexParameterIivEXT = reinterpret_cast(glGetTexParameterIivEXT); - flextglGetTexParameterIuivEXT = reinterpret_cast(glGetTexParameterIuivEXT); - flextglSamplerParameterIivEXT = reinterpret_cast(glSamplerParameterIivEXT); - flextglSamplerParameterIuivEXT = reinterpret_cast(glSamplerParameterIuivEXT); - flextglTexParameterIivEXT = reinterpret_cast(glTexParameterIivEXT); - flextglTexParameterIuivEXT = reinterpret_cast(glTexParameterIuivEXT); + flextGL.GetSamplerParameterIivEXT = reinterpret_cast(glGetSamplerParameterIivEXT); + flextGL.GetSamplerParameterIuivEXT = reinterpret_cast(glGetSamplerParameterIuivEXT); + flextGL.GetTexParameterIivEXT = reinterpret_cast(glGetTexParameterIivEXT); + flextGL.GetTexParameterIuivEXT = reinterpret_cast(glGetTexParameterIuivEXT); + flextGL.SamplerParameterIivEXT = reinterpret_cast(glSamplerParameterIivEXT); + flextGL.SamplerParameterIuivEXT = reinterpret_cast(glSamplerParameterIuivEXT); + flextGL.TexParameterIivEXT = reinterpret_cast(glTexParameterIivEXT); + flextGL.TexParameterIuivEXT = reinterpret_cast(glTexParameterIuivEXT); #endif /* GL_EXT_texture_storage */ #if GL_EXT_texture_storage - flextglTexStorage2DEXT = reinterpret_cast(glTexStorage2DEXT); - flextglTexStorage3DEXT = reinterpret_cast(glTexStorage3DEXT); + flextGL.TexStorage2DEXT = reinterpret_cast(glTexStorage2DEXT); + flextGL.TexStorage3DEXT = reinterpret_cast(glTexStorage3DEXT); #endif /* GL_KHR_blend_equation_advanced */ #if GL_KHR_blend_equation_advanced - flextglBlendBarrierKHR = reinterpret_cast(glBlendBarrierKHR); + flextGL.BlendBarrierKHR = reinterpret_cast(glBlendBarrierKHR); #endif /* GL_KHR_debug */ #if GL_KHR_debug - flextglDebugMessageCallbackKHR = reinterpret_cast(glDebugMessageCallbackKHR); - flextglDebugMessageControlKHR = reinterpret_cast(glDebugMessageControlKHR); - flextglDebugMessageInsertKHR = reinterpret_cast(glDebugMessageInsertKHR); - flextglGetDebugMessageLogKHR = reinterpret_cast(glGetDebugMessageLogKHR); - flextglGetObjectLabelKHR = reinterpret_cast(glGetObjectLabelKHR); - flextglGetObjectPtrLabelKHR = reinterpret_cast(glGetObjectPtrLabelKHR); - flextglGetPointervKHR = reinterpret_cast(glGetPointervKHR); - flextglObjectLabelKHR = reinterpret_cast(glObjectLabelKHR); - flextglObjectPtrLabelKHR = reinterpret_cast(glObjectPtrLabelKHR); - flextglPopDebugGroupKHR = reinterpret_cast(glPopDebugGroupKHR); - flextglPushDebugGroupKHR = reinterpret_cast(glPushDebugGroupKHR); + flextGL.DebugMessageCallbackKHR = reinterpret_cast(glDebugMessageCallbackKHR); + flextGL.DebugMessageControlKHR = reinterpret_cast(glDebugMessageControlKHR); + flextGL.DebugMessageInsertKHR = reinterpret_cast(glDebugMessageInsertKHR); + flextGL.GetDebugMessageLogKHR = reinterpret_cast(glGetDebugMessageLogKHR); + flextGL.GetObjectLabelKHR = reinterpret_cast(glGetObjectLabelKHR); + flextGL.GetObjectPtrLabelKHR = reinterpret_cast(glGetObjectPtrLabelKHR); + flextGL.GetPointervKHR = reinterpret_cast(glGetPointervKHR); + flextGL.ObjectLabelKHR = reinterpret_cast(glObjectLabelKHR); + flextGL.ObjectPtrLabelKHR = reinterpret_cast(glObjectPtrLabelKHR); + flextGL.PopDebugGroupKHR = reinterpret_cast(glPopDebugGroupKHR); + flextGL.PushDebugGroupKHR = reinterpret_cast(glPushDebugGroupKHR); #endif /* GL_KHR_robustness */ #if GL_KHR_robustness - flextglGetGraphicsResetStatusKHR = reinterpret_cast(glGetGraphicsResetStatusKHR); - flextglGetnUniformfvKHR = reinterpret_cast(glGetnUniformfvKHR); - flextglGetnUniformivKHR = reinterpret_cast(glGetnUniformivKHR); - flextglGetnUniformuivKHR = reinterpret_cast(glGetnUniformuivKHR); - flextglReadnPixelsKHR = reinterpret_cast(glReadnPixelsKHR); + flextGL.GetGraphicsResetStatusKHR = reinterpret_cast(glGetGraphicsResetStatusKHR); + flextGL.GetnUniformfvKHR = reinterpret_cast(glGetnUniformfvKHR); + flextGL.GetnUniformivKHR = reinterpret_cast(glGetnUniformivKHR); + flextGL.GetnUniformuivKHR = reinterpret_cast(glGetnUniformuivKHR); + flextGL.ReadnPixelsKHR = reinterpret_cast(glReadnPixelsKHR); #endif /* GL_NV_draw_buffers */ #if GL_NV_draw_buffers - flextglDrawBuffersNV = reinterpret_cast(glDrawBuffersNV); + flextGL.DrawBuffersNV = reinterpret_cast(glDrawBuffersNV); #endif /* GL_NV_draw_instanced */ #if GL_NV_draw_instanced - flextglDrawArraysInstancedNV = reinterpret_cast(glDrawArraysInstancedNV); - flextglDrawElementsInstancedNV = reinterpret_cast(glDrawElementsInstancedNV); + flextGL.DrawArraysInstancedNV = reinterpret_cast(glDrawArraysInstancedNV); + flextGL.DrawElementsInstancedNV = reinterpret_cast(glDrawElementsInstancedNV); #endif /* GL_NV_framebuffer_blit */ #if GL_NV_framebuffer_blit - flextglBlitFramebufferNV = reinterpret_cast(glBlitFramebufferNV); + flextGL.BlitFramebufferNV = reinterpret_cast(glBlitFramebufferNV); #endif /* GL_NV_framebuffer_multisample */ #if GL_NV_framebuffer_multisample - flextglRenderbufferStorageMultisampleNV = reinterpret_cast(glRenderbufferStorageMultisampleNV); + flextGL.RenderbufferStorageMultisampleNV = reinterpret_cast(glRenderbufferStorageMultisampleNV); #endif /* GL_NV_instanced_arrays */ #if GL_NV_instanced_arrays - flextglVertexAttribDivisorNV = reinterpret_cast(glVertexAttribDivisorNV); + flextGL.VertexAttribDivisorNV = reinterpret_cast(glVertexAttribDivisorNV); #endif /* GL_NV_polygon_mode */ #if GL_NV_polygon_mode - flextglPolygonModeNV = reinterpret_cast(glPolygonModeNV); + flextGL.PolygonModeNV = reinterpret_cast(glPolygonModeNV); #endif /* GL_NV_read_buffer */ #if GL_NV_read_buffer - flextglReadBufferNV = reinterpret_cast(glReadBufferNV); + flextGL.ReadBufferNV = reinterpret_cast(glReadBufferNV); #endif /* GL_OES_mapbuffer */ #if GL_OES_mapbuffer - flextglGetBufferPointervOES = reinterpret_cast(glGetBufferPointervOES); - flextglMapBufferOES = reinterpret_cast(glMapBufferOES); - flextglUnmapBufferOES = reinterpret_cast(glUnmapBufferOES); + flextGL.GetBufferPointervOES = reinterpret_cast(glGetBufferPointervOES); + flextGL.MapBufferOES = reinterpret_cast(glMapBufferOES); + flextGL.UnmapBufferOES = reinterpret_cast(glUnmapBufferOES); #endif /* GL_OES_texture_3D */ #if GL_OES_texture_3D - flextglCompressedTexImage3DOES = reinterpret_cast(glCompressedTexImage3DOES); - flextglCompressedTexSubImage3DOES = reinterpret_cast(glCompressedTexSubImage3DOES); - flextglCopyTexSubImage3DOES = reinterpret_cast(glCopyTexSubImage3DOES); - flextglFramebufferTexture3DOES = reinterpret_cast(glFramebufferTexture3DOES); - flextglTexImage3DOES = reinterpret_cast(glTexImage3DOES); - flextglTexSubImage3DOES = reinterpret_cast(glTexSubImage3DOES); + flextGL.CompressedTexImage3DOES = reinterpret_cast(glCompressedTexImage3DOES); + flextGL.CompressedTexSubImage3DOES = reinterpret_cast(glCompressedTexSubImage3DOES); + flextGL.CopyTexSubImage3DOES = reinterpret_cast(glCopyTexSubImage3DOES); + flextGL.FramebufferTexture3DOES = reinterpret_cast(glFramebufferTexture3DOES); + flextGL.TexImage3DOES = reinterpret_cast(glTexImage3DOES); + flextGL.TexSubImage3DOES = reinterpret_cast(glTexSubImage3DOES); #endif /* GL_OES_vertex_array_object */ #if GL_OES_vertex_array_object - flextglBindVertexArrayOES = reinterpret_cast(glBindVertexArrayOES); - flextglDeleteVertexArraysOES = reinterpret_cast(glDeleteVertexArraysOES); - flextglGenVertexArraysOES = reinterpret_cast(glGenVertexArraysOES); - flextglIsVertexArrayOES = reinterpret_cast(glIsVertexArrayOES); + flextGL.BindVertexArrayOES = reinterpret_cast(glBindVertexArrayOES); + flextGL.DeleteVertexArraysOES = reinterpret_cast(glDeleteVertexArraysOES); + flextGL.GenVertexArraysOES = reinterpret_cast(glGenVertexArraysOES); + flextGL.IsVertexArrayOES = reinterpret_cast(glIsVertexArrayOES); #endif } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp.template b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp.template index 9f2cc4f04..99b641aee 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp.template @@ -46,7 +46,7 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_@category */ #if GL_@category @for f in funcs: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(gl@f.name); @end #endif diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp index dd477603f..52efaf93b 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp @@ -34,293 +34,293 @@ void flextGLInit(Magnum::GL::Context&) { Magnum::Platform::Implementation::OpenGLFunctionLoader loader; /* GL_ANGLE_framebuffer_blit */ - flextglBlitFramebufferANGLE = reinterpret_cast(loader.load("glBlitFramebufferANGLE")); + flextGL.BlitFramebufferANGLE = reinterpret_cast(loader.load("glBlitFramebufferANGLE")); /* GL_ANGLE_framebuffer_multisample */ - flextglRenderbufferStorageMultisampleANGLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleANGLE")); + flextGL.RenderbufferStorageMultisampleANGLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleANGLE")); /* GL_ANGLE_instanced_arrays */ - flextglDrawArraysInstancedANGLE = reinterpret_cast(loader.load("glDrawArraysInstancedANGLE")); - flextglDrawElementsInstancedANGLE = reinterpret_cast(loader.load("glDrawElementsInstancedANGLE")); - flextglVertexAttribDivisorANGLE = reinterpret_cast(loader.load("glVertexAttribDivisorANGLE")); + flextGL.DrawArraysInstancedANGLE = reinterpret_cast(loader.load("glDrawArraysInstancedANGLE")); + flextGL.DrawElementsInstancedANGLE = reinterpret_cast(loader.load("glDrawElementsInstancedANGLE")); + flextGL.VertexAttribDivisorANGLE = reinterpret_cast(loader.load("glVertexAttribDivisorANGLE")); /* GL_APPLE_framebuffer_multisample */ - flextglRenderbufferStorageMultisampleAPPLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleAPPLE")); - flextglResolveMultisampleFramebufferAPPLE = reinterpret_cast(loader.load("glResolveMultisampleFramebufferAPPLE")); + flextGL.RenderbufferStorageMultisampleAPPLE = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleAPPLE")); + flextGL.ResolveMultisampleFramebufferAPPLE = reinterpret_cast(loader.load("glResolveMultisampleFramebufferAPPLE")); /* GL_ES_VERSION_2_0 */ - flextglActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); - flextglAttachShader = reinterpret_cast(loader.load("glAttachShader")); - flextglBindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); - flextglBindBuffer = reinterpret_cast(loader.load("glBindBuffer")); - flextglBindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); - flextglBindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); - flextglBlendColor = reinterpret_cast(loader.load("glBlendColor")); - flextglBlendEquation = reinterpret_cast(loader.load("glBlendEquation")); - flextglBlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); - flextglBlendFuncSeparate = reinterpret_cast(loader.load("glBlendFuncSeparate")); - flextglBufferData = reinterpret_cast(loader.load("glBufferData")); - flextglBufferSubData = reinterpret_cast(loader.load("glBufferSubData")); - flextglCheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); - flextglClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); - flextglCompileShader = reinterpret_cast(loader.load("glCompileShader")); - flextglCompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); - flextglCompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); - flextglCreateProgram = reinterpret_cast(loader.load("glCreateProgram")); - flextglCreateShader = reinterpret_cast(loader.load("glCreateShader")); - flextglDeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); - flextglDeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); - flextglDeleteProgram = reinterpret_cast(loader.load("glDeleteProgram")); - flextglDeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); - flextglDeleteShader = reinterpret_cast(loader.load("glDeleteShader")); - flextglDepthRangef = reinterpret_cast(loader.load("glDepthRangef")); - flextglDetachShader = reinterpret_cast(loader.load("glDetachShader")); - flextglDisableVertexAttribArray = reinterpret_cast(loader.load("glDisableVertexAttribArray")); - flextglEnableVertexAttribArray = reinterpret_cast(loader.load("glEnableVertexAttribArray")); - flextglFramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); - flextglFramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); - flextglGenBuffers = reinterpret_cast(loader.load("glGenBuffers")); - flextglGenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); - flextglGenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); - flextglGenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); - flextglGetActiveAttrib = reinterpret_cast(loader.load("glGetActiveAttrib")); - flextglGetActiveUniform = reinterpret_cast(loader.load("glGetActiveUniform")); - flextglGetAttachedShaders = reinterpret_cast(loader.load("glGetAttachedShaders")); - flextglGetAttribLocation = reinterpret_cast(loader.load("glGetAttribLocation")); - flextglGetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); - flextglGetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); - flextglGetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); - flextglGetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); - flextglGetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); - flextglGetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); - flextglGetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); - flextglGetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); - flextglGetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); - flextglGetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); - flextglGetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); - flextglGetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); - flextglGetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); - flextglGetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); - flextglGetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); - flextglIsBuffer = reinterpret_cast(loader.load("glIsBuffer")); - flextglIsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); - flextglIsProgram = reinterpret_cast(loader.load("glIsProgram")); - flextglIsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); - flextglIsShader = reinterpret_cast(loader.load("glIsShader")); - flextglLinkProgram = reinterpret_cast(loader.load("glLinkProgram")); - flextglReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); - flextglRenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); - flextglSampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); - flextglShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); - flextglShaderSource = reinterpret_cast(loader.load("glShaderSource")); - flextglStencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); - flextglStencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); - flextglStencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); - flextglUniform1f = reinterpret_cast(loader.load("glUniform1f")); - flextglUniform1fv = reinterpret_cast(loader.load("glUniform1fv")); - flextglUniform1i = reinterpret_cast(loader.load("glUniform1i")); - flextglUniform1iv = reinterpret_cast(loader.load("glUniform1iv")); - flextglUniform2f = reinterpret_cast(loader.load("glUniform2f")); - flextglUniform2fv = reinterpret_cast(loader.load("glUniform2fv")); - flextglUniform2i = reinterpret_cast(loader.load("glUniform2i")); - flextglUniform2iv = reinterpret_cast(loader.load("glUniform2iv")); - flextglUniform3f = reinterpret_cast(loader.load("glUniform3f")); - flextglUniform3fv = reinterpret_cast(loader.load("glUniform3fv")); - flextglUniform3i = reinterpret_cast(loader.load("glUniform3i")); - flextglUniform3iv = reinterpret_cast(loader.load("glUniform3iv")); - flextglUniform4f = reinterpret_cast(loader.load("glUniform4f")); - flextglUniform4fv = reinterpret_cast(loader.load("glUniform4fv")); - flextglUniform4i = reinterpret_cast(loader.load("glUniform4i")); - flextglUniform4iv = reinterpret_cast(loader.load("glUniform4iv")); - flextglUniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); - flextglUniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); - flextglUniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); - flextglUseProgram = reinterpret_cast(loader.load("glUseProgram")); - flextglValidateProgram = reinterpret_cast(loader.load("glValidateProgram")); - flextglVertexAttrib1f = reinterpret_cast(loader.load("glVertexAttrib1f")); - flextglVertexAttrib1fv = reinterpret_cast(loader.load("glVertexAttrib1fv")); - flextglVertexAttrib2f = reinterpret_cast(loader.load("glVertexAttrib2f")); - flextglVertexAttrib2fv = reinterpret_cast(loader.load("glVertexAttrib2fv")); - flextglVertexAttrib3f = reinterpret_cast(loader.load("glVertexAttrib3f")); - flextglVertexAttrib3fv = reinterpret_cast(loader.load("glVertexAttrib3fv")); - flextglVertexAttrib4f = reinterpret_cast(loader.load("glVertexAttrib4f")); - flextglVertexAttrib4fv = reinterpret_cast(loader.load("glVertexAttrib4fv")); - flextglVertexAttribPointer = reinterpret_cast(loader.load("glVertexAttribPointer")); + flextGL.ActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); + flextGL.AttachShader = reinterpret_cast(loader.load("glAttachShader")); + flextGL.BindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); + flextGL.BindBuffer = reinterpret_cast(loader.load("glBindBuffer")); + flextGL.BindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); + flextGL.BindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); + flextGL.BlendColor = reinterpret_cast(loader.load("glBlendColor")); + flextGL.BlendEquation = reinterpret_cast(loader.load("glBlendEquation")); + flextGL.BlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); + flextGL.BlendFuncSeparate = reinterpret_cast(loader.load("glBlendFuncSeparate")); + flextGL.BufferData = reinterpret_cast(loader.load("glBufferData")); + flextGL.BufferSubData = reinterpret_cast(loader.load("glBufferSubData")); + flextGL.CheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); + flextGL.ClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); + flextGL.CompileShader = reinterpret_cast(loader.load("glCompileShader")); + flextGL.CompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); + flextGL.CompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); + flextGL.CreateProgram = reinterpret_cast(loader.load("glCreateProgram")); + flextGL.CreateShader = reinterpret_cast(loader.load("glCreateShader")); + flextGL.DeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); + flextGL.DeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); + flextGL.DeleteProgram = reinterpret_cast(loader.load("glDeleteProgram")); + flextGL.DeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); + flextGL.DeleteShader = reinterpret_cast(loader.load("glDeleteShader")); + flextGL.DepthRangef = reinterpret_cast(loader.load("glDepthRangef")); + flextGL.DetachShader = reinterpret_cast(loader.load("glDetachShader")); + flextGL.DisableVertexAttribArray = reinterpret_cast(loader.load("glDisableVertexAttribArray")); + flextGL.EnableVertexAttribArray = reinterpret_cast(loader.load("glEnableVertexAttribArray")); + flextGL.FramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); + flextGL.FramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); + flextGL.GenBuffers = reinterpret_cast(loader.load("glGenBuffers")); + flextGL.GenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); + flextGL.GenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); + flextGL.GenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); + flextGL.GetActiveAttrib = reinterpret_cast(loader.load("glGetActiveAttrib")); + flextGL.GetActiveUniform = reinterpret_cast(loader.load("glGetActiveUniform")); + flextGL.GetAttachedShaders = reinterpret_cast(loader.load("glGetAttachedShaders")); + flextGL.GetAttribLocation = reinterpret_cast(loader.load("glGetAttribLocation")); + flextGL.GetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); + flextGL.GetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); + flextGL.GetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); + flextGL.GetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); + flextGL.GetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); + flextGL.GetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); + flextGL.GetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); + flextGL.GetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); + flextGL.GetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); + flextGL.GetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); + flextGL.GetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); + flextGL.GetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); + flextGL.GetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); + flextGL.GetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); + flextGL.GetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); + flextGL.IsBuffer = reinterpret_cast(loader.load("glIsBuffer")); + flextGL.IsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); + flextGL.IsProgram = reinterpret_cast(loader.load("glIsProgram")); + flextGL.IsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); + flextGL.IsShader = reinterpret_cast(loader.load("glIsShader")); + flextGL.LinkProgram = reinterpret_cast(loader.load("glLinkProgram")); + flextGL.ReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); + flextGL.RenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); + flextGL.SampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); + flextGL.ShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); + flextGL.ShaderSource = reinterpret_cast(loader.load("glShaderSource")); + flextGL.StencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); + flextGL.StencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); + flextGL.StencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); + flextGL.Uniform1f = reinterpret_cast(loader.load("glUniform1f")); + flextGL.Uniform1fv = reinterpret_cast(loader.load("glUniform1fv")); + flextGL.Uniform1i = reinterpret_cast(loader.load("glUniform1i")); + flextGL.Uniform1iv = reinterpret_cast(loader.load("glUniform1iv")); + flextGL.Uniform2f = reinterpret_cast(loader.load("glUniform2f")); + flextGL.Uniform2fv = reinterpret_cast(loader.load("glUniform2fv")); + flextGL.Uniform2i = reinterpret_cast(loader.load("glUniform2i")); + flextGL.Uniform2iv = reinterpret_cast(loader.load("glUniform2iv")); + flextGL.Uniform3f = reinterpret_cast(loader.load("glUniform3f")); + flextGL.Uniform3fv = reinterpret_cast(loader.load("glUniform3fv")); + flextGL.Uniform3i = reinterpret_cast(loader.load("glUniform3i")); + flextGL.Uniform3iv = reinterpret_cast(loader.load("glUniform3iv")); + flextGL.Uniform4f = reinterpret_cast(loader.load("glUniform4f")); + flextGL.Uniform4fv = reinterpret_cast(loader.load("glUniform4fv")); + flextGL.Uniform4i = reinterpret_cast(loader.load("glUniform4i")); + flextGL.Uniform4iv = reinterpret_cast(loader.load("glUniform4iv")); + flextGL.UniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); + flextGL.UniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); + flextGL.UniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); + flextGL.UseProgram = reinterpret_cast(loader.load("glUseProgram")); + flextGL.ValidateProgram = reinterpret_cast(loader.load("glValidateProgram")); + flextGL.VertexAttrib1f = reinterpret_cast(loader.load("glVertexAttrib1f")); + flextGL.VertexAttrib1fv = reinterpret_cast(loader.load("glVertexAttrib1fv")); + flextGL.VertexAttrib2f = reinterpret_cast(loader.load("glVertexAttrib2f")); + flextGL.VertexAttrib2fv = reinterpret_cast(loader.load("glVertexAttrib2fv")); + flextGL.VertexAttrib3f = reinterpret_cast(loader.load("glVertexAttrib3f")); + flextGL.VertexAttrib3fv = reinterpret_cast(loader.load("glVertexAttrib3fv")); + flextGL.VertexAttrib4f = reinterpret_cast(loader.load("glVertexAttrib4f")); + flextGL.VertexAttrib4fv = reinterpret_cast(loader.load("glVertexAttrib4fv")); + flextGL.VertexAttribPointer = reinterpret_cast(loader.load("glVertexAttribPointer")); /* GL_EXT_debug_label */ - flextglGetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); - flextglLabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); + flextGL.GetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); + flextGL.LabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); /* GL_EXT_debug_marker */ - flextglInsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); - flextglPopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); - flextglPushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); + flextGL.InsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); + flextGL.PopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); + flextGL.PushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); /* GL_EXT_discard_framebuffer */ - flextglDiscardFramebufferEXT = reinterpret_cast(loader.load("glDiscardFramebufferEXT")); + flextGL.DiscardFramebufferEXT = reinterpret_cast(loader.load("glDiscardFramebufferEXT")); /* GL_EXT_disjoint_timer_query */ - flextglGetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); - flextglGetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); - flextglGetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); - flextglGetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); - flextglQueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); + flextGL.GetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); + flextGL.GetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); + flextGL.GetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); + flextGL.GetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); + flextGL.QueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); /* GL_EXT_draw_buffers */ - flextglDrawBuffersEXT = reinterpret_cast(loader.load("glDrawBuffersEXT")); + flextGL.DrawBuffersEXT = reinterpret_cast(loader.load("glDrawBuffersEXT")); /* GL_EXT_draw_buffers_indexed */ - flextglBlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); - flextglBlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); - flextglBlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); - flextglBlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); - flextglColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); - flextglDisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); - flextglEnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); - flextglIsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); + flextGL.BlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); + flextGL.BlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); + flextGL.BlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); + flextGL.BlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); + flextGL.ColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); + flextGL.DisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); + flextGL.EnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); + flextGL.IsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); /* GL_EXT_instanced_arrays */ - flextglDrawArraysInstancedEXT = reinterpret_cast(loader.load("glDrawArraysInstancedEXT")); - flextglDrawElementsInstancedEXT = reinterpret_cast(loader.load("glDrawElementsInstancedEXT")); - flextglVertexAttribDivisorEXT = reinterpret_cast(loader.load("glVertexAttribDivisorEXT")); + flextGL.DrawArraysInstancedEXT = reinterpret_cast(loader.load("glDrawArraysInstancedEXT")); + flextGL.DrawElementsInstancedEXT = reinterpret_cast(loader.load("glDrawElementsInstancedEXT")); + flextGL.VertexAttribDivisorEXT = reinterpret_cast(loader.load("glVertexAttribDivisorEXT")); /* GL_EXT_map_buffer_range */ - flextglFlushMappedBufferRangeEXT = reinterpret_cast(loader.load("glFlushMappedBufferRangeEXT")); - flextglMapBufferRangeEXT = reinterpret_cast(loader.load("glMapBufferRangeEXT")); + flextGL.FlushMappedBufferRangeEXT = reinterpret_cast(loader.load("glFlushMappedBufferRangeEXT")); + flextGL.MapBufferRangeEXT = reinterpret_cast(loader.load("glMapBufferRangeEXT")); /* GL_EXT_multi_draw_arrays */ - flextglMultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); - flextglMultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); + flextGL.MultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); + flextGL.MultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); /* GL_EXT_multisampled_render_to_texture */ - flextglFramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); - flextglRenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); + flextGL.FramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); + flextGL.RenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); /* GL_EXT_occlusion_query_boolean */ - flextglBeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); - flextglDeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); - flextglEndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); - flextglGenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); - flextglGetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); - flextglGetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); - flextglIsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); + flextGL.BeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); + flextGL.DeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); + flextGL.EndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); + flextGL.GenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); + flextGL.GetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); + flextGL.GetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); + flextGL.IsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); /* GL_EXT_polygon_offset_clamp */ - flextglPolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); + flextGL.PolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); /* GL_EXT_robustness */ - flextglGetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); - flextglGetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); - flextglGetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); - flextglReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); + flextGL.GetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); + flextGL.GetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); + flextGL.GetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); + flextGL.ReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); /* GL_EXT_separate_shader_objects */ - flextglActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); - flextglBindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); - flextglCreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); - flextglDeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); - flextglGenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); - flextglGetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); - flextglGetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); - flextglIsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); - flextglProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); - flextglProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); - flextglProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); - flextglProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); - flextglProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); - flextglProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); - flextglProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); - flextglProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); - flextglProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); - flextglProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); - flextglProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); - flextglProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); - flextglProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); - flextglProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); - flextglProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); - flextglProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); - flextglProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); - flextglProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); - flextglProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); - flextglProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); - flextglUseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); - flextglValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); + flextGL.ActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); + flextGL.BindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); + flextGL.CreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); + flextGL.DeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); + flextGL.GenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); + flextGL.GetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); + flextGL.GetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); + flextGL.IsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); + flextGL.ProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); + flextGL.ProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); + flextGL.ProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); + flextGL.ProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); + flextGL.ProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); + flextGL.ProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); + flextGL.ProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); + flextGL.ProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); + flextGL.ProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); + flextGL.ProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); + flextGL.ProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); + flextGL.ProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); + flextGL.ProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); + flextGL.ProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); + flextGL.ProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); + flextGL.ProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); + flextGL.ProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); + flextGL.ProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); + flextGL.ProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); + flextGL.ProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); + flextGL.UseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); + flextGL.ValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); /* GL_EXT_texture_border_clamp */ - flextglGetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); - flextglGetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); - flextglGetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); - flextglGetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); - flextglSamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); - flextglSamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); - flextglTexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); - flextglTexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); + flextGL.GetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); + flextGL.GetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); + flextGL.GetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); + flextGL.GetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); + flextGL.SamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); + flextGL.SamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); + flextGL.TexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); + flextGL.TexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); /* GL_EXT_texture_storage */ - flextglTexStorage2DEXT = reinterpret_cast(loader.load("glTexStorage2DEXT")); - flextglTexStorage3DEXT = reinterpret_cast(loader.load("glTexStorage3DEXT")); + flextGL.TexStorage2DEXT = reinterpret_cast(loader.load("glTexStorage2DEXT")); + flextGL.TexStorage3DEXT = reinterpret_cast(loader.load("glTexStorage3DEXT")); /* GL_KHR_blend_equation_advanced */ - flextglBlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); + flextGL.BlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); /* GL_KHR_debug */ - flextglDebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); - flextglDebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); - flextglDebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); - flextglGetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); - flextglGetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); - flextglGetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); - flextglGetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); - flextglObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); - flextglObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); - flextglPopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); - flextglPushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); + flextGL.DebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); + flextGL.DebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); + flextGL.DebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); + flextGL.GetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); + flextGL.GetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); + flextGL.GetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); + flextGL.GetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); + flextGL.ObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); + flextGL.ObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); + flextGL.PopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); + flextGL.PushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); /* GL_KHR_robustness */ - flextglGetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); - flextglGetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); - flextglGetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); - flextglGetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); - flextglReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); + flextGL.GetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); + flextGL.GetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); + flextGL.GetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); + flextGL.GetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); + flextGL.ReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); /* GL_NV_draw_buffers */ - flextglDrawBuffersNV = reinterpret_cast(loader.load("glDrawBuffersNV")); + flextGL.DrawBuffersNV = reinterpret_cast(loader.load("glDrawBuffersNV")); /* GL_NV_draw_instanced */ - flextglDrawArraysInstancedNV = reinterpret_cast(loader.load("glDrawArraysInstancedNV")); - flextglDrawElementsInstancedNV = reinterpret_cast(loader.load("glDrawElementsInstancedNV")); + flextGL.DrawArraysInstancedNV = reinterpret_cast(loader.load("glDrawArraysInstancedNV")); + flextGL.DrawElementsInstancedNV = reinterpret_cast(loader.load("glDrawElementsInstancedNV")); /* GL_NV_framebuffer_blit */ - flextglBlitFramebufferNV = reinterpret_cast(loader.load("glBlitFramebufferNV")); + flextGL.BlitFramebufferNV = reinterpret_cast(loader.load("glBlitFramebufferNV")); /* GL_NV_framebuffer_multisample */ - flextglRenderbufferStorageMultisampleNV = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleNV")); + flextGL.RenderbufferStorageMultisampleNV = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleNV")); /* GL_NV_instanced_arrays */ - flextglVertexAttribDivisorNV = reinterpret_cast(loader.load("glVertexAttribDivisorNV")); + flextGL.VertexAttribDivisorNV = reinterpret_cast(loader.load("glVertexAttribDivisorNV")); /* GL_NV_polygon_mode */ - flextglPolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); + flextGL.PolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); /* GL_NV_read_buffer */ - flextglReadBufferNV = reinterpret_cast(loader.load("glReadBufferNV")); + flextGL.ReadBufferNV = reinterpret_cast(loader.load("glReadBufferNV")); /* GL_OES_mapbuffer */ - flextglGetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); - flextglMapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); - flextglUnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); + flextGL.GetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); + flextGL.MapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); + flextGL.UnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); /* GL_OES_texture_3D */ - flextglCompressedTexImage3DOES = reinterpret_cast(loader.load("glCompressedTexImage3DOES")); - flextglCompressedTexSubImage3DOES = reinterpret_cast(loader.load("glCompressedTexSubImage3DOES")); - flextglCopyTexSubImage3DOES = reinterpret_cast(loader.load("glCopyTexSubImage3DOES")); - flextglFramebufferTexture3DOES = reinterpret_cast(loader.load("glFramebufferTexture3DOES")); - flextglTexImage3DOES = reinterpret_cast(loader.load("glTexImage3DOES")); - flextglTexSubImage3DOES = reinterpret_cast(loader.load("glTexSubImage3DOES")); + flextGL.CompressedTexImage3DOES = reinterpret_cast(loader.load("glCompressedTexImage3DOES")); + flextGL.CompressedTexSubImage3DOES = reinterpret_cast(loader.load("glCompressedTexSubImage3DOES")); + flextGL.CopyTexSubImage3DOES = reinterpret_cast(loader.load("glCopyTexSubImage3DOES")); + flextGL.FramebufferTexture3DOES = reinterpret_cast(loader.load("glFramebufferTexture3DOES")); + flextGL.TexImage3DOES = reinterpret_cast(loader.load("glTexImage3DOES")); + flextGL.TexSubImage3DOES = reinterpret_cast(loader.load("glTexSubImage3DOES")); /* GL_OES_vertex_array_object */ - flextglBindVertexArrayOES = reinterpret_cast(loader.load("glBindVertexArrayOES")); - flextglDeleteVertexArraysOES = reinterpret_cast(loader.load("glDeleteVertexArraysOES")); - flextglGenVertexArraysOES = reinterpret_cast(loader.load("glGenVertexArraysOES")); - flextglIsVertexArrayOES = reinterpret_cast(loader.load("glIsVertexArrayOES")); + flextGL.BindVertexArrayOES = reinterpret_cast(loader.load("glBindVertexArrayOES")); + flextGL.DeleteVertexArraysOES = reinterpret_cast(loader.load("glDeleteVertexArraysOES")); + flextGL.GenVertexArraysOES = reinterpret_cast(loader.load("glGenVertexArraysOES")); + flextGL.IsVertexArrayOES = reinterpret_cast(loader.load("glIsVertexArrayOES")); } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp.template b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp.template index 8b7d062e1..b7013201e 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp.template @@ -39,7 +39,7 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_@category */ @for f in funcs: @if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(loader.load("gl@f.name")); @end @end diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp index 3055d5ff0..40f0daf55 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp @@ -29,296 +29,7 @@ extern "C" { #endif -/* GL_ANGLE_framebuffer_blit */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferANGLE)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; - -/* GL_ANGLE_framebuffer_multisample */ -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleANGLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_ANGLE_instanced_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedANGLE)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedANGLE)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorANGLE)(GLuint, GLuint) = nullptr; - -/* GL_APPLE_framebuffer_multisample */ -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleAPPLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglResolveMultisampleFramebufferAPPLE)(void) = nullptr; - -/* GL_ES_VERSION_2_0 */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglAttachShader)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBufferData)(GLenum, GLsizeiptr, const void *, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompileShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateProgram)(void) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShader)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDetachShader)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexAttribArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexAttribArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetAttribLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetUniformLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformfv)(GLuint, GLint, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformiv)(GLuint, GLint, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribfv)(GLuint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLinkProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilMaskSeparate)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1f)(GLuint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2f)(GLuint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *) = nullptr; - -/* GL_EXT_debug_label */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_debug_marker */ -FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_discard_framebuffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglDiscardFramebufferEXT)(GLenum, GLsizei, const GLenum *) = nullptr; - -/* GL_EXT_disjoint_timer_query */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum) = nullptr; - -/* GL_EXT_draw_buffers */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersEXT)(GLsizei, const GLenum *) = nullptr; - -/* GL_EXT_draw_buffers_indexed */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint) = nullptr; - -/* GL_EXT_instanced_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorEXT)(GLuint, GLuint) = nullptr; - -/* GL_EXT_map_buffer_range */ -FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr, GLbitfield) = nullptr; - -/* GL_EXT_multi_draw_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei) = nullptr; - -/* GL_EXT_multisampled_render_to_texture */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_EXT_occlusion_query_boolean */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint) = nullptr; - -/* GL_EXT_polygon_offset_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat) = nullptr; - -/* GL_EXT_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_EXT_separate_shader_objects */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint) = nullptr; - -/* GL_EXT_texture_border_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *) = nullptr; - -/* GL_EXT_texture_storage */ -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = nullptr; - -/* GL_KHR_blend_equation_advanced */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr; - -/* GL_KHR_debug */ -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_KHR_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_NV_draw_buffers */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersNV)(GLsizei, const GLenum *) = nullptr; - -/* GL_NV_draw_instanced */ -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedNV)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedNV)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; - -/* GL_NV_framebuffer_blit */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferNV)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; - -/* GL_NV_framebuffer_multisample */ -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleNV)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_NV_instanced_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorNV)(GLuint, GLuint) = nullptr; - -/* GL_NV_polygon_mode */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum) = nullptr; - -/* GL_NV_read_buffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglReadBufferNV)(GLenum) = nullptr; - -/* GL_OES_mapbuffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum) = nullptr; - -/* GL_OES_texture_3D */ -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture3DOES)(GLenum, GLenum, GLenum, GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; - -/* GL_OES_vertex_array_object */ -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArrayOES)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArraysOES)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArraysOES)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArrayOES)(GLuint) = nullptr; +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp.template b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp.template index 4d3873d1c..fdc0df900 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.cpp.template @@ -29,18 +29,8 @@ #ifdef __cplusplus extern "C" { #endif -@for category,funcs in functions: -@if funcs: - -/* GL_@category */ -@for f in funcs: - @if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: -FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()) = nullptr; - @end -@end -@end -@end + +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h index 8ddc6549c..d476073b2 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h @@ -1056,600 +1056,714 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen #define GL_STENCIL_INDEX4_OES 0x8D47 -/* Function prototypes */ - -/* GL_ANGLE_framebuffer_blit */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferANGLE)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitFramebufferANGLE flextglBlitFramebufferANGLE - -/* GL_ANGLE_framebuffer_multisample */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleANGLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleANGLE flextglRenderbufferStorageMultisampleANGLE - -/* GL_ANGLE_instanced_arrays */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedANGLE)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstancedANGLE flextglDrawArraysInstancedANGLE -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedANGLE)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstancedANGLE flextglDrawElementsInstancedANGLE -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorANGLE)(GLuint, GLuint); -#define glVertexAttribDivisorANGLE flextglVertexAttribDivisorANGLE - -/* GL_APPLE_framebuffer_multisample */ - -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleAPPLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleAPPLE flextglRenderbufferStorageMultisampleAPPLE -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglResolveMultisampleFramebufferAPPLE)(void); -#define glResolveMultisampleFramebufferAPPLE flextglResolveMultisampleFramebufferAPPLE +/* Function prototypes. First an intersection of GL 1.0 / 1.1 functions that + are also available in ES 2.0, which we can access directly. */ /* GL_ES_VERSION_2_0 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum); -#define glActiveTexture flextglActiveTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglAttachShader)(GLuint, GLuint); -#define glAttachShader flextglAttachShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *); -#define glBindAttribLocation flextglBindAttribLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffer)(GLenum, GLuint); -#define glBindBuffer flextglBindBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint); -#define glBindFramebuffer flextglBindFramebuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint); -#define glBindRenderbuffer flextglBindRenderbuffer GLAPI FLEXTGL_EXPORT void APIENTRY glBindTexture(GLenum, GLuint); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); -#define glBlendColor flextglBlendColor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum); -#define glBlendEquation flextglBlendEquation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum); -#define glBlendEquationSeparate flextglBlendEquationSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glBlendFunc(GLenum, GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparate flextglBlendFuncSeparate -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferData)(GLenum, GLsizeiptr, const void *, GLenum); -#define glBufferData flextglBufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *); -#define glBufferSubData flextglBufferSubData -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum); -#define glCheckFramebufferStatus flextglCheckFramebufferStatus GLAPI FLEXTGL_EXPORT void APIENTRY glClear(GLbitfield); GLAPI FLEXTGL_EXPORT void APIENTRY glClearColor(GLfloat, GLfloat, GLfloat, GLfloat); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat); -#define glClearDepthf flextglClearDepthf GLAPI FLEXTGL_EXPORT void APIENTRY glClearStencil(GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glColorMask(GLboolean, GLboolean, GLboolean, GLboolean); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompileShader)(GLuint); -#define glCompileShader flextglCompileShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage2D flextglCompressedTexImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage2D flextglCompressedTexSubImage2D GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateProgram)(void); -#define glCreateProgram flextglCreateProgram -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShader)(GLenum); -#define glCreateShader flextglCreateShader GLAPI FLEXTGL_EXPORT void APIENTRY glCullFace(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *); -#define glDeleteBuffers flextglDeleteBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *); -#define glDeleteFramebuffers flextglDeleteFramebuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgram)(GLuint); -#define glDeleteProgram flextglDeleteProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *); -#define glDeleteRenderbuffers flextglDeleteRenderbuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteShader)(GLuint); -#define glDeleteShader flextglDeleteShader GLAPI FLEXTGL_EXPORT void APIENTRY glDeleteTextures(GLsizei, const GLuint *); GLAPI FLEXTGL_EXPORT void APIENTRY glDepthFunc(GLenum); GLAPI FLEXTGL_EXPORT void APIENTRY glDepthMask(GLboolean); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat); -#define glDepthRangef flextglDepthRangef -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDetachShader)(GLuint, GLuint); -#define glDetachShader flextglDetachShader GLAPI FLEXTGL_EXPORT void APIENTRY glDisable(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexAttribArray)(GLuint); -#define glDisableVertexAttribArray flextglDisableVertexAttribArray GLAPI FLEXTGL_EXPORT void APIENTRY glDrawArrays(GLenum, GLint, GLsizei); GLAPI FLEXTGL_EXPORT void APIENTRY glDrawElements(GLenum, GLsizei, GLenum, const void *); GLAPI FLEXTGL_EXPORT void APIENTRY glEnable(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexAttribArray)(GLuint); -#define glEnableVertexAttribArray flextglEnableVertexAttribArray GLAPI FLEXTGL_EXPORT void APIENTRY glFinish(void); GLAPI FLEXTGL_EXPORT void APIENTRY glFlush(void); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); -#define glFramebufferRenderbuffer flextglFramebufferRenderbuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture2D flextglFramebufferTexture2D GLAPI FLEXTGL_EXPORT void APIENTRY glFrontFace(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *); -#define glGenBuffers flextglGenBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *); -#define glGenFramebuffers flextglGenFramebuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *); -#define glGenRenderbuffers flextglGenRenderbuffers GLAPI FLEXTGL_EXPORT void APIENTRY glGenTextures(GLsizei, GLuint *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum); -#define glGenerateMipmap flextglGenerateMipmap -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveAttrib flextglGetActiveAttrib -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveUniform flextglGetActiveUniform -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *); -#define glGetAttachedShaders flextglGetAttachedShaders -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetAttribLocation)(GLuint, const GLchar *); -#define glGetAttribLocation flextglGetAttribLocation GLAPI FLEXTGL_EXPORT void APIENTRY glGetBooleanv(GLenum, GLboolean *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetBufferParameteriv flextglGetBufferParameteriv GLAPI FLEXTGL_EXPORT GLenum APIENTRY glGetError(void); GLAPI FLEXTGL_EXPORT void APIENTRY glGetFloatv(GLenum, GLfloat *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); -#define glGetFramebufferAttachmentParameteriv flextglGetFramebufferAttachmentParameteriv GLAPI FLEXTGL_EXPORT void APIENTRY glGetIntegerv(GLenum, GLint *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramInfoLog flextglGetProgramInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramiv)(GLuint, GLenum, GLint *); -#define glGetProgramiv flextglGetProgramiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetRenderbufferParameteriv flextglGetRenderbufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderInfoLog flextglGetShaderInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); -#define glGetShaderPrecisionFormat flextglGetShaderPrecisionFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderSource flextglGetShaderSource -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(GLuint, GLenum, GLint *); -#define glGetShaderiv flextglGetShaderiv GLAPI FLEXTGL_EXPORT const GLubyte * APIENTRY glGetString(GLenum); GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexParameterfv(GLenum, GLenum, GLfloat *); GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexParameteriv(GLenum, GLenum, GLint *); -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetUniformLocation)(GLuint, const GLchar *); -#define glGetUniformLocation flextglGetUniformLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformfv)(GLuint, GLint, GLfloat *); -#define glGetUniformfv flextglGetUniformfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformiv)(GLuint, GLint, GLint *); -#define glGetUniformiv flextglGetUniformiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **); -#define glGetVertexAttribPointerv flextglGetVertexAttribPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribfv)(GLuint, GLenum, GLfloat *); -#define glGetVertexAttribfv flextglGetVertexAttribfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribiv)(GLuint, GLenum, GLint *); -#define glGetVertexAttribiv flextglGetVertexAttribiv GLAPI FLEXTGL_EXPORT void APIENTRY glHint(GLenum, GLenum); -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(GLuint); -#define glIsBuffer flextglIsBuffer GLAPI FLEXTGL_EXPORT GLboolean APIENTRY glIsEnabled(GLenum); -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint); -#define glIsFramebuffer flextglIsFramebuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgram)(GLuint); -#define glIsProgram flextglIsProgram -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint); -#define glIsRenderbuffer flextglIsRenderbuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsShader)(GLuint); -#define glIsShader flextglIsShader GLAPI FLEXTGL_EXPORT GLboolean APIENTRY glIsTexture(GLuint); GLAPI FLEXTGL_EXPORT void APIENTRY glLineWidth(GLfloat); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLinkProgram)(GLuint); -#define glLinkProgram flextglLinkProgram GLAPI FLEXTGL_EXPORT void APIENTRY glPixelStorei(GLenum, GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glPolygonOffset(GLfloat, GLfloat); GLAPI FLEXTGL_EXPORT void APIENTRY glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void); -#define glReleaseShaderCompiler flextglReleaseShaderCompiler -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorage flextglRenderbufferStorage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean); -#define glSampleCoverage flextglSampleCoverage GLAPI FLEXTGL_EXPORT void APIENTRY glScissor(GLint, GLint, GLsizei, GLsizei); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); -#define glShaderBinary flextglShaderBinary -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *); -#define glShaderSource flextglShaderSource GLAPI FLEXTGL_EXPORT void APIENTRY glStencilFunc(GLenum, GLint, GLuint); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); -#define glStencilFuncSeparate flextglStencilFuncSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glStencilMask(GLuint); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilMaskSeparate)(GLenum, GLuint); -#define glStencilMaskSeparate flextglStencilMaskSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glStencilOp(GLenum, GLenum, GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glStencilOpSeparate flextglStencilOpSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameterf(GLenum, GLenum, GLfloat); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameterfv(GLenum, GLenum, const GLfloat *); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameteri(GLenum, GLenum, GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameteriv(GLenum, GLenum, const GLint *); GLAPI FLEXTGL_EXPORT void APIENTRY glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat); -#define glUniform1f flextglUniform1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *); -#define glUniform1fv flextglUniform1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint); -#define glUniform1i flextglUniform1i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *); -#define glUniform1iv flextglUniform1iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat); -#define glUniform2f flextglUniform2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *); -#define glUniform2fv flextglUniform2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint); -#define glUniform2i flextglUniform2i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *); -#define glUniform2iv flextglUniform2iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat); -#define glUniform3f flextglUniform3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *); -#define glUniform3fv flextglUniform3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint); -#define glUniform3i flextglUniform3i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const GLint *); -#define glUniform3iv flextglUniform3iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glUniform4f flextglUniform4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *); -#define glUniform4fv flextglUniform4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint); -#define glUniform4i flextglUniform4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4iv)(GLint, GLsizei, const GLint *); -#define glUniform4iv flextglUniform4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2fv flextglUniformMatrix2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3fv flextglUniformMatrix3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4fv flextglUniformMatrix4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgram)(GLuint); -#define glUseProgram flextglUseProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgram)(GLuint); -#define glValidateProgram flextglValidateProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1f)(GLuint, GLfloat); -#define glVertexAttrib1f flextglVertexAttrib1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1fv)(GLuint, const GLfloat *); -#define glVertexAttrib1fv flextglVertexAttrib1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2f)(GLuint, GLfloat, GLfloat); -#define glVertexAttrib2f flextglVertexAttrib2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2fv)(GLuint, const GLfloat *); -#define glVertexAttrib2fv flextglVertexAttrib2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib3f flextglVertexAttrib3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3fv)(GLuint, const GLfloat *); -#define glVertexAttrib3fv flextglVertexAttrib3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib4f flextglVertexAttrib4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4fv)(GLuint, const GLfloat *); -#define glVertexAttrib4fv flextglVertexAttrib4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); -#define glVertexAttribPointer flextglVertexAttribPointer GLAPI FLEXTGL_EXPORT void APIENTRY glViewport(GLint, GLint, GLsizei, GLsizei); +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + + /* GL_ANGLE_framebuffer_blit */ + + void(APIENTRY *BlitFramebufferANGLE)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); + + /* GL_ANGLE_framebuffer_multisample */ + + void(APIENTRY *RenderbufferStorageMultisampleANGLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_ANGLE_instanced_arrays */ + + void(APIENTRY *DrawArraysInstancedANGLE)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawElementsInstancedANGLE)(GLenum, GLsizei, GLenum, const void *, GLsizei); + void(APIENTRY *VertexAttribDivisorANGLE)(GLuint, GLuint); + + /* GL_APPLE_framebuffer_multisample */ + + void(APIENTRY *RenderbufferStorageMultisampleAPPLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *ResolveMultisampleFramebufferAPPLE)(void); + + /* GL_ES_VERSION_2_0 */ + + void(APIENTRY *ActiveTexture)(GLenum); + void(APIENTRY *AttachShader)(GLuint, GLuint); + void(APIENTRY *BindAttribLocation)(GLuint, GLuint, const GLchar *); + void(APIENTRY *BindBuffer)(GLenum, GLuint); + void(APIENTRY *BindFramebuffer)(GLenum, GLuint); + void(APIENTRY *BindRenderbuffer)(GLenum, GLuint); + void(APIENTRY *BlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *BlendEquation)(GLenum); + void(APIENTRY *BlendEquationSeparate)(GLenum, GLenum); + void(APIENTRY *BlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BufferData)(GLenum, GLsizeiptr, const void *, GLenum); + void(APIENTRY *BufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *); + GLenum(APIENTRY *CheckFramebufferStatus)(GLenum); + void(APIENTRY *ClearDepthf)(GLfloat); + void(APIENTRY *CompileShader)(GLuint); + void(APIENTRY *CompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); + GLuint(APIENTRY *CreateProgram)(void); + GLuint(APIENTRY *CreateShader)(GLenum); + void(APIENTRY *DeleteBuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteFramebuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteProgram)(GLuint); + void(APIENTRY *DeleteRenderbuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteShader)(GLuint); + void(APIENTRY *DepthRangef)(GLfloat, GLfloat); + void(APIENTRY *DetachShader)(GLuint, GLuint); + void(APIENTRY *DisableVertexAttribArray)(GLuint); + void(APIENTRY *EnableVertexAttribArray)(GLuint); + void(APIENTRY *FramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); + void(APIENTRY *FramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint); + void(APIENTRY *GenBuffers)(GLsizei, GLuint *); + void(APIENTRY *GenFramebuffers)(GLsizei, GLuint *); + void(APIENTRY *GenRenderbuffers)(GLsizei, GLuint *); + void(APIENTRY *GenerateMipmap)(GLenum); + void(APIENTRY *GetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); + void(APIENTRY *GetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); + void(APIENTRY *GetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *); + GLint(APIENTRY *GetAttribLocation)(GLuint, const GLchar *); + void(APIENTRY *GetBufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); + void(APIENTRY *GetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetRenderbufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); + void(APIENTRY *GetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetShaderiv)(GLuint, GLenum, GLint *); + GLint(APIENTRY *GetUniformLocation)(GLuint, const GLchar *); + void(APIENTRY *GetUniformfv)(GLuint, GLint, GLfloat *); + void(APIENTRY *GetUniformiv)(GLuint, GLint, GLint *); + void(APIENTRY *GetVertexAttribPointerv)(GLuint, GLenum, void **); + void(APIENTRY *GetVertexAttribfv)(GLuint, GLenum, GLfloat *); + void(APIENTRY *GetVertexAttribiv)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsBuffer)(GLuint); + GLboolean(APIENTRY *IsFramebuffer)(GLuint); + GLboolean(APIENTRY *IsProgram)(GLuint); + GLboolean(APIENTRY *IsRenderbuffer)(GLuint); + GLboolean(APIENTRY *IsShader)(GLuint); + void(APIENTRY *LinkProgram)(GLuint); + void(APIENTRY *ReleaseShaderCompiler)(void); + void(APIENTRY *RenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); + void(APIENTRY *SampleCoverage)(GLfloat, GLboolean); + void(APIENTRY *ShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); + void(APIENTRY *ShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *); + void(APIENTRY *StencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); + void(APIENTRY *StencilMaskSeparate)(GLenum, GLuint); + void(APIENTRY *StencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *Uniform1f)(GLint, GLfloat); + void(APIENTRY *Uniform1fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform1i)(GLint, GLint); + void(APIENTRY *Uniform1iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform2f)(GLint, GLfloat, GLfloat); + void(APIENTRY *Uniform2fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform2i)(GLint, GLint, GLint); + void(APIENTRY *Uniform2iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform3f)(GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *Uniform3fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform3i)(GLint, GLint, GLint, GLint); + void(APIENTRY *Uniform3iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *Uniform4fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform4i)(GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *Uniform4iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *UniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UseProgram)(GLuint); + void(APIENTRY *ValidateProgram)(GLuint); + void(APIENTRY *VertexAttrib1f)(GLuint, GLfloat); + void(APIENTRY *VertexAttrib1fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib2f)(GLuint, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib2fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib3fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib4fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); + + /* GL_EXT_debug_label */ + + void(APIENTRY *GetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *LabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_EXT_debug_marker */ + + void(APIENTRY *InsertEventMarkerEXT)(GLsizei, const GLchar *); + void(APIENTRY *PopGroupMarkerEXT)(void); + void(APIENTRY *PushGroupMarkerEXT)(GLsizei, const GLchar *); + + /* GL_EXT_discard_framebuffer */ + + void(APIENTRY *DiscardFramebufferEXT)(GLenum, GLsizei, const GLenum *); + + /* GL_EXT_disjoint_timer_query */ + + void(APIENTRY *GetInteger64vEXT)(GLenum, GLint64 *); + void(APIENTRY *GetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); + void(APIENTRY *GetQueryObjectivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); + void(APIENTRY *QueryCounterEXT)(GLuint, GLenum); + + /* GL_EXT_draw_buffers */ + + void(APIENTRY *DrawBuffersEXT)(GLsizei, const GLenum *); + + /* GL_EXT_draw_buffers_indexed */ + + void(APIENTRY *BlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *BlendEquationiEXT)(GLuint, GLenum); + void(APIENTRY *BlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BlendFunciEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *ColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *DisableiEXT)(GLenum, GLuint); + void(APIENTRY *EnableiEXT)(GLenum, GLuint); + GLboolean(APIENTRY *IsEnablediEXT)(GLenum, GLuint); + + /* GL_EXT_instanced_arrays */ + + void(APIENTRY *DrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const void *, GLsizei); + void(APIENTRY *VertexAttribDivisorEXT)(GLuint, GLuint); + + /* GL_EXT_map_buffer_range */ + + void(APIENTRY *FlushMappedBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr); + void *(APIENTRY *MapBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr, GLbitfield); + + /* GL_EXT_multi_draw_arrays */ + + void(APIENTRY *MultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); + void(APIENTRY *MultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); + + /* GL_EXT_multisampled_render_to_texture */ + + void(APIENTRY *FramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); + void(APIENTRY *RenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_EXT_occlusion_query_boolean */ + + void(APIENTRY *BeginQueryEXT)(GLenum, GLuint); + void(APIENTRY *DeleteQueriesEXT)(GLsizei, const GLuint *); + void(APIENTRY *EndQueryEXT)(GLenum); + void(APIENTRY *GenQueriesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetQueryivEXT)(GLenum, GLenum, GLint *); + GLboolean(APIENTRY *IsQueryEXT)(GLuint); + + /* GL_EXT_polygon_offset_clamp */ + + void(APIENTRY *PolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); + + /* GL_EXT_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusEXT)(void); + void(APIENTRY *GetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *ReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_EXT_separate_shader_objects */ + + void(APIENTRY *ActiveShaderProgramEXT)(GLuint, GLuint); + void(APIENTRY *BindProgramPipelineEXT)(GLuint); + GLuint(APIENTRY *CreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); + void(APIENTRY *DeleteProgramPipelinesEXT)(GLsizei, const GLuint *); + void(APIENTRY *GenProgramPipelinesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramPipelineivEXT)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsProgramPipelineEXT)(GLuint); + void(APIENTRY *ProgramParameteriEXT)(GLuint, GLenum, GLint); + void(APIENTRY *ProgramUniform1fEXT)(GLuint, GLint, GLfloat); + void(APIENTRY *ProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform1iEXT)(GLuint, GLint, GLint); + void(APIENTRY *ProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UseProgramStagesEXT)(GLuint, GLbitfield, GLuint); + void(APIENTRY *ValidateProgramPipelineEXT)(GLuint); + + /* GL_EXT_texture_border_clamp */ + + void(APIENTRY *GetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetTexParameterIivEXT)(GLenum, GLenum, GLint *); + void(APIENTRY *GetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); + void(APIENTRY *SamplerParameterIivEXT)(GLuint, GLenum, const GLint *); + void(APIENTRY *SamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); + void(APIENTRY *TexParameterIivEXT)(GLenum, GLenum, const GLint *); + void(APIENTRY *TexParameterIuivEXT)(GLenum, GLenum, const GLuint *); + + /* GL_EXT_texture_storage */ + + void(APIENTRY *TexStorage2DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *TexStorage3DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); + + /* GL_KHR_blend_equation_advanced */ + + void(APIENTRY *BlendBarrierKHR)(void); + + /* GL_KHR_debug */ + + void(APIENTRY *DebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); + void(APIENTRY *DebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); + void(APIENTRY *DebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); + GLuint(APIENTRY *GetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); + void(APIENTRY *GetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetPointervKHR)(GLenum, void **); + void(APIENTRY *ObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); + void(APIENTRY *PopDebugGroupKHR)(void); + void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_KHR_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void); + void(APIENTRY *GetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); + void(APIENTRY *ReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_NV_draw_buffers */ + + void(APIENTRY *DrawBuffersNV)(GLsizei, const GLenum *); + + /* GL_NV_draw_instanced */ + + void(APIENTRY *DrawArraysInstancedNV)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawElementsInstancedNV)(GLenum, GLsizei, GLenum, const void *, GLsizei); + + /* GL_NV_framebuffer_blit */ + + void(APIENTRY *BlitFramebufferNV)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); + + /* GL_NV_framebuffer_multisample */ + + void(APIENTRY *RenderbufferStorageMultisampleNV)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_NV_instanced_arrays */ + + void(APIENTRY *VertexAttribDivisorNV)(GLuint, GLuint); + + /* GL_NV_polygon_mode */ + + void(APIENTRY *PolygonModeNV)(GLenum, GLenum); + + /* GL_NV_read_buffer */ + + void(APIENTRY *ReadBufferNV)(GLenum); + + /* GL_OES_mapbuffer */ + + void(APIENTRY *GetBufferPointervOES)(GLenum, GLenum, void **); + void *(APIENTRY *MapBufferOES)(GLenum, GLenum); + GLboolean(APIENTRY *UnmapBufferOES)(GLenum); + + /* GL_OES_texture_3D */ + + void(APIENTRY *CompressedTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CopyTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *FramebufferTexture3DOES)(GLenum, GLenum, GLenum, GLuint, GLint, GLint); + void(APIENTRY *TexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); + void(APIENTRY *TexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); + + /* GL_OES_vertex_array_object */ + + void(APIENTRY *BindVertexArrayOES)(GLuint); + void(APIENTRY *DeleteVertexArraysOES)(GLsizei, const GLuint *); + void(APIENTRY *GenVertexArraysOES)(GLsizei, GLuint *); + GLboolean(APIENTRY *IsVertexArrayOES)(GLuint); +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; + +/* GL_ANGLE_framebuffer_blit */ + +#define glBlitFramebufferANGLE flextGL.BlitFramebufferANGLE + +/* GL_ANGLE_framebuffer_multisample */ + +#define glRenderbufferStorageMultisampleANGLE flextGL.RenderbufferStorageMultisampleANGLE + +/* GL_ANGLE_instanced_arrays */ + +#define glDrawArraysInstancedANGLE flextGL.DrawArraysInstancedANGLE +#define glDrawElementsInstancedANGLE flextGL.DrawElementsInstancedANGLE +#define glVertexAttribDivisorANGLE flextGL.VertexAttribDivisorANGLE + +/* GL_APPLE_framebuffer_multisample */ + +#define glRenderbufferStorageMultisampleAPPLE flextGL.RenderbufferStorageMultisampleAPPLE +#define glResolveMultisampleFramebufferAPPLE flextGL.ResolveMultisampleFramebufferAPPLE + +/* GL_ES_VERSION_2_0 */ + +#define glActiveTexture flextGL.ActiveTexture +#define glAttachShader flextGL.AttachShader +#define glBindAttribLocation flextGL.BindAttribLocation +#define glBindBuffer flextGL.BindBuffer +#define glBindFramebuffer flextGL.BindFramebuffer +#define glBindRenderbuffer flextGL.BindRenderbuffer +#define glBlendColor flextGL.BlendColor +#define glBlendEquation flextGL.BlendEquation +#define glBlendEquationSeparate flextGL.BlendEquationSeparate +#define glBlendFuncSeparate flextGL.BlendFuncSeparate +#define glBufferData flextGL.BufferData +#define glBufferSubData flextGL.BufferSubData +#define glCheckFramebufferStatus flextGL.CheckFramebufferStatus +#define glClearDepthf flextGL.ClearDepthf +#define glCompileShader flextGL.CompileShader +#define glCompressedTexImage2D flextGL.CompressedTexImage2D +#define glCompressedTexSubImage2D flextGL.CompressedTexSubImage2D +#define glCreateProgram flextGL.CreateProgram +#define glCreateShader flextGL.CreateShader +#define glDeleteBuffers flextGL.DeleteBuffers +#define glDeleteFramebuffers flextGL.DeleteFramebuffers +#define glDeleteProgram flextGL.DeleteProgram +#define glDeleteRenderbuffers flextGL.DeleteRenderbuffers +#define glDeleteShader flextGL.DeleteShader +#define glDepthRangef flextGL.DepthRangef +#define glDetachShader flextGL.DetachShader +#define glDisableVertexAttribArray flextGL.DisableVertexAttribArray +#define glEnableVertexAttribArray flextGL.EnableVertexAttribArray +#define glFramebufferRenderbuffer flextGL.FramebufferRenderbuffer +#define glFramebufferTexture2D flextGL.FramebufferTexture2D +#define glGenBuffers flextGL.GenBuffers +#define glGenFramebuffers flextGL.GenFramebuffers +#define glGenRenderbuffers flextGL.GenRenderbuffers +#define glGenerateMipmap flextGL.GenerateMipmap +#define glGetActiveAttrib flextGL.GetActiveAttrib +#define glGetActiveUniform flextGL.GetActiveUniform +#define glGetAttachedShaders flextGL.GetAttachedShaders +#define glGetAttribLocation flextGL.GetAttribLocation +#define glGetBufferParameteriv flextGL.GetBufferParameteriv +#define glGetFramebufferAttachmentParameteriv flextGL.GetFramebufferAttachmentParameteriv +#define glGetProgramInfoLog flextGL.GetProgramInfoLog +#define glGetProgramiv flextGL.GetProgramiv +#define glGetRenderbufferParameteriv flextGL.GetRenderbufferParameteriv +#define glGetShaderInfoLog flextGL.GetShaderInfoLog +#define glGetShaderPrecisionFormat flextGL.GetShaderPrecisionFormat +#define glGetShaderSource flextGL.GetShaderSource +#define glGetShaderiv flextGL.GetShaderiv +#define glGetUniformLocation flextGL.GetUniformLocation +#define glGetUniformfv flextGL.GetUniformfv +#define glGetUniformiv flextGL.GetUniformiv +#define glGetVertexAttribPointerv flextGL.GetVertexAttribPointerv +#define glGetVertexAttribfv flextGL.GetVertexAttribfv +#define glGetVertexAttribiv flextGL.GetVertexAttribiv +#define glIsBuffer flextGL.IsBuffer +#define glIsFramebuffer flextGL.IsFramebuffer +#define glIsProgram flextGL.IsProgram +#define glIsRenderbuffer flextGL.IsRenderbuffer +#define glIsShader flextGL.IsShader +#define glLinkProgram flextGL.LinkProgram +#define glReleaseShaderCompiler flextGL.ReleaseShaderCompiler +#define glRenderbufferStorage flextGL.RenderbufferStorage +#define glSampleCoverage flextGL.SampleCoverage +#define glShaderBinary flextGL.ShaderBinary +#define glShaderSource flextGL.ShaderSource +#define glStencilFuncSeparate flextGL.StencilFuncSeparate +#define glStencilMaskSeparate flextGL.StencilMaskSeparate +#define glStencilOpSeparate flextGL.StencilOpSeparate +#define glUniform1f flextGL.Uniform1f +#define glUniform1fv flextGL.Uniform1fv +#define glUniform1i flextGL.Uniform1i +#define glUniform1iv flextGL.Uniform1iv +#define glUniform2f flextGL.Uniform2f +#define glUniform2fv flextGL.Uniform2fv +#define glUniform2i flextGL.Uniform2i +#define glUniform2iv flextGL.Uniform2iv +#define glUniform3f flextGL.Uniform3f +#define glUniform3fv flextGL.Uniform3fv +#define glUniform3i flextGL.Uniform3i +#define glUniform3iv flextGL.Uniform3iv +#define glUniform4f flextGL.Uniform4f +#define glUniform4fv flextGL.Uniform4fv +#define glUniform4i flextGL.Uniform4i +#define glUniform4iv flextGL.Uniform4iv +#define glUniformMatrix2fv flextGL.UniformMatrix2fv +#define glUniformMatrix3fv flextGL.UniformMatrix3fv +#define glUniformMatrix4fv flextGL.UniformMatrix4fv +#define glUseProgram flextGL.UseProgram +#define glValidateProgram flextGL.ValidateProgram +#define glVertexAttrib1f flextGL.VertexAttrib1f +#define glVertexAttrib1fv flextGL.VertexAttrib1fv +#define glVertexAttrib2f flextGL.VertexAttrib2f +#define glVertexAttrib2fv flextGL.VertexAttrib2fv +#define glVertexAttrib3f flextGL.VertexAttrib3f +#define glVertexAttrib3fv flextGL.VertexAttrib3fv +#define glVertexAttrib4f flextGL.VertexAttrib4f +#define glVertexAttrib4fv flextGL.VertexAttrib4fv +#define glVertexAttribPointer flextGL.VertexAttribPointer + /* GL_EXT_debug_label */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelEXT flextglGetObjectLabelEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); -#define glLabelObjectEXT flextglLabelObjectEXT +#define glGetObjectLabelEXT flextGL.GetObjectLabelEXT +#define glLabelObjectEXT flextGL.LabelObjectEXT /* GL_EXT_debug_marker */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *); -#define glInsertEventMarkerEXT flextglInsertEventMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void); -#define glPopGroupMarkerEXT flextglPopGroupMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *); -#define glPushGroupMarkerEXT flextglPushGroupMarkerEXT +#define glInsertEventMarkerEXT flextGL.InsertEventMarkerEXT +#define glPopGroupMarkerEXT flextGL.PopGroupMarkerEXT +#define glPushGroupMarkerEXT flextGL.PushGroupMarkerEXT /* GL_EXT_discard_framebuffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDiscardFramebufferEXT)(GLenum, GLsizei, const GLenum *); -#define glDiscardFramebufferEXT flextglDiscardFramebufferEXT +#define glDiscardFramebufferEXT flextGL.DiscardFramebufferEXT /* GL_EXT_disjoint_timer_query */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *); -#define glGetInteger64vEXT flextglGetInteger64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); -#define glGetQueryObjecti64vEXT flextglGetQueryObjecti64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *); -#define glGetQueryObjectivEXT flextglGetQueryObjectivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); -#define glGetQueryObjectui64vEXT flextglGetQueryObjectui64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum); -#define glQueryCounterEXT flextglQueryCounterEXT +#define glGetInteger64vEXT flextGL.GetInteger64vEXT +#define glGetQueryObjecti64vEXT flextGL.GetQueryObjecti64vEXT +#define glGetQueryObjectivEXT flextGL.GetQueryObjectivEXT +#define glGetQueryObjectui64vEXT flextGL.GetQueryObjectui64vEXT +#define glQueryCounterEXT flextGL.QueryCounterEXT /* GL_EXT_draw_buffers */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersEXT)(GLsizei, const GLenum *); -#define glDrawBuffersEXT flextglDrawBuffersEXT +#define glDrawBuffersEXT flextGL.DrawBuffersEXT /* GL_EXT_draw_buffers_indexed */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparateiEXT flextglBlendEquationSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum); -#define glBlendEquationiEXT flextglBlendEquationiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparateiEXT flextglBlendFuncSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum); -#define glBlendFunciEXT flextglBlendFunciEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaskiEXT flextglColorMaskiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint); -#define glDisableiEXT flextglDisableiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint); -#define glEnableiEXT flextglEnableiEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint); -#define glIsEnablediEXT flextglIsEnablediEXT +#define glBlendEquationSeparateiEXT flextGL.BlendEquationSeparateiEXT +#define glBlendEquationiEXT flextGL.BlendEquationiEXT +#define glBlendFuncSeparateiEXT flextGL.BlendFuncSeparateiEXT +#define glBlendFunciEXT flextGL.BlendFunciEXT +#define glColorMaskiEXT flextGL.ColorMaskiEXT +#define glDisableiEXT flextGL.DisableiEXT +#define glEnableiEXT flextGL.EnableiEXT +#define glIsEnablediEXT flextGL.IsEnablediEXT /* GL_EXT_instanced_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstancedEXT flextglDrawArraysInstancedEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstancedEXT flextglDrawElementsInstancedEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorEXT)(GLuint, GLuint); -#define glVertexAttribDivisorEXT flextglVertexAttribDivisorEXT +#define glDrawArraysInstancedEXT flextGL.DrawArraysInstancedEXT +#define glDrawElementsInstancedEXT flextGL.DrawElementsInstancedEXT +#define glVertexAttribDivisorEXT flextGL.VertexAttribDivisorEXT /* GL_EXT_map_buffer_range */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr); -#define glFlushMappedBufferRangeEXT flextglFlushMappedBufferRangeEXT -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRangeEXT)(GLenum, GLintptr, GLsizeiptr, GLbitfield); -#define glMapBufferRangeEXT flextglMapBufferRangeEXT +#define glFlushMappedBufferRangeEXT flextGL.FlushMappedBufferRangeEXT +#define glMapBufferRangeEXT flextGL.MapBufferRangeEXT /* GL_EXT_multi_draw_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); -#define glMultiDrawArraysEXT flextglMultiDrawArraysEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); -#define glMultiDrawElementsEXT flextglMultiDrawElementsEXT +#define glMultiDrawArraysEXT flextGL.MultiDrawArraysEXT +#define glMultiDrawElementsEXT flextGL.MultiDrawElementsEXT /* GL_EXT_multisampled_render_to_texture */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); -#define glFramebufferTexture2DMultisampleEXT flextglFramebufferTexture2DMultisampleEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleEXT flextglRenderbufferStorageMultisampleEXT +#define glFramebufferTexture2DMultisampleEXT flextGL.FramebufferTexture2DMultisampleEXT +#define glRenderbufferStorageMultisampleEXT flextGL.RenderbufferStorageMultisampleEXT /* GL_EXT_occlusion_query_boolean */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint); -#define glBeginQueryEXT flextglBeginQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *); -#define glDeleteQueriesEXT flextglDeleteQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum); -#define glEndQueryEXT flextglEndQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *); -#define glGenQueriesEXT flextglGenQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); -#define glGetQueryObjectuivEXT flextglGetQueryObjectuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *); -#define glGetQueryivEXT flextglGetQueryivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint); -#define glIsQueryEXT flextglIsQueryEXT +#define glBeginQueryEXT flextGL.BeginQueryEXT +#define glDeleteQueriesEXT flextGL.DeleteQueriesEXT +#define glEndQueryEXT flextGL.EndQueryEXT +#define glGenQueriesEXT flextGL.GenQueriesEXT +#define glGetQueryObjectuivEXT flextGL.GetQueryObjectuivEXT +#define glGetQueryivEXT flextGL.GetQueryivEXT +#define glIsQueryEXT flextGL.IsQueryEXT /* GL_EXT_polygon_offset_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); -#define glPolygonOffsetClampEXT flextglPolygonOffsetClampEXT +#define glPolygonOffsetClampEXT flextGL.PolygonOffsetClampEXT /* GL_EXT_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void); -#define glGetGraphicsResetStatusEXT flextglGetGraphicsResetStatusEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvEXT flextglGetnUniformfvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivEXT flextglGetnUniformivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsEXT flextglReadnPixelsEXT +#define glGetGraphicsResetStatusEXT flextGL.GetGraphicsResetStatusEXT +#define glGetnUniformfvEXT flextGL.GetnUniformfvEXT +#define glGetnUniformivEXT flextGL.GetnUniformivEXT +#define glReadnPixelsEXT flextGL.ReadnPixelsEXT /* GL_EXT_separate_shader_objects */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint); -#define glActiveShaderProgramEXT flextglActiveShaderProgramEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint); -#define glBindProgramPipelineEXT flextglBindProgramPipelineEXT -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); -#define glCreateShaderProgramvEXT flextglCreateShaderProgramvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *); -#define glDeleteProgramPipelinesEXT flextglDeleteProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *); -#define glGenProgramPipelinesEXT flextglGenProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLogEXT flextglGetProgramPipelineInfoLogEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineivEXT flextglGetProgramPipelineivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint); -#define glIsProgramPipelineEXT flextglIsProgramPipelineEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint); -#define glProgramParameteriEXT flextglProgramParameteriEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat); -#define glProgramUniform1fEXT flextglProgramUniform1fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fvEXT flextglProgramUniform1fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint); -#define glProgramUniform1iEXT flextglProgramUniform1iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1ivEXT flextglProgramUniform1ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2fEXT flextglProgramUniform2fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fvEXT flextglProgramUniform2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2iEXT flextglProgramUniform2iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2ivEXT flextglProgramUniform2ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3fEXT flextglProgramUniform3fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fvEXT flextglProgramUniform3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3iEXT flextglProgramUniform3iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3ivEXT flextglProgramUniform3ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4fEXT flextglProgramUniform4fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fvEXT flextglProgramUniform4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4iEXT flextglProgramUniform4iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4ivEXT flextglProgramUniform4ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fvEXT flextglProgramUniformMatrix2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fvEXT flextglProgramUniformMatrix3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fvEXT flextglProgramUniformMatrix4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint); -#define glUseProgramStagesEXT flextglUseProgramStagesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint); -#define glValidateProgramPipelineEXT flextglValidateProgramPipelineEXT +#define glActiveShaderProgramEXT flextGL.ActiveShaderProgramEXT +#define glBindProgramPipelineEXT flextGL.BindProgramPipelineEXT +#define glCreateShaderProgramvEXT flextGL.CreateShaderProgramvEXT +#define glDeleteProgramPipelinesEXT flextGL.DeleteProgramPipelinesEXT +#define glGenProgramPipelinesEXT flextGL.GenProgramPipelinesEXT +#define glGetProgramPipelineInfoLogEXT flextGL.GetProgramPipelineInfoLogEXT +#define glGetProgramPipelineivEXT flextGL.GetProgramPipelineivEXT +#define glIsProgramPipelineEXT flextGL.IsProgramPipelineEXT +#define glProgramParameteriEXT flextGL.ProgramParameteriEXT +#define glProgramUniform1fEXT flextGL.ProgramUniform1fEXT +#define glProgramUniform1fvEXT flextGL.ProgramUniform1fvEXT +#define glProgramUniform1iEXT flextGL.ProgramUniform1iEXT +#define glProgramUniform1ivEXT flextGL.ProgramUniform1ivEXT +#define glProgramUniform2fEXT flextGL.ProgramUniform2fEXT +#define glProgramUniform2fvEXT flextGL.ProgramUniform2fvEXT +#define glProgramUniform2iEXT flextGL.ProgramUniform2iEXT +#define glProgramUniform2ivEXT flextGL.ProgramUniform2ivEXT +#define glProgramUniform3fEXT flextGL.ProgramUniform3fEXT +#define glProgramUniform3fvEXT flextGL.ProgramUniform3fvEXT +#define glProgramUniform3iEXT flextGL.ProgramUniform3iEXT +#define glProgramUniform3ivEXT flextGL.ProgramUniform3ivEXT +#define glProgramUniform4fEXT flextGL.ProgramUniform4fEXT +#define glProgramUniform4fvEXT flextGL.ProgramUniform4fvEXT +#define glProgramUniform4iEXT flextGL.ProgramUniform4iEXT +#define glProgramUniform4ivEXT flextGL.ProgramUniform4ivEXT +#define glProgramUniformMatrix2fvEXT flextGL.ProgramUniformMatrix2fvEXT +#define glProgramUniformMatrix3fvEXT flextGL.ProgramUniformMatrix3fvEXT +#define glProgramUniformMatrix4fvEXT flextGL.ProgramUniformMatrix4fvEXT +#define glUseProgramStagesEXT flextGL.UseProgramStagesEXT +#define glValidateProgramPipelineEXT flextGL.ValidateProgramPipelineEXT /* GL_EXT_texture_border_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIivEXT flextglGetSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuivEXT flextglGetSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *); -#define glGetTexParameterIivEXT flextglGetTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuivEXT flextglGetTexParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIivEXT flextglSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuivEXT flextglSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *); -#define glTexParameterIivEXT flextglTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuivEXT flextglTexParameterIuivEXT +#define glGetSamplerParameterIivEXT flextGL.GetSamplerParameterIivEXT +#define glGetSamplerParameterIuivEXT flextGL.GetSamplerParameterIuivEXT +#define glGetTexParameterIivEXT flextGL.GetTexParameterIivEXT +#define glGetTexParameterIuivEXT flextGL.GetTexParameterIuivEXT +#define glSamplerParameterIivEXT flextGL.SamplerParameterIivEXT +#define glSamplerParameterIuivEXT flextGL.SamplerParameterIuivEXT +#define glTexParameterIivEXT flextGL.TexParameterIivEXT +#define glTexParameterIuivEXT flextGL.TexParameterIuivEXT /* GL_EXT_texture_storage */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glTexStorage2DEXT flextglTexStorage2DEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); -#define glTexStorage3DEXT flextglTexStorage3DEXT +#define glTexStorage2DEXT flextGL.TexStorage2DEXT +#define glTexStorage3DEXT flextGL.TexStorage3DEXT /* GL_KHR_blend_equation_advanced */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void); -#define glBlendBarrierKHR flextglBlendBarrierKHR +#define glBlendBarrierKHR flextGL.BlendBarrierKHR /* GL_KHR_debug */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); -#define glDebugMessageCallbackKHR flextglDebugMessageCallbackKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControlKHR flextglDebugMessageControlKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsertKHR flextglDebugMessageInsertKHR -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLogKHR flextglGetDebugMessageLogKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelKHR flextglGetObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabelKHR flextglGetObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **); -#define glGetPointervKHR flextglGetPointervKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabelKHR flextglObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabelKHR flextglObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void); -#define glPopDebugGroupKHR flextglPopDebugGroupKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroupKHR flextglPushDebugGroupKHR +#define glDebugMessageCallbackKHR flextGL.DebugMessageCallbackKHR +#define glDebugMessageControlKHR flextGL.DebugMessageControlKHR +#define glDebugMessageInsertKHR flextGL.DebugMessageInsertKHR +#define glGetDebugMessageLogKHR flextGL.GetDebugMessageLogKHR +#define glGetObjectLabelKHR flextGL.GetObjectLabelKHR +#define glGetObjectPtrLabelKHR flextGL.GetObjectPtrLabelKHR +#define glGetPointervKHR flextGL.GetPointervKHR +#define glObjectLabelKHR flextGL.ObjectLabelKHR +#define glObjectPtrLabelKHR flextGL.ObjectPtrLabelKHR +#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR +#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR /* GL_KHR_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void); -#define glGetGraphicsResetStatusKHR flextglGetGraphicsResetStatusKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvKHR flextglGetnUniformfvKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivKHR flextglGetnUniformivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuivKHR flextglGetnUniformuivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsKHR flextglReadnPixelsKHR +#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR +#define glGetnUniformfvKHR flextGL.GetnUniformfvKHR +#define glGetnUniformivKHR flextGL.GetnUniformivKHR +#define glGetnUniformuivKHR flextGL.GetnUniformuivKHR +#define glReadnPixelsKHR flextGL.ReadnPixelsKHR /* GL_NV_draw_buffers */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffersNV)(GLsizei, const GLenum *); -#define glDrawBuffersNV flextglDrawBuffersNV +#define glDrawBuffersNV flextGL.DrawBuffersNV /* GL_NV_draw_instanced */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstancedNV)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstancedNV flextglDrawArraysInstancedNV -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedNV)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstancedNV flextglDrawElementsInstancedNV +#define glDrawArraysInstancedNV flextGL.DrawArraysInstancedNV +#define glDrawElementsInstancedNV flextGL.DrawElementsInstancedNV /* GL_NV_framebuffer_blit */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebufferNV)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitFramebufferNV flextglBlitFramebufferNV +#define glBlitFramebufferNV flextGL.BlitFramebufferNV /* GL_NV_framebuffer_multisample */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleNV)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleNV flextglRenderbufferStorageMultisampleNV +#define glRenderbufferStorageMultisampleNV flextGL.RenderbufferStorageMultisampleNV /* GL_NV_instanced_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisorNV)(GLuint, GLuint); -#define glVertexAttribDivisorNV flextglVertexAttribDivisorNV +#define glVertexAttribDivisorNV flextGL.VertexAttribDivisorNV /* GL_NV_polygon_mode */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum); -#define glPolygonModeNV flextglPolygonModeNV +#define glPolygonModeNV flextGL.PolygonModeNV /* GL_NV_read_buffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadBufferNV)(GLenum); -#define glReadBufferNV flextglReadBufferNV +#define glReadBufferNV flextGL.ReadBufferNV /* GL_OES_mapbuffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **); -#define glGetBufferPointervOES flextglGetBufferPointervOES -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum); -#define glMapBufferOES flextglMapBufferOES -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum); -#define glUnmapBufferOES flextglUnmapBufferOES +#define glGetBufferPointervOES flextGL.GetBufferPointervOES +#define glMapBufferOES flextGL.MapBufferOES +#define glUnmapBufferOES flextGL.UnmapBufferOES /* GL_OES_texture_3D */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage3DOES flextglCompressedTexImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage3DOES flextglCompressedTexSubImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTexSubImage3DOES flextglCopyTexSubImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture3DOES)(GLenum, GLenum, GLenum, GLuint, GLint, GLint); -#define glFramebufferTexture3DOES flextglFramebufferTexture3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3DOES)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage3DOES flextglTexImage3DOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3DOES)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage3DOES flextglTexSubImage3DOES +#define glCompressedTexImage3DOES flextGL.CompressedTexImage3DOES +#define glCompressedTexSubImage3DOES flextGL.CompressedTexSubImage3DOES +#define glCopyTexSubImage3DOES flextGL.CopyTexSubImage3DOES +#define glFramebufferTexture3DOES flextGL.FramebufferTexture3DOES +#define glTexImage3DOES flextGL.TexImage3DOES +#define glTexSubImage3DOES flextGL.TexSubImage3DOES /* GL_OES_vertex_array_object */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArrayOES)(GLuint); -#define glBindVertexArrayOES flextglBindVertexArrayOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArraysOES)(GLsizei, const GLuint *); -#define glDeleteVertexArraysOES flextglDeleteVertexArraysOES -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArraysOES)(GLsizei, GLuint *); -#define glGenVertexArraysOES flextglGenVertexArraysOES -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArrayOES)(GLuint); -#define glIsVertexArrayOES flextglIsVertexArrayOES +#define glBindVertexArrayOES flextGL.BindVertexArrayOES +#define glDeleteVertexArraysOES flextGL.DeleteVertexArraysOES +#define glGenVertexArraysOES flextGL.GenVertexArraysOES +#define glIsVertexArrayOES flextGL.IsVertexArrayOES #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h.template b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h.template index c112ddd89..9316436d6 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h.template +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h.template @@ -90,22 +90,52 @@ void flextGLInit(Magnum::GL::Context& context); @enums -/* Function prototypes */ +/* Function prototypes. First an intersection of GL 1.0 / 1.1 functions that + are also available in ES 2.0, which we can access directly. */ @for cat,funcs in functions: -@if funcs: +@if funcs and cat in ['ES_VERSION_2_0']: /* GL_@cat */ - @for f in funcs: - @if f.name in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: +@for f in funcs: +@if f.name in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: GLAPI FLEXTGL_EXPORT @f.returntype APIENTRY gl@f.name\ (@f.param_type_list_string()); - @else: -GLAPI FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()); -#define gl@f.name flextgl@f.name - @end +@end +@end +@end +@end + +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + @for cat,funcs in functions: + @if funcs: + + /* GL_@cat */ + + @for f in funcs: + @if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: + @f.returntype\ +(APIENTRY *@f.name)(@f.param_type_list_string()); + @end @end + @end + @end +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; +@for cat,funcs in functions: +@if funcs: + +/* GL_@cat */ + +@for f in funcs: +@if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: +#define gl@f.name flextGL.@f.name +@end +@end @end @end diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp b/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp index edcf1ab70..d06f0c44f 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp +++ b/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp @@ -29,283 +29,7 @@ extern "C" { #endif -/* GL_ES_VERSION_3_1 */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDispatchCompute)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysIndirect)(GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsIndirect)(GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferParameteri)(GLenum, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocation)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrier)(GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrierByRegion)(GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1f)(GLuint, GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1i)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ui)(GLuint, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2i)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ui)(GLuint, GLint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStages)(GLuint, GLbitfield, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribBinding)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint) = nullptr; - -/* GL_ES_VERSION_3_2 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrier)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallback)(GLDEBUGPROC, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerv)(GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformiv)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShading)(GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBox)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIiv)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuiv)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBuffer)(GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIiv)(GLenum, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuiv)(GLenum, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; - -/* GL_EXT_copy_image */ -FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr; - -/* GL_EXT_debug_label */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_debug_marker */ -FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_disjoint_timer_query */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum) = nullptr; - -/* GL_EXT_draw_buffers_indexed */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint) = nullptr; - -/* GL_EXT_geometry_shader */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint) = nullptr; - -/* GL_EXT_multi_draw_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei) = nullptr; - -/* GL_EXT_multisampled_render_to_texture */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_EXT_polygon_offset_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat) = nullptr; - -/* GL_EXT_primitive_bounding_box */ -FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; - -/* GL_EXT_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_EXT_separate_shader_objects */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiEXT)(GLuint, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint) = nullptr; - -/* GL_EXT_tessellation_shader */ -FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteriEXT)(GLenum, GLint) = nullptr; - -/* GL_EXT_texture_border_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *) = nullptr; - -/* GL_EXT_texture_buffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferEXT)(GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr; - -/* GL_KHR_blend_equation_advanced */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr; - -/* GL_KHR_debug */ -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_KHR_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_NV_polygon_mode */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum) = nullptr; - -/* GL_OES_mapbuffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum) = nullptr; - -/* GL_OES_sample_shading */ -FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShadingOES)(GLfloat) = nullptr; - -/* GL_OES_texture_storage_multisample_2d_array */ -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; - -/* GL_OVR_multiview */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei) = nullptr; +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp.template b/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp.template index aceb42556..5a6b60945 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES3/flextGL.cpp.template @@ -29,16 +29,8 @@ #ifdef __cplusplus extern "C" { #endif -@for category,funcs in functions: -@if funcs and category not in ['ES_VERSION_2_0', 'ES_VERSION_3_0']: - -/* GL_@category */ -@for f in funcs: -FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()) = nullptr; -@end -@end -@end + +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGL.h b/src/MagnumExternal/OpenGL/GLES3/flextGL.h index aa3263a4d..2b3a1f7bc 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGL.h +++ b/src/MagnumExternal/OpenGL/GLES3/flextGL.h @@ -1917,536 +1917,619 @@ GLAPI FLEXTGL_EXPORT void APIENTRY glVertexAttribI4uiv(GLuint, const GLuint *); GLAPI FLEXTGL_EXPORT void APIENTRY glVertexAttribIPointer(GLuint, GLint, GLenum, GLsizei, const void *); GLAPI FLEXTGL_EXPORT void APIENTRY glWaitSync(GLsync, GLbitfield, GLuint64); +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + + /* GL_ES_VERSION_3_1 */ + + void(APIENTRY *ActiveShaderProgram)(GLuint, GLuint); + void(APIENTRY *BindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); + void(APIENTRY *BindProgramPipeline)(GLuint); + void(APIENTRY *BindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); + GLuint(APIENTRY *CreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); + void(APIENTRY *DeleteProgramPipelines)(GLsizei, const GLuint *); + void(APIENTRY *DispatchCompute)(GLuint, GLuint, GLuint); + void(APIENTRY *DispatchComputeIndirect)(GLintptr); + void(APIENTRY *DrawArraysIndirect)(GLenum, const void *); + void(APIENTRY *DrawElementsIndirect)(GLenum, GLenum, const void *); + void(APIENTRY *FramebufferParameteri)(GLenum, GLenum, GLint); + void(APIENTRY *GenProgramPipelines)(GLsizei, GLuint *); + void(APIENTRY *GetBooleani_v)(GLenum, GLuint, GLboolean *); + void(APIENTRY *GetFramebufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetMultisamplefv)(GLenum, GLuint, GLfloat *); + void(APIENTRY *GetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); + void(APIENTRY *GetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramPipelineiv)(GLuint, GLenum, GLint *); + GLuint(APIENTRY *GetProgramResourceIndex)(GLuint, GLenum, const GLchar *); + GLint(APIENTRY *GetProgramResourceLocation)(GLuint, GLenum, const GLchar *); + void(APIENTRY *GetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *); + void(APIENTRY *GetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *); + void(APIENTRY *GetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *); + GLboolean(APIENTRY *IsProgramPipeline)(GLuint); + void(APIENTRY *MemoryBarrier)(GLbitfield); + void(APIENTRY *MemoryBarrierByRegion)(GLbitfield); + void(APIENTRY *ProgramUniform1f)(GLuint, GLint, GLfloat); + void(APIENTRY *ProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform1i)(GLuint, GLint, GLint); + void(APIENTRY *ProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform1ui)(GLuint, GLint, GLuint); + void(APIENTRY *ProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform2i)(GLuint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform2ui)(GLuint, GLint, GLuint, GLuint); + void(APIENTRY *ProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *SampleMaski)(GLuint, GLbitfield); + void(APIENTRY *TexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); + void(APIENTRY *UseProgramStages)(GLuint, GLbitfield, GLuint); + void(APIENTRY *ValidateProgramPipeline)(GLuint); + void(APIENTRY *VertexAttribBinding)(GLuint, GLuint); + void(APIENTRY *VertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexAttribIFormat)(GLuint, GLint, GLenum, GLuint); + void(APIENTRY *VertexBindingDivisor)(GLuint, GLuint); + + /* GL_ES_VERSION_3_2 */ + + void(APIENTRY *BlendBarrier)(void); + void(APIENTRY *BlendEquationSeparatei)(GLuint, GLenum, GLenum); + void(APIENTRY *BlendEquationi)(GLuint, GLenum); + void(APIENTRY *BlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BlendFunci)(GLuint, GLenum, GLenum); + void(APIENTRY *ColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *CopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); + void(APIENTRY *DebugMessageCallback)(GLDEBUGPROC, const void *); + void(APIENTRY *DebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); + void(APIENTRY *DebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); + void(APIENTRY *Disablei)(GLenum, GLuint); + void(APIENTRY *DrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); + void(APIENTRY *DrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); + void(APIENTRY *DrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); + void(APIENTRY *Enablei)(GLenum, GLuint); + void(APIENTRY *FramebufferTexture)(GLenum, GLenum, GLuint, GLint); + GLuint(APIENTRY *GetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); + GLenum(APIENTRY *GetGraphicsResetStatus)(void); + void(APIENTRY *GetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetPointerv)(GLenum, void **); + void(APIENTRY *GetSamplerParameterIiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetTexParameterIiv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetTexParameterIuiv)(GLenum, GLenum, GLuint *); + void(APIENTRY *GetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformiv)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *); + GLboolean(APIENTRY *IsEnabledi)(GLenum, GLuint); + void(APIENTRY *MinSampleShading)(GLfloat); + void(APIENTRY *ObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ObjectPtrLabel)(const void *, GLsizei, const GLchar *); + void(APIENTRY *PatchParameteri)(GLenum, GLint); + void(APIENTRY *PopDebugGroup)(void); + void(APIENTRY *PrimitiveBoundingBox)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *PushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + void(APIENTRY *SamplerParameterIiv)(GLuint, GLenum, const GLint *); + void(APIENTRY *SamplerParameterIuiv)(GLuint, GLenum, const GLuint *); + void(APIENTRY *TexBuffer)(GLenum, GLenum, GLuint); + void(APIENTRY *TexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *TexParameterIiv)(GLenum, GLenum, const GLint *); + void(APIENTRY *TexParameterIuiv)(GLenum, GLenum, const GLuint *); + void(APIENTRY *TexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); + + /* GL_EXT_copy_image */ + + void(APIENTRY *CopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); + + /* GL_EXT_debug_label */ + + void(APIENTRY *GetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *LabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_EXT_debug_marker */ + + void(APIENTRY *InsertEventMarkerEXT)(GLsizei, const GLchar *); + void(APIENTRY *PopGroupMarkerEXT)(void); + void(APIENTRY *PushGroupMarkerEXT)(GLsizei, const GLchar *); + + /* GL_EXT_disjoint_timer_query */ + + void(APIENTRY *BeginQueryEXT)(GLenum, GLuint); + void(APIENTRY *DeleteQueriesEXT)(GLsizei, const GLuint *); + void(APIENTRY *EndQueryEXT)(GLenum); + void(APIENTRY *GenQueriesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetInteger64vEXT)(GLenum, GLint64 *); + void(APIENTRY *GetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); + void(APIENTRY *GetQueryObjectivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); + void(APIENTRY *GetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetQueryivEXT)(GLenum, GLenum, GLint *); + GLboolean(APIENTRY *IsQueryEXT)(GLuint); + void(APIENTRY *QueryCounterEXT)(GLuint, GLenum); + + /* GL_EXT_draw_buffers_indexed */ + + void(APIENTRY *BlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *BlendEquationiEXT)(GLuint, GLenum); + void(APIENTRY *BlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BlendFunciEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *ColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *DisableiEXT)(GLenum, GLuint); + void(APIENTRY *EnableiEXT)(GLenum, GLuint); + GLboolean(APIENTRY *IsEnablediEXT)(GLenum, GLuint); + + /* GL_EXT_geometry_shader */ + + void(APIENTRY *FramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint); + + /* GL_EXT_multi_draw_arrays */ + + void(APIENTRY *MultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); + void(APIENTRY *MultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); + + /* GL_EXT_multisampled_render_to_texture */ + + void(APIENTRY *FramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); + void(APIENTRY *RenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_EXT_polygon_offset_clamp */ + + void(APIENTRY *PolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); + + /* GL_EXT_primitive_bounding_box */ + + void(APIENTRY *PrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); + + /* GL_EXT_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusEXT)(void); + void(APIENTRY *GetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *ReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_EXT_separate_shader_objects */ + + void(APIENTRY *ActiveShaderProgramEXT)(GLuint, GLuint); + void(APIENTRY *BindProgramPipelineEXT)(GLuint); + GLuint(APIENTRY *CreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); + void(APIENTRY *DeleteProgramPipelinesEXT)(GLsizei, const GLuint *); + void(APIENTRY *GenProgramPipelinesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramPipelineivEXT)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsProgramPipelineEXT)(GLuint); + void(APIENTRY *ProgramParameteriEXT)(GLuint, GLenum, GLint); + void(APIENTRY *ProgramUniform1fEXT)(GLuint, GLint, GLfloat); + void(APIENTRY *ProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform1iEXT)(GLuint, GLint, GLint); + void(APIENTRY *ProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform1uiEXT)(GLuint, GLint, GLuint); + void(APIENTRY *ProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint); + void(APIENTRY *ProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UseProgramStagesEXT)(GLuint, GLbitfield, GLuint); + void(APIENTRY *ValidateProgramPipelineEXT)(GLuint); + + /* GL_EXT_tessellation_shader */ + + void(APIENTRY *PatchParameteriEXT)(GLenum, GLint); + + /* GL_EXT_texture_border_clamp */ + + void(APIENTRY *GetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetTexParameterIivEXT)(GLenum, GLenum, GLint *); + void(APIENTRY *GetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); + void(APIENTRY *SamplerParameterIivEXT)(GLuint, GLenum, const GLint *); + void(APIENTRY *SamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); + void(APIENTRY *TexParameterIivEXT)(GLenum, GLenum, const GLint *); + void(APIENTRY *TexParameterIuivEXT)(GLenum, GLenum, const GLuint *); + + /* GL_EXT_texture_buffer */ + + void(APIENTRY *TexBufferEXT)(GLenum, GLenum, GLuint); + void(APIENTRY *TexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); + + /* GL_KHR_blend_equation_advanced */ + + void(APIENTRY *BlendBarrierKHR)(void); + + /* GL_KHR_debug */ + + void(APIENTRY *DebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); + void(APIENTRY *DebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); + void(APIENTRY *DebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); + GLuint(APIENTRY *GetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); + void(APIENTRY *GetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetPointervKHR)(GLenum, void **); + void(APIENTRY *ObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); + void(APIENTRY *PopDebugGroupKHR)(void); + void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_KHR_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void); + void(APIENTRY *GetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); + void(APIENTRY *ReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_NV_polygon_mode */ + + void(APIENTRY *PolygonModeNV)(GLenum, GLenum); + + /* GL_OES_mapbuffer */ + + void(APIENTRY *GetBufferPointervOES)(GLenum, GLenum, void **); + void *(APIENTRY *MapBufferOES)(GLenum, GLenum); + GLboolean(APIENTRY *UnmapBufferOES)(GLenum); + + /* GL_OES_sample_shading */ + + void(APIENTRY *MinSampleShadingOES)(GLfloat); + + /* GL_OES_texture_storage_multisample_2d_array */ + + void(APIENTRY *TexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); + + /* GL_OVR_multiview */ + + void(APIENTRY *FramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei); +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; + /* GL_ES_VERSION_3_1 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint); -#define glActiveShaderProgram flextglActiveShaderProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); -#define glBindImageTexture flextglBindImageTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint); -#define glBindProgramPipeline flextglBindProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); -#define glBindVertexBuffer flextglBindVertexBuffer -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); -#define glCreateShaderProgramv flextglCreateShaderProgramv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *); -#define glDeleteProgramPipelines flextglDeleteProgramPipelines -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchCompute)(GLuint, GLuint, GLuint); -#define glDispatchCompute flextglDispatchCompute -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr); -#define glDispatchComputeIndirect flextglDispatchComputeIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysIndirect)(GLenum, const void *); -#define glDrawArraysIndirect flextglDrawArraysIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsIndirect)(GLenum, GLenum, const void *); -#define glDrawElementsIndirect flextglDrawElementsIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferParameteri)(GLenum, GLenum, GLint); -#define glFramebufferParameteri flextglFramebufferParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *); -#define glGenProgramPipelines flextglGenProgramPipelines -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *); -#define glGetBooleani_v flextglGetBooleani_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetFramebufferParameteriv flextglGetFramebufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *); -#define glGetMultisamplefv flextglGetMultisamplefv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); -#define glGetProgramInterfaceiv flextglGetProgramInterfaceiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLog flextglGetProgramPipelineInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineiv flextglGetProgramPipelineiv -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceIndex flextglGetProgramResourceIndex -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocation)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceLocation flextglGetProgramResourceLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramResourceName flextglGetProgramResourceName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *); -#define glGetProgramResourceiv flextglGetProgramResourceiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *); -#define glGetTexLevelParameterfv flextglGetTexLevelParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *); -#define glGetTexLevelParameteriv flextglGetTexLevelParameteriv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint); -#define glIsProgramPipeline flextglIsProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrier)(GLbitfield); -#define glMemoryBarrier flextglMemoryBarrier -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrierByRegion)(GLbitfield); -#define glMemoryBarrierByRegion flextglMemoryBarrierByRegion -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1f)(GLuint, GLint, GLfloat); -#define glProgramUniform1f flextglProgramUniform1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fv flextglProgramUniform1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1i)(GLuint, GLint, GLint); -#define glProgramUniform1i flextglProgramUniform1i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1iv flextglProgramUniform1iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ui)(GLuint, GLint, GLuint); -#define glProgramUniform1ui flextglProgramUniform1ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform1uiv flextglProgramUniform1uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2f flextglProgramUniform2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fv flextglProgramUniform2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2i)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2i flextglProgramUniform2i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2iv flextglProgramUniform2iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ui)(GLuint, GLint, GLuint, GLuint); -#define glProgramUniform2ui flextglProgramUniform2ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform2uiv flextglProgramUniform2uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3f flextglProgramUniform3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fv flextglProgramUniform3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3i flextglProgramUniform3i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3iv flextglProgramUniform3iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint); -#define glProgramUniform3ui flextglProgramUniform3ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform3uiv flextglProgramUniform3uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4f flextglProgramUniform4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fv flextglProgramUniform4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4i flextglProgramUniform4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4iv flextglProgramUniform4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); -#define glProgramUniform4ui flextglProgramUniform4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform4uiv flextglProgramUniform4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fv flextglProgramUniformMatrix2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x3fv flextglProgramUniformMatrix2x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x4fv flextglProgramUniformMatrix2x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fv flextglProgramUniformMatrix3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x2fv flextglProgramUniformMatrix3x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x4fv flextglProgramUniformMatrix3x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fv flextglProgramUniformMatrix4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x2fv flextglProgramUniformMatrix4x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x3fv flextglProgramUniformMatrix4x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield); -#define glSampleMaski flextglSampleMaski -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTexStorage2DMultisample flextglTexStorage2DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStages)(GLuint, GLbitfield, GLuint); -#define glUseProgramStages flextglUseProgramStages -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint); -#define glValidateProgramPipeline flextglValidateProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribBinding)(GLuint, GLuint); -#define glVertexAttribBinding flextglVertexAttribBinding -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint); -#define glVertexAttribFormat flextglVertexAttribFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint); -#define glVertexAttribIFormat flextglVertexAttribIFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint); -#define glVertexBindingDivisor flextglVertexBindingDivisor +#define glActiveShaderProgram flextGL.ActiveShaderProgram +#define glBindImageTexture flextGL.BindImageTexture +#define glBindProgramPipeline flextGL.BindProgramPipeline +#define glBindVertexBuffer flextGL.BindVertexBuffer +#define glCreateShaderProgramv flextGL.CreateShaderProgramv +#define glDeleteProgramPipelines flextGL.DeleteProgramPipelines +#define glDispatchCompute flextGL.DispatchCompute +#define glDispatchComputeIndirect flextGL.DispatchComputeIndirect +#define glDrawArraysIndirect flextGL.DrawArraysIndirect +#define glDrawElementsIndirect flextGL.DrawElementsIndirect +#define glFramebufferParameteri flextGL.FramebufferParameteri +#define glGenProgramPipelines flextGL.GenProgramPipelines +#define glGetBooleani_v flextGL.GetBooleani_v +#define glGetFramebufferParameteriv flextGL.GetFramebufferParameteriv +#define glGetMultisamplefv flextGL.GetMultisamplefv +#define glGetProgramInterfaceiv flextGL.GetProgramInterfaceiv +#define glGetProgramPipelineInfoLog flextGL.GetProgramPipelineInfoLog +#define glGetProgramPipelineiv flextGL.GetProgramPipelineiv +#define glGetProgramResourceIndex flextGL.GetProgramResourceIndex +#define glGetProgramResourceLocation flextGL.GetProgramResourceLocation +#define glGetProgramResourceName flextGL.GetProgramResourceName +#define glGetProgramResourceiv flextGL.GetProgramResourceiv +#define glGetTexLevelParameterfv flextGL.GetTexLevelParameterfv +#define glGetTexLevelParameteriv flextGL.GetTexLevelParameteriv +#define glIsProgramPipeline flextGL.IsProgramPipeline +#define glMemoryBarrier flextGL.MemoryBarrier +#define glMemoryBarrierByRegion flextGL.MemoryBarrierByRegion +#define glProgramUniform1f flextGL.ProgramUniform1f +#define glProgramUniform1fv flextGL.ProgramUniform1fv +#define glProgramUniform1i flextGL.ProgramUniform1i +#define glProgramUniform1iv flextGL.ProgramUniform1iv +#define glProgramUniform1ui flextGL.ProgramUniform1ui +#define glProgramUniform1uiv flextGL.ProgramUniform1uiv +#define glProgramUniform2f flextGL.ProgramUniform2f +#define glProgramUniform2fv flextGL.ProgramUniform2fv +#define glProgramUniform2i flextGL.ProgramUniform2i +#define glProgramUniform2iv flextGL.ProgramUniform2iv +#define glProgramUniform2ui flextGL.ProgramUniform2ui +#define glProgramUniform2uiv flextGL.ProgramUniform2uiv +#define glProgramUniform3f flextGL.ProgramUniform3f +#define glProgramUniform3fv flextGL.ProgramUniform3fv +#define glProgramUniform3i flextGL.ProgramUniform3i +#define glProgramUniform3iv flextGL.ProgramUniform3iv +#define glProgramUniform3ui flextGL.ProgramUniform3ui +#define glProgramUniform3uiv flextGL.ProgramUniform3uiv +#define glProgramUniform4f flextGL.ProgramUniform4f +#define glProgramUniform4fv flextGL.ProgramUniform4fv +#define glProgramUniform4i flextGL.ProgramUniform4i +#define glProgramUniform4iv flextGL.ProgramUniform4iv +#define glProgramUniform4ui flextGL.ProgramUniform4ui +#define glProgramUniform4uiv flextGL.ProgramUniform4uiv +#define glProgramUniformMatrix2fv flextGL.ProgramUniformMatrix2fv +#define glProgramUniformMatrix2x3fv flextGL.ProgramUniformMatrix2x3fv +#define glProgramUniformMatrix2x4fv flextGL.ProgramUniformMatrix2x4fv +#define glProgramUniformMatrix3fv flextGL.ProgramUniformMatrix3fv +#define glProgramUniformMatrix3x2fv flextGL.ProgramUniformMatrix3x2fv +#define glProgramUniformMatrix3x4fv flextGL.ProgramUniformMatrix3x4fv +#define glProgramUniformMatrix4fv flextGL.ProgramUniformMatrix4fv +#define glProgramUniformMatrix4x2fv flextGL.ProgramUniformMatrix4x2fv +#define glProgramUniformMatrix4x3fv flextGL.ProgramUniformMatrix4x3fv +#define glSampleMaski flextGL.SampleMaski +#define glTexStorage2DMultisample flextGL.TexStorage2DMultisample +#define glUseProgramStages flextGL.UseProgramStages +#define glValidateProgramPipeline flextGL.ValidateProgramPipeline +#define glVertexAttribBinding flextGL.VertexAttribBinding +#define glVertexAttribFormat flextGL.VertexAttribFormat +#define glVertexAttribIFormat flextGL.VertexAttribIFormat +#define glVertexBindingDivisor flextGL.VertexBindingDivisor /* GL_ES_VERSION_3_2 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrier)(void); -#define glBlendBarrier flextglBlendBarrier -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparatei flextglBlendEquationSeparatei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum); -#define glBlendEquationi flextglBlendEquationi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparatei flextglBlendFuncSeparatei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum); -#define glBlendFunci flextglBlendFunci -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaski flextglColorMaski -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glCopyImageSubData flextglCopyImageSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallback)(GLDEBUGPROC, const void *); -#define glDebugMessageCallback flextglDebugMessageCallback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControl flextglDebugMessageControl -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsert flextglDebugMessageInsert -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint); -#define glDisablei flextglDisablei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); -#define glDrawElementsBaseVertex flextglDrawElementsBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); -#define glDrawElementsInstancedBaseVertex flextglDrawElementsInstancedBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); -#define glDrawRangeElementsBaseVertex flextglDrawRangeElementsBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint); -#define glEnablei flextglEnablei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture flextglFramebufferTexture -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLog flextglGetDebugMessageLog -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void); -#define glGetGraphicsResetStatus flextglGetGraphicsResetStatus -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabel flextglGetObjectLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabel flextglGetObjectPtrLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerv)(GLenum, void **); -#define glGetPointerv flextglGetPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIiv flextglGetSamplerParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuiv flextglGetSamplerParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *); -#define glGetTexParameterIiv flextglGetTexParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuiv flextglGetTexParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfv flextglGetnUniformfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformiv)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformiv flextglGetnUniformiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuiv flextglGetnUniformuiv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint); -#define glIsEnabledi flextglIsEnabledi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShading)(GLfloat); -#define glMinSampleShading flextglMinSampleShading -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabel flextglObjectLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabel flextglObjectPtrLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint); -#define glPatchParameteri flextglPatchParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void); -#define glPopDebugGroup flextglPopDebugGroup -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBox)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); -#define glPrimitiveBoundingBox flextglPrimitiveBoundingBox -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroup flextglPushDebugGroup -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixels flextglReadnPixels -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIiv)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIiv flextglSamplerParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuiv)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuiv flextglSamplerParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBuffer)(GLenum, GLenum, GLuint); -#define glTexBuffer flextglTexBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTexBufferRange flextglTexBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIiv)(GLenum, GLenum, const GLint *); -#define glTexParameterIiv flextglTexParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuiv)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuiv flextglTexParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexStorage3DMultisample flextglTexStorage3DMultisample +#define glBlendBarrier flextGL.BlendBarrier +#define glBlendEquationSeparatei flextGL.BlendEquationSeparatei +#define glBlendEquationi flextGL.BlendEquationi +#define glBlendFuncSeparatei flextGL.BlendFuncSeparatei +#define glBlendFunci flextGL.BlendFunci +#define glColorMaski flextGL.ColorMaski +#define glCopyImageSubData flextGL.CopyImageSubData +#define glDebugMessageCallback flextGL.DebugMessageCallback +#define glDebugMessageControl flextGL.DebugMessageControl +#define glDebugMessageInsert flextGL.DebugMessageInsert +#define glDisablei flextGL.Disablei +#define glDrawElementsBaseVertex flextGL.DrawElementsBaseVertex +#define glDrawElementsInstancedBaseVertex flextGL.DrawElementsInstancedBaseVertex +#define glDrawRangeElementsBaseVertex flextGL.DrawRangeElementsBaseVertex +#define glEnablei flextGL.Enablei +#define glFramebufferTexture flextGL.FramebufferTexture +#define glGetDebugMessageLog flextGL.GetDebugMessageLog +#define glGetGraphicsResetStatus flextGL.GetGraphicsResetStatus +#define glGetObjectLabel flextGL.GetObjectLabel +#define glGetObjectPtrLabel flextGL.GetObjectPtrLabel +#define glGetPointerv flextGL.GetPointerv +#define glGetSamplerParameterIiv flextGL.GetSamplerParameterIiv +#define glGetSamplerParameterIuiv flextGL.GetSamplerParameterIuiv +#define glGetTexParameterIiv flextGL.GetTexParameterIiv +#define glGetTexParameterIuiv flextGL.GetTexParameterIuiv +#define glGetnUniformfv flextGL.GetnUniformfv +#define glGetnUniformiv flextGL.GetnUniformiv +#define glGetnUniformuiv flextGL.GetnUniformuiv +#define glIsEnabledi flextGL.IsEnabledi +#define glMinSampleShading flextGL.MinSampleShading +#define glObjectLabel flextGL.ObjectLabel +#define glObjectPtrLabel flextGL.ObjectPtrLabel +#define glPatchParameteri flextGL.PatchParameteri +#define glPopDebugGroup flextGL.PopDebugGroup +#define glPrimitiveBoundingBox flextGL.PrimitiveBoundingBox +#define glPushDebugGroup flextGL.PushDebugGroup +#define glReadnPixels flextGL.ReadnPixels +#define glSamplerParameterIiv flextGL.SamplerParameterIiv +#define glSamplerParameterIuiv flextGL.SamplerParameterIuiv +#define glTexBuffer flextGL.TexBuffer +#define glTexBufferRange flextGL.TexBufferRange +#define glTexParameterIiv flextGL.TexParameterIiv +#define glTexParameterIuiv flextGL.TexParameterIuiv +#define glTexStorage3DMultisample flextGL.TexStorage3DMultisample /* GL_EXT_copy_image */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glCopyImageSubDataEXT flextglCopyImageSubDataEXT +#define glCopyImageSubDataEXT flextGL.CopyImageSubDataEXT /* GL_EXT_debug_label */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelEXT flextglGetObjectLabelEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); -#define glLabelObjectEXT flextglLabelObjectEXT +#define glGetObjectLabelEXT flextGL.GetObjectLabelEXT +#define glLabelObjectEXT flextGL.LabelObjectEXT /* GL_EXT_debug_marker */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *); -#define glInsertEventMarkerEXT flextglInsertEventMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void); -#define glPopGroupMarkerEXT flextglPopGroupMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *); -#define glPushGroupMarkerEXT flextglPushGroupMarkerEXT +#define glInsertEventMarkerEXT flextGL.InsertEventMarkerEXT +#define glPopGroupMarkerEXT flextGL.PopGroupMarkerEXT +#define glPushGroupMarkerEXT flextGL.PushGroupMarkerEXT /* GL_EXT_disjoint_timer_query */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint); -#define glBeginQueryEXT flextglBeginQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *); -#define glDeleteQueriesEXT flextglDeleteQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum); -#define glEndQueryEXT flextglEndQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *); -#define glGenQueriesEXT flextglGenQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *); -#define glGetInteger64vEXT flextglGetInteger64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); -#define glGetQueryObjecti64vEXT flextglGetQueryObjecti64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *); -#define glGetQueryObjectivEXT flextglGetQueryObjectivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); -#define glGetQueryObjectui64vEXT flextglGetQueryObjectui64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); -#define glGetQueryObjectuivEXT flextglGetQueryObjectuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *); -#define glGetQueryivEXT flextglGetQueryivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint); -#define glIsQueryEXT flextglIsQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum); -#define glQueryCounterEXT flextglQueryCounterEXT +#define glBeginQueryEXT flextGL.BeginQueryEXT +#define glDeleteQueriesEXT flextGL.DeleteQueriesEXT +#define glEndQueryEXT flextGL.EndQueryEXT +#define glGenQueriesEXT flextGL.GenQueriesEXT +#define glGetInteger64vEXT flextGL.GetInteger64vEXT +#define glGetQueryObjecti64vEXT flextGL.GetQueryObjecti64vEXT +#define glGetQueryObjectivEXT flextGL.GetQueryObjectivEXT +#define glGetQueryObjectui64vEXT flextGL.GetQueryObjectui64vEXT +#define glGetQueryObjectuivEXT flextGL.GetQueryObjectuivEXT +#define glGetQueryivEXT flextGL.GetQueryivEXT +#define glIsQueryEXT flextGL.IsQueryEXT +#define glQueryCounterEXT flextGL.QueryCounterEXT /* GL_EXT_draw_buffers_indexed */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparateiEXT flextglBlendEquationSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum); -#define glBlendEquationiEXT flextglBlendEquationiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparateiEXT flextglBlendFuncSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum); -#define glBlendFunciEXT flextglBlendFunciEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaskiEXT flextglColorMaskiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint); -#define glDisableiEXT flextglDisableiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint); -#define glEnableiEXT flextglEnableiEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint); -#define glIsEnablediEXT flextglIsEnablediEXT +#define glBlendEquationSeparateiEXT flextGL.BlendEquationSeparateiEXT +#define glBlendEquationiEXT flextGL.BlendEquationiEXT +#define glBlendFuncSeparateiEXT flextGL.BlendFuncSeparateiEXT +#define glBlendFunciEXT flextGL.BlendFunciEXT +#define glColorMaskiEXT flextGL.ColorMaskiEXT +#define glDisableiEXT flextGL.DisableiEXT +#define glEnableiEXT flextGL.EnableiEXT +#define glIsEnablediEXT flextGL.IsEnablediEXT /* GL_EXT_geometry_shader */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint); -#define glFramebufferTextureEXT flextglFramebufferTextureEXT +#define glFramebufferTextureEXT flextGL.FramebufferTextureEXT /* GL_EXT_multi_draw_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); -#define glMultiDrawArraysEXT flextglMultiDrawArraysEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); -#define glMultiDrawElementsEXT flextglMultiDrawElementsEXT +#define glMultiDrawArraysEXT flextGL.MultiDrawArraysEXT +#define glMultiDrawElementsEXT flextGL.MultiDrawElementsEXT /* GL_EXT_multisampled_render_to_texture */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); -#define glFramebufferTexture2DMultisampleEXT flextglFramebufferTexture2DMultisampleEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleEXT flextglRenderbufferStorageMultisampleEXT +#define glFramebufferTexture2DMultisampleEXT flextGL.FramebufferTexture2DMultisampleEXT +#define glRenderbufferStorageMultisampleEXT flextGL.RenderbufferStorageMultisampleEXT /* GL_EXT_polygon_offset_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); -#define glPolygonOffsetClampEXT flextglPolygonOffsetClampEXT +#define glPolygonOffsetClampEXT flextGL.PolygonOffsetClampEXT /* GL_EXT_primitive_bounding_box */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); -#define glPrimitiveBoundingBoxEXT flextglPrimitiveBoundingBoxEXT +#define glPrimitiveBoundingBoxEXT flextGL.PrimitiveBoundingBoxEXT /* GL_EXT_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void); -#define glGetGraphicsResetStatusEXT flextglGetGraphicsResetStatusEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvEXT flextglGetnUniformfvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivEXT flextglGetnUniformivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsEXT flextglReadnPixelsEXT +#define glGetGraphicsResetStatusEXT flextGL.GetGraphicsResetStatusEXT +#define glGetnUniformfvEXT flextGL.GetnUniformfvEXT +#define glGetnUniformivEXT flextGL.GetnUniformivEXT +#define glReadnPixelsEXT flextGL.ReadnPixelsEXT /* GL_EXT_separate_shader_objects */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint); -#define glActiveShaderProgramEXT flextglActiveShaderProgramEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint); -#define glBindProgramPipelineEXT flextglBindProgramPipelineEXT -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); -#define glCreateShaderProgramvEXT flextglCreateShaderProgramvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *); -#define glDeleteProgramPipelinesEXT flextglDeleteProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *); -#define glGenProgramPipelinesEXT flextglGenProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLogEXT flextglGetProgramPipelineInfoLogEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineivEXT flextglGetProgramPipelineivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint); -#define glIsProgramPipelineEXT flextglIsProgramPipelineEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint); -#define glProgramParameteriEXT flextglProgramParameteriEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat); -#define glProgramUniform1fEXT flextglProgramUniform1fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fvEXT flextglProgramUniform1fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint); -#define glProgramUniform1iEXT flextglProgramUniform1iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1ivEXT flextglProgramUniform1ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiEXT)(GLuint, GLint, GLuint); -#define glProgramUniform1uiEXT flextglProgramUniform1uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform1uivEXT flextglProgramUniform1uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2fEXT flextglProgramUniform2fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fvEXT flextglProgramUniform2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2iEXT flextglProgramUniform2iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2ivEXT flextglProgramUniform2ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint); -#define glProgramUniform2uiEXT flextglProgramUniform2uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform2uivEXT flextglProgramUniform2uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3fEXT flextglProgramUniform3fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fvEXT flextglProgramUniform3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3iEXT flextglProgramUniform3iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3ivEXT flextglProgramUniform3ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint); -#define glProgramUniform3uiEXT flextglProgramUniform3uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform3uivEXT flextglProgramUniform3uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4fEXT flextglProgramUniform4fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fvEXT flextglProgramUniform4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4iEXT flextglProgramUniform4iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4ivEXT flextglProgramUniform4ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); -#define glProgramUniform4uiEXT flextglProgramUniform4uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform4uivEXT flextglProgramUniform4uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fvEXT flextglProgramUniformMatrix2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x3fvEXT flextglProgramUniformMatrix2x3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x4fvEXT flextglProgramUniformMatrix2x4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fvEXT flextglProgramUniformMatrix3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x2fvEXT flextglProgramUniformMatrix3x2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x4fvEXT flextglProgramUniformMatrix3x4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fvEXT flextglProgramUniformMatrix4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x2fvEXT flextglProgramUniformMatrix4x2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x3fvEXT flextglProgramUniformMatrix4x3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint); -#define glUseProgramStagesEXT flextglUseProgramStagesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint); -#define glValidateProgramPipelineEXT flextglValidateProgramPipelineEXT +#define glActiveShaderProgramEXT flextGL.ActiveShaderProgramEXT +#define glBindProgramPipelineEXT flextGL.BindProgramPipelineEXT +#define glCreateShaderProgramvEXT flextGL.CreateShaderProgramvEXT +#define glDeleteProgramPipelinesEXT flextGL.DeleteProgramPipelinesEXT +#define glGenProgramPipelinesEXT flextGL.GenProgramPipelinesEXT +#define glGetProgramPipelineInfoLogEXT flextGL.GetProgramPipelineInfoLogEXT +#define glGetProgramPipelineivEXT flextGL.GetProgramPipelineivEXT +#define glIsProgramPipelineEXT flextGL.IsProgramPipelineEXT +#define glProgramParameteriEXT flextGL.ProgramParameteriEXT +#define glProgramUniform1fEXT flextGL.ProgramUniform1fEXT +#define glProgramUniform1fvEXT flextGL.ProgramUniform1fvEXT +#define glProgramUniform1iEXT flextGL.ProgramUniform1iEXT +#define glProgramUniform1ivEXT flextGL.ProgramUniform1ivEXT +#define glProgramUniform1uiEXT flextGL.ProgramUniform1uiEXT +#define glProgramUniform1uivEXT flextGL.ProgramUniform1uivEXT +#define glProgramUniform2fEXT flextGL.ProgramUniform2fEXT +#define glProgramUniform2fvEXT flextGL.ProgramUniform2fvEXT +#define glProgramUniform2iEXT flextGL.ProgramUniform2iEXT +#define glProgramUniform2ivEXT flextGL.ProgramUniform2ivEXT +#define glProgramUniform2uiEXT flextGL.ProgramUniform2uiEXT +#define glProgramUniform2uivEXT flextGL.ProgramUniform2uivEXT +#define glProgramUniform3fEXT flextGL.ProgramUniform3fEXT +#define glProgramUniform3fvEXT flextGL.ProgramUniform3fvEXT +#define glProgramUniform3iEXT flextGL.ProgramUniform3iEXT +#define glProgramUniform3ivEXT flextGL.ProgramUniform3ivEXT +#define glProgramUniform3uiEXT flextGL.ProgramUniform3uiEXT +#define glProgramUniform3uivEXT flextGL.ProgramUniform3uivEXT +#define glProgramUniform4fEXT flextGL.ProgramUniform4fEXT +#define glProgramUniform4fvEXT flextGL.ProgramUniform4fvEXT +#define glProgramUniform4iEXT flextGL.ProgramUniform4iEXT +#define glProgramUniform4ivEXT flextGL.ProgramUniform4ivEXT +#define glProgramUniform4uiEXT flextGL.ProgramUniform4uiEXT +#define glProgramUniform4uivEXT flextGL.ProgramUniform4uivEXT +#define glProgramUniformMatrix2fvEXT flextGL.ProgramUniformMatrix2fvEXT +#define glProgramUniformMatrix2x3fvEXT flextGL.ProgramUniformMatrix2x3fvEXT +#define glProgramUniformMatrix2x4fvEXT flextGL.ProgramUniformMatrix2x4fvEXT +#define glProgramUniformMatrix3fvEXT flextGL.ProgramUniformMatrix3fvEXT +#define glProgramUniformMatrix3x2fvEXT flextGL.ProgramUniformMatrix3x2fvEXT +#define glProgramUniformMatrix3x4fvEXT flextGL.ProgramUniformMatrix3x4fvEXT +#define glProgramUniformMatrix4fvEXT flextGL.ProgramUniformMatrix4fvEXT +#define glProgramUniformMatrix4x2fvEXT flextGL.ProgramUniformMatrix4x2fvEXT +#define glProgramUniformMatrix4x3fvEXT flextGL.ProgramUniformMatrix4x3fvEXT +#define glUseProgramStagesEXT flextGL.UseProgramStagesEXT +#define glValidateProgramPipelineEXT flextGL.ValidateProgramPipelineEXT /* GL_EXT_tessellation_shader */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteriEXT)(GLenum, GLint); -#define glPatchParameteriEXT flextglPatchParameteriEXT +#define glPatchParameteriEXT flextGL.PatchParameteriEXT /* GL_EXT_texture_border_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIivEXT flextglGetSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuivEXT flextglGetSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *); -#define glGetTexParameterIivEXT flextglGetTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuivEXT flextglGetTexParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIivEXT flextglSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuivEXT flextglSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *); -#define glTexParameterIivEXT flextglTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuivEXT flextglTexParameterIuivEXT +#define glGetSamplerParameterIivEXT flextGL.GetSamplerParameterIivEXT +#define glGetSamplerParameterIuivEXT flextGL.GetSamplerParameterIuivEXT +#define glGetTexParameterIivEXT flextGL.GetTexParameterIivEXT +#define glGetTexParameterIuivEXT flextGL.GetTexParameterIuivEXT +#define glSamplerParameterIivEXT flextGL.SamplerParameterIivEXT +#define glSamplerParameterIuivEXT flextGL.SamplerParameterIuivEXT +#define glTexParameterIivEXT flextGL.TexParameterIivEXT +#define glTexParameterIuivEXT flextGL.TexParameterIuivEXT /* GL_EXT_texture_buffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferEXT)(GLenum, GLenum, GLuint); -#define glTexBufferEXT flextglTexBufferEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTexBufferRangeEXT flextglTexBufferRangeEXT +#define glTexBufferEXT flextGL.TexBufferEXT +#define glTexBufferRangeEXT flextGL.TexBufferRangeEXT /* GL_KHR_blend_equation_advanced */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void); -#define glBlendBarrierKHR flextglBlendBarrierKHR +#define glBlendBarrierKHR flextGL.BlendBarrierKHR /* GL_KHR_debug */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); -#define glDebugMessageCallbackKHR flextglDebugMessageCallbackKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControlKHR flextglDebugMessageControlKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsertKHR flextglDebugMessageInsertKHR -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLogKHR flextglGetDebugMessageLogKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelKHR flextglGetObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabelKHR flextglGetObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **); -#define glGetPointervKHR flextglGetPointervKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabelKHR flextglObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabelKHR flextglObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void); -#define glPopDebugGroupKHR flextglPopDebugGroupKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroupKHR flextglPushDebugGroupKHR +#define glDebugMessageCallbackKHR flextGL.DebugMessageCallbackKHR +#define glDebugMessageControlKHR flextGL.DebugMessageControlKHR +#define glDebugMessageInsertKHR flextGL.DebugMessageInsertKHR +#define glGetDebugMessageLogKHR flextGL.GetDebugMessageLogKHR +#define glGetObjectLabelKHR flextGL.GetObjectLabelKHR +#define glGetObjectPtrLabelKHR flextGL.GetObjectPtrLabelKHR +#define glGetPointervKHR flextGL.GetPointervKHR +#define glObjectLabelKHR flextGL.ObjectLabelKHR +#define glObjectPtrLabelKHR flextGL.ObjectPtrLabelKHR +#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR +#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR /* GL_KHR_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void); -#define glGetGraphicsResetStatusKHR flextglGetGraphicsResetStatusKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvKHR flextglGetnUniformfvKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivKHR flextglGetnUniformivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuivKHR flextglGetnUniformuivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsKHR flextglReadnPixelsKHR +#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR +#define glGetnUniformfvKHR flextGL.GetnUniformfvKHR +#define glGetnUniformivKHR flextGL.GetnUniformivKHR +#define glGetnUniformuivKHR flextGL.GetnUniformuivKHR +#define glReadnPixelsKHR flextGL.ReadnPixelsKHR /* GL_NV_polygon_mode */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum); -#define glPolygonModeNV flextglPolygonModeNV +#define glPolygonModeNV flextGL.PolygonModeNV /* GL_OES_mapbuffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **); -#define glGetBufferPointervOES flextglGetBufferPointervOES -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum); -#define glMapBufferOES flextglMapBufferOES -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum); -#define glUnmapBufferOES flextglUnmapBufferOES +#define glGetBufferPointervOES flextGL.GetBufferPointervOES +#define glMapBufferOES flextGL.MapBufferOES +#define glUnmapBufferOES flextGL.UnmapBufferOES /* GL_OES_sample_shading */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShadingOES)(GLfloat); -#define glMinSampleShadingOES flextglMinSampleShadingOES +#define glMinSampleShadingOES flextGL.MinSampleShadingOES /* GL_OES_texture_storage_multisample_2d_array */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexStorage3DMultisampleOES flextglTexStorage3DMultisampleOES +#define glTexStorage3DMultisampleOES flextGL.TexStorage3DMultisampleOES /* GL_OVR_multiview */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei); -#define glFramebufferTextureMultiviewOVR flextglFramebufferTextureMultiviewOVR +#define glFramebufferTextureMultiviewOVR flextGL.FramebufferTextureMultiviewOVR #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGL.h.template b/src/MagnumExternal/OpenGL/GLES3/flextGL.h.template index de3e5ec5f..27118ce2b 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGL.h.template +++ b/src/MagnumExternal/OpenGL/GLES3/flextGL.h.template @@ -105,22 +105,43 @@ void flextGLInit(Magnum::GL::Context& context); /* Function prototypes */ @for cat,funcs in functions: -@if funcs: +@if funcs and cat in ['ES_VERSION_2_0', 'ES_VERSION_3_0']: /* GL_@cat */ - @if cat in ['ES_VERSION_2_0', 'ES_VERSION_3_0']: @for f in funcs: GLAPI FLEXTGL_EXPORT @f.returntype APIENTRY gl@f.name\ (@f.param_type_list_string()); @end - @else: - @for f in funcs: -GLAPI FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()); -#define gl@f.name flextgl@f.name - @end +@end +@end + +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + @for cat,funcs in functions: + @if funcs and cat not in ['ES_VERSION_2_0', 'ES_VERSION_3_0']: + + /* GL_@cat */ + + @for f in funcs: + @f.returntype\ +(APIENTRY *@f.name)(@f.param_type_list_string()); + @end @end + @end +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; +@for cat,funcs in functions: +@if funcs and cat not in ['ES_VERSION_2_0', 'ES_VERSION_3_0']: + +/* GL_@cat */ + +@for f in funcs: +#define gl@f.name flextGL.@f.name +@end @end @end diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp index ca5f6dd73..4b6b90936 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp @@ -34,280 +34,280 @@ void flextGLInit(Magnum::GL::Context&) { Magnum::Platform::Implementation::OpenGLFunctionLoader loader; /* GL_ES_VERSION_3_1 */ - flextglActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); - flextglBindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); - flextglBindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); - flextglBindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); - flextglCreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); - flextglDeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); - flextglDispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); - flextglDispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); - flextglDrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); - flextglDrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); - flextglFramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); - flextglGenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); - flextglGetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); - flextglGetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); - flextglGetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); - flextglGetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); - flextglGetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); - flextglGetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); - flextglGetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); - flextglGetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); - flextglGetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); - flextglGetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); - flextglGetTexLevelParameterfv = reinterpret_cast(loader.load("glGetTexLevelParameterfv")); - flextglGetTexLevelParameteriv = reinterpret_cast(loader.load("glGetTexLevelParameteriv")); - flextglIsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); - flextglMemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); - flextglMemoryBarrierByRegion = reinterpret_cast(loader.load("glMemoryBarrierByRegion")); - flextglProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); - flextglProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); - flextglProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); - flextglProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); - flextglProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); - flextglProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); - flextglProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); - flextglProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); - flextglProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); - flextglProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); - flextglProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); - flextglProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); - flextglProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); - flextglProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); - flextglProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); - flextglProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); - flextglProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); - flextglProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); - flextglProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); - flextglProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); - flextglProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); - flextglProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); - flextglProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); - flextglProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); - flextglProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); - flextglProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); - flextglProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); - flextglProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); - flextglProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); - flextglProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); - flextglProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); - flextglProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); - flextglProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); - flextglSampleMaski = reinterpret_cast(loader.load("glSampleMaski")); - flextglTexStorage2DMultisample = reinterpret_cast(loader.load("glTexStorage2DMultisample")); - flextglUseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); - flextglValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); - flextglVertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); - flextglVertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); - flextglVertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); - flextglVertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); + flextGL.ActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); + flextGL.BindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); + flextGL.BindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); + flextGL.BindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); + flextGL.CreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); + flextGL.DeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); + flextGL.DispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); + flextGL.DispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); + flextGL.DrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); + flextGL.DrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); + flextGL.FramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); + flextGL.GenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); + flextGL.GetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); + flextGL.GetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); + flextGL.GetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); + flextGL.GetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); + flextGL.GetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); + flextGL.GetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); + flextGL.GetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); + flextGL.GetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); + flextGL.GetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); + flextGL.GetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); + flextGL.GetTexLevelParameterfv = reinterpret_cast(loader.load("glGetTexLevelParameterfv")); + flextGL.GetTexLevelParameteriv = reinterpret_cast(loader.load("glGetTexLevelParameteriv")); + flextGL.IsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); + flextGL.MemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); + flextGL.MemoryBarrierByRegion = reinterpret_cast(loader.load("glMemoryBarrierByRegion")); + flextGL.ProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); + flextGL.ProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); + flextGL.ProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); + flextGL.ProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); + flextGL.ProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); + flextGL.ProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); + flextGL.ProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); + flextGL.ProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); + flextGL.ProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); + flextGL.ProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); + flextGL.ProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); + flextGL.ProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); + flextGL.ProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); + flextGL.ProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); + flextGL.ProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); + flextGL.ProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); + flextGL.ProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); + flextGL.ProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); + flextGL.ProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); + flextGL.ProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); + flextGL.ProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); + flextGL.ProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); + flextGL.ProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); + flextGL.ProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); + flextGL.ProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); + flextGL.ProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); + flextGL.ProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); + flextGL.ProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); + flextGL.ProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); + flextGL.ProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); + flextGL.ProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); + flextGL.ProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); + flextGL.ProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); + flextGL.SampleMaski = reinterpret_cast(loader.load("glSampleMaski")); + flextGL.TexStorage2DMultisample = reinterpret_cast(loader.load("glTexStorage2DMultisample")); + flextGL.UseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); + flextGL.ValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); + flextGL.VertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); + flextGL.VertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); + flextGL.VertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); + flextGL.VertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); /* GL_ES_VERSION_3_2 */ - flextglBlendBarrier = reinterpret_cast(loader.load("glBlendBarrier")); - flextglBlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); - flextglBlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); - flextglBlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); - flextglBlendFunci = reinterpret_cast(loader.load("glBlendFunci")); - flextglColorMaski = reinterpret_cast(loader.load("glColorMaski")); - flextglCopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); - flextglDebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); - flextglDebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); - flextglDebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); - flextglDisablei = reinterpret_cast(loader.load("glDisablei")); - flextglDrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); - flextglDrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); - flextglDrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); - flextglEnablei = reinterpret_cast(loader.load("glEnablei")); - flextglFramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); - flextglGetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); - flextglGetGraphicsResetStatus = reinterpret_cast(loader.load("glGetGraphicsResetStatus")); - flextglGetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); - flextglGetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); - flextglGetPointerv = reinterpret_cast(loader.load("glGetPointerv")); - flextglGetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); - flextglGetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); - flextglGetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); - flextglGetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); - flextglGetnUniformfv = reinterpret_cast(loader.load("glGetnUniformfv")); - flextglGetnUniformiv = reinterpret_cast(loader.load("glGetnUniformiv")); - flextglGetnUniformuiv = reinterpret_cast(loader.load("glGetnUniformuiv")); - flextglIsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); - flextglMinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); - flextglObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); - flextglObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); - flextglPatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); - flextglPopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); - flextglPrimitiveBoundingBox = reinterpret_cast(loader.load("glPrimitiveBoundingBox")); - flextglPushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); - flextglReadnPixels = reinterpret_cast(loader.load("glReadnPixels")); - flextglSamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); - flextglSamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); - flextglTexBuffer = reinterpret_cast(loader.load("glTexBuffer")); - flextglTexBufferRange = reinterpret_cast(loader.load("glTexBufferRange")); - flextglTexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); - flextglTexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); - flextglTexStorage3DMultisample = reinterpret_cast(loader.load("glTexStorage3DMultisample")); + flextGL.BlendBarrier = reinterpret_cast(loader.load("glBlendBarrier")); + flextGL.BlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); + flextGL.BlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); + flextGL.BlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); + flextGL.BlendFunci = reinterpret_cast(loader.load("glBlendFunci")); + flextGL.ColorMaski = reinterpret_cast(loader.load("glColorMaski")); + flextGL.CopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); + flextGL.DebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); + flextGL.DebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); + flextGL.DebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); + flextGL.Disablei = reinterpret_cast(loader.load("glDisablei")); + flextGL.DrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); + flextGL.DrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); + flextGL.DrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); + flextGL.Enablei = reinterpret_cast(loader.load("glEnablei")); + flextGL.FramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); + flextGL.GetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); + flextGL.GetGraphicsResetStatus = reinterpret_cast(loader.load("glGetGraphicsResetStatus")); + flextGL.GetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); + flextGL.GetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); + flextGL.GetPointerv = reinterpret_cast(loader.load("glGetPointerv")); + flextGL.GetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); + flextGL.GetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); + flextGL.GetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); + flextGL.GetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); + flextGL.GetnUniformfv = reinterpret_cast(loader.load("glGetnUniformfv")); + flextGL.GetnUniformiv = reinterpret_cast(loader.load("glGetnUniformiv")); + flextGL.GetnUniformuiv = reinterpret_cast(loader.load("glGetnUniformuiv")); + flextGL.IsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); + flextGL.MinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); + flextGL.ObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); + flextGL.ObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); + flextGL.PatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); + flextGL.PopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); + flextGL.PrimitiveBoundingBox = reinterpret_cast(loader.load("glPrimitiveBoundingBox")); + flextGL.PushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); + flextGL.ReadnPixels = reinterpret_cast(loader.load("glReadnPixels")); + flextGL.SamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); + flextGL.SamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); + flextGL.TexBuffer = reinterpret_cast(loader.load("glTexBuffer")); + flextGL.TexBufferRange = reinterpret_cast(loader.load("glTexBufferRange")); + flextGL.TexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); + flextGL.TexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); + flextGL.TexStorage3DMultisample = reinterpret_cast(loader.load("glTexStorage3DMultisample")); /* GL_EXT_copy_image */ - flextglCopyImageSubDataEXT = reinterpret_cast(loader.load("glCopyImageSubDataEXT")); + flextGL.CopyImageSubDataEXT = reinterpret_cast(loader.load("glCopyImageSubDataEXT")); /* GL_EXT_debug_label */ - flextglGetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); - flextglLabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); + flextGL.GetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); + flextGL.LabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); /* GL_EXT_debug_marker */ - flextglInsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); - flextglPopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); - flextglPushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); + flextGL.InsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); + flextGL.PopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); + flextGL.PushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); /* GL_EXT_disjoint_timer_query */ - flextglBeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); - flextglDeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); - flextglEndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); - flextglGenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); - flextglGetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); - flextglGetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); - flextglGetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); - flextglGetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); - flextglGetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); - flextglGetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); - flextglIsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); - flextglQueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); + flextGL.BeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); + flextGL.DeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); + flextGL.EndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); + flextGL.GenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); + flextGL.GetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); + flextGL.GetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); + flextGL.GetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); + flextGL.GetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); + flextGL.GetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); + flextGL.GetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); + flextGL.IsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); + flextGL.QueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); /* GL_EXT_draw_buffers_indexed */ - flextglBlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); - flextglBlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); - flextglBlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); - flextglBlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); - flextglColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); - flextglDisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); - flextglEnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); - flextglIsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); + flextGL.BlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); + flextGL.BlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); + flextGL.BlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); + flextGL.BlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); + flextGL.ColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); + flextGL.DisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); + flextGL.EnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); + flextGL.IsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); /* GL_EXT_geometry_shader */ - flextglFramebufferTextureEXT = reinterpret_cast(loader.load("glFramebufferTextureEXT")); + flextGL.FramebufferTextureEXT = reinterpret_cast(loader.load("glFramebufferTextureEXT")); /* GL_EXT_multi_draw_arrays */ - flextglMultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); - flextglMultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); + flextGL.MultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); + flextGL.MultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); /* GL_EXT_multisampled_render_to_texture */ - flextglFramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); - flextglRenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); + flextGL.FramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); + flextGL.RenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); /* GL_EXT_polygon_offset_clamp */ - flextglPolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); + flextGL.PolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); /* GL_EXT_primitive_bounding_box */ - flextglPrimitiveBoundingBoxEXT = reinterpret_cast(loader.load("glPrimitiveBoundingBoxEXT")); + flextGL.PrimitiveBoundingBoxEXT = reinterpret_cast(loader.load("glPrimitiveBoundingBoxEXT")); /* GL_EXT_robustness */ - flextglGetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); - flextglGetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); - flextglGetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); - flextglReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); + flextGL.GetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); + flextGL.GetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); + flextGL.GetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); + flextGL.ReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); /* GL_EXT_separate_shader_objects */ - flextglActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); - flextglBindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); - flextglCreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); - flextglDeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); - flextglGenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); - flextglGetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); - flextglGetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); - flextglIsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); - flextglProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); - flextglProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); - flextglProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); - flextglProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); - flextglProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); - flextglProgramUniform1uiEXT = reinterpret_cast(loader.load("glProgramUniform1uiEXT")); - flextglProgramUniform1uivEXT = reinterpret_cast(loader.load("glProgramUniform1uivEXT")); - flextglProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); - flextglProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); - flextglProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); - flextglProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); - flextglProgramUniform2uiEXT = reinterpret_cast(loader.load("glProgramUniform2uiEXT")); - flextglProgramUniform2uivEXT = reinterpret_cast(loader.load("glProgramUniform2uivEXT")); - flextglProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); - flextglProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); - flextglProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); - flextglProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); - flextglProgramUniform3uiEXT = reinterpret_cast(loader.load("glProgramUniform3uiEXT")); - flextglProgramUniform3uivEXT = reinterpret_cast(loader.load("glProgramUniform3uivEXT")); - flextglProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); - flextglProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); - flextglProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); - flextglProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); - flextglProgramUniform4uiEXT = reinterpret_cast(loader.load("glProgramUniform4uiEXT")); - flextglProgramUniform4uivEXT = reinterpret_cast(loader.load("glProgramUniform4uivEXT")); - flextglProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); - flextglProgramUniformMatrix2x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fvEXT")); - flextglProgramUniformMatrix2x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fvEXT")); - flextglProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); - flextglProgramUniformMatrix3x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fvEXT")); - flextglProgramUniformMatrix3x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fvEXT")); - flextglProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); - flextglProgramUniformMatrix4x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fvEXT")); - flextglProgramUniformMatrix4x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fvEXT")); - flextglUseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); - flextglValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); + flextGL.ActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); + flextGL.BindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); + flextGL.CreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); + flextGL.DeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); + flextGL.GenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); + flextGL.GetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); + flextGL.GetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); + flextGL.IsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); + flextGL.ProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); + flextGL.ProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); + flextGL.ProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); + flextGL.ProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); + flextGL.ProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); + flextGL.ProgramUniform1uiEXT = reinterpret_cast(loader.load("glProgramUniform1uiEXT")); + flextGL.ProgramUniform1uivEXT = reinterpret_cast(loader.load("glProgramUniform1uivEXT")); + flextGL.ProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); + flextGL.ProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); + flextGL.ProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); + flextGL.ProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); + flextGL.ProgramUniform2uiEXT = reinterpret_cast(loader.load("glProgramUniform2uiEXT")); + flextGL.ProgramUniform2uivEXT = reinterpret_cast(loader.load("glProgramUniform2uivEXT")); + flextGL.ProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); + flextGL.ProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); + flextGL.ProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); + flextGL.ProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); + flextGL.ProgramUniform3uiEXT = reinterpret_cast(loader.load("glProgramUniform3uiEXT")); + flextGL.ProgramUniform3uivEXT = reinterpret_cast(loader.load("glProgramUniform3uivEXT")); + flextGL.ProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); + flextGL.ProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); + flextGL.ProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); + flextGL.ProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); + flextGL.ProgramUniform4uiEXT = reinterpret_cast(loader.load("glProgramUniform4uiEXT")); + flextGL.ProgramUniform4uivEXT = reinterpret_cast(loader.load("glProgramUniform4uivEXT")); + flextGL.ProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); + flextGL.ProgramUniformMatrix2x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fvEXT")); + flextGL.ProgramUniformMatrix2x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fvEXT")); + flextGL.ProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); + flextGL.ProgramUniformMatrix3x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fvEXT")); + flextGL.ProgramUniformMatrix3x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fvEXT")); + flextGL.ProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); + flextGL.ProgramUniformMatrix4x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fvEXT")); + flextGL.ProgramUniformMatrix4x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fvEXT")); + flextGL.UseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); + flextGL.ValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); /* GL_EXT_tessellation_shader */ - flextglPatchParameteriEXT = reinterpret_cast(loader.load("glPatchParameteriEXT")); + flextGL.PatchParameteriEXT = reinterpret_cast(loader.load("glPatchParameteriEXT")); /* GL_EXT_texture_border_clamp */ - flextglGetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); - flextglGetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); - flextglGetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); - flextglGetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); - flextglSamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); - flextglSamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); - flextglTexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); - flextglTexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); + flextGL.GetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); + flextGL.GetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); + flextGL.GetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); + flextGL.GetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); + flextGL.SamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); + flextGL.SamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); + flextGL.TexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); + flextGL.TexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); /* GL_EXT_texture_buffer */ - flextglTexBufferEXT = reinterpret_cast(loader.load("glTexBufferEXT")); - flextglTexBufferRangeEXT = reinterpret_cast(loader.load("glTexBufferRangeEXT")); + flextGL.TexBufferEXT = reinterpret_cast(loader.load("glTexBufferEXT")); + flextGL.TexBufferRangeEXT = reinterpret_cast(loader.load("glTexBufferRangeEXT")); /* GL_KHR_blend_equation_advanced */ - flextglBlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); + flextGL.BlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); /* GL_KHR_debug */ - flextglDebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); - flextglDebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); - flextglDebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); - flextglGetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); - flextglGetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); - flextglGetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); - flextglGetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); - flextglObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); - flextglObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); - flextglPopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); - flextglPushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); + flextGL.DebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); + flextGL.DebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); + flextGL.DebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); + flextGL.GetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); + flextGL.GetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); + flextGL.GetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); + flextGL.GetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); + flextGL.ObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); + flextGL.ObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); + flextGL.PopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); + flextGL.PushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); /* GL_KHR_robustness */ - flextglGetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); - flextglGetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); - flextglGetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); - flextglGetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); - flextglReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); + flextGL.GetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); + flextGL.GetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); + flextGL.GetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); + flextGL.GetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); + flextGL.ReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); /* GL_NV_polygon_mode */ - flextglPolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); + flextGL.PolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); /* GL_OES_mapbuffer */ - flextglGetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); - flextglMapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); - flextglUnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); + flextGL.GetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); + flextGL.MapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); + flextGL.UnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); /* GL_OES_sample_shading */ - flextglMinSampleShadingOES = reinterpret_cast(loader.load("glMinSampleShadingOES")); + flextGL.MinSampleShadingOES = reinterpret_cast(loader.load("glMinSampleShadingOES")); /* GL_OES_texture_storage_multisample_2d_array */ - flextglTexStorage3DMultisampleOES = reinterpret_cast(loader.load("glTexStorage3DMultisampleOES")); + flextGL.TexStorage3DMultisampleOES = reinterpret_cast(loader.load("glTexStorage3DMultisampleOES")); /* GL_OVR_multiview */ - flextglFramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glFramebufferTextureMultiviewOVR")); + flextGL.FramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glFramebufferTextureMultiviewOVR")); } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp.template b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp.template index 518eeed6b..35eb4e9c8 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp.template @@ -38,7 +38,7 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_@category */ @for f in funcs: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(loader.load("gl@f.name")); @end @end diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp index 3903ef80f..0e402a0e0 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp @@ -148,209 +148,209 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_EXT_copy_image */ #if GL_EXT_copy_image - flextglCopyImageSubDataEXT = reinterpret_cast(glCopyImageSubDataEXT); + flextGL.CopyImageSubDataEXT = reinterpret_cast(glCopyImageSubDataEXT); #endif /* GL_EXT_debug_label */ #if GL_EXT_debug_label - flextglGetObjectLabelEXT = reinterpret_cast(glGetObjectLabelEXT); - flextglLabelObjectEXT = reinterpret_cast(glLabelObjectEXT); + flextGL.GetObjectLabelEXT = reinterpret_cast(glGetObjectLabelEXT); + flextGL.LabelObjectEXT = reinterpret_cast(glLabelObjectEXT); #endif /* GL_EXT_debug_marker */ #if GL_EXT_debug_marker - flextglInsertEventMarkerEXT = reinterpret_cast(glInsertEventMarkerEXT); - flextglPopGroupMarkerEXT = reinterpret_cast(glPopGroupMarkerEXT); - flextglPushGroupMarkerEXT = reinterpret_cast(glPushGroupMarkerEXT); + flextGL.InsertEventMarkerEXT = reinterpret_cast(glInsertEventMarkerEXT); + flextGL.PopGroupMarkerEXT = reinterpret_cast(glPopGroupMarkerEXT); + flextGL.PushGroupMarkerEXT = reinterpret_cast(glPushGroupMarkerEXT); #endif /* GL_EXT_disjoint_timer_query */ #if GL_EXT_disjoint_timer_query - flextglBeginQueryEXT = reinterpret_cast(glBeginQueryEXT); - flextglDeleteQueriesEXT = reinterpret_cast(glDeleteQueriesEXT); - flextglEndQueryEXT = reinterpret_cast(glEndQueryEXT); - flextglGenQueriesEXT = reinterpret_cast(glGenQueriesEXT); - flextglGetInteger64vEXT = reinterpret_cast(glGetInteger64vEXT); - flextglGetQueryObjecti64vEXT = reinterpret_cast(glGetQueryObjecti64vEXT); - flextglGetQueryObjectivEXT = reinterpret_cast(glGetQueryObjectivEXT); - flextglGetQueryObjectui64vEXT = reinterpret_cast(glGetQueryObjectui64vEXT); - flextglGetQueryObjectuivEXT = reinterpret_cast(glGetQueryObjectuivEXT); - flextglGetQueryivEXT = reinterpret_cast(glGetQueryivEXT); - flextglIsQueryEXT = reinterpret_cast(glIsQueryEXT); - flextglQueryCounterEXT = reinterpret_cast(glQueryCounterEXT); + flextGL.BeginQueryEXT = reinterpret_cast(glBeginQueryEXT); + flextGL.DeleteQueriesEXT = reinterpret_cast(glDeleteQueriesEXT); + flextGL.EndQueryEXT = reinterpret_cast(glEndQueryEXT); + flextGL.GenQueriesEXT = reinterpret_cast(glGenQueriesEXT); + flextGL.GetInteger64vEXT = reinterpret_cast(glGetInteger64vEXT); + flextGL.GetQueryObjecti64vEXT = reinterpret_cast(glGetQueryObjecti64vEXT); + flextGL.GetQueryObjectivEXT = reinterpret_cast(glGetQueryObjectivEXT); + flextGL.GetQueryObjectui64vEXT = reinterpret_cast(glGetQueryObjectui64vEXT); + flextGL.GetQueryObjectuivEXT = reinterpret_cast(glGetQueryObjectuivEXT); + flextGL.GetQueryivEXT = reinterpret_cast(glGetQueryivEXT); + flextGL.IsQueryEXT = reinterpret_cast(glIsQueryEXT); + flextGL.QueryCounterEXT = reinterpret_cast(glQueryCounterEXT); #endif /* GL_EXT_draw_buffers_indexed */ #if GL_EXT_draw_buffers_indexed - flextglBlendEquationSeparateiEXT = reinterpret_cast(glBlendEquationSeparateiEXT); - flextglBlendEquationiEXT = reinterpret_cast(glBlendEquationiEXT); - flextglBlendFuncSeparateiEXT = reinterpret_cast(glBlendFuncSeparateiEXT); - flextglBlendFunciEXT = reinterpret_cast(glBlendFunciEXT); - flextglColorMaskiEXT = reinterpret_cast(glColorMaskiEXT); - flextglDisableiEXT = reinterpret_cast(glDisableiEXT); - flextglEnableiEXT = reinterpret_cast(glEnableiEXT); - flextglIsEnablediEXT = reinterpret_cast(glIsEnablediEXT); + flextGL.BlendEquationSeparateiEXT = reinterpret_cast(glBlendEquationSeparateiEXT); + flextGL.BlendEquationiEXT = reinterpret_cast(glBlendEquationiEXT); + flextGL.BlendFuncSeparateiEXT = reinterpret_cast(glBlendFuncSeparateiEXT); + flextGL.BlendFunciEXT = reinterpret_cast(glBlendFunciEXT); + flextGL.ColorMaskiEXT = reinterpret_cast(glColorMaskiEXT); + flextGL.DisableiEXT = reinterpret_cast(glDisableiEXT); + flextGL.EnableiEXT = reinterpret_cast(glEnableiEXT); + flextGL.IsEnablediEXT = reinterpret_cast(glIsEnablediEXT); #endif /* GL_EXT_geometry_shader */ #if GL_EXT_geometry_shader - flextglFramebufferTextureEXT = reinterpret_cast(glFramebufferTextureEXT); + flextGL.FramebufferTextureEXT = reinterpret_cast(glFramebufferTextureEXT); #endif /* GL_EXT_multi_draw_arrays */ #if GL_EXT_multi_draw_arrays - flextglMultiDrawArraysEXT = reinterpret_cast(glMultiDrawArraysEXT); - flextglMultiDrawElementsEXT = reinterpret_cast(glMultiDrawElementsEXT); + flextGL.MultiDrawArraysEXT = reinterpret_cast(glMultiDrawArraysEXT); + flextGL.MultiDrawElementsEXT = reinterpret_cast(glMultiDrawElementsEXT); #endif /* GL_EXT_multisampled_render_to_texture */ #if GL_EXT_multisampled_render_to_texture - flextglFramebufferTexture2DMultisampleEXT = reinterpret_cast(glFramebufferTexture2DMultisampleEXT); - flextglRenderbufferStorageMultisampleEXT = reinterpret_cast(glRenderbufferStorageMultisampleEXT); + flextGL.FramebufferTexture2DMultisampleEXT = reinterpret_cast(glFramebufferTexture2DMultisampleEXT); + flextGL.RenderbufferStorageMultisampleEXT = reinterpret_cast(glRenderbufferStorageMultisampleEXT); #endif /* GL_EXT_polygon_offset_clamp */ #if GL_EXT_polygon_offset_clamp - flextglPolygonOffsetClampEXT = reinterpret_cast(glPolygonOffsetClampEXT); + flextGL.PolygonOffsetClampEXT = reinterpret_cast(glPolygonOffsetClampEXT); #endif /* GL_EXT_primitive_bounding_box */ #if GL_EXT_primitive_bounding_box - flextglPrimitiveBoundingBoxEXT = reinterpret_cast(glPrimitiveBoundingBoxEXT); + flextGL.PrimitiveBoundingBoxEXT = reinterpret_cast(glPrimitiveBoundingBoxEXT); #endif /* GL_EXT_robustness */ #if GL_EXT_robustness - flextglGetGraphicsResetStatusEXT = reinterpret_cast(glGetGraphicsResetStatusEXT); - flextglGetnUniformfvEXT = reinterpret_cast(glGetnUniformfvEXT); - flextglGetnUniformivEXT = reinterpret_cast(glGetnUniformivEXT); - flextglReadnPixelsEXT = reinterpret_cast(glReadnPixelsEXT); + flextGL.GetGraphicsResetStatusEXT = reinterpret_cast(glGetGraphicsResetStatusEXT); + flextGL.GetnUniformfvEXT = reinterpret_cast(glGetnUniformfvEXT); + flextGL.GetnUniformivEXT = reinterpret_cast(glGetnUniformivEXT); + flextGL.ReadnPixelsEXT = reinterpret_cast(glReadnPixelsEXT); #endif /* GL_EXT_separate_shader_objects */ #if GL_EXT_separate_shader_objects - flextglActiveShaderProgramEXT = reinterpret_cast(glActiveShaderProgramEXT); - flextglBindProgramPipelineEXT = reinterpret_cast(glBindProgramPipelineEXT); - flextglCreateShaderProgramvEXT = reinterpret_cast(glCreateShaderProgramvEXT); - flextglDeleteProgramPipelinesEXT = reinterpret_cast(glDeleteProgramPipelinesEXT); - flextglGenProgramPipelinesEXT = reinterpret_cast(glGenProgramPipelinesEXT); - flextglGetProgramPipelineInfoLogEXT = reinterpret_cast(glGetProgramPipelineInfoLogEXT); - flextglGetProgramPipelineivEXT = reinterpret_cast(glGetProgramPipelineivEXT); - flextglIsProgramPipelineEXT = reinterpret_cast(glIsProgramPipelineEXT); - flextglProgramParameteriEXT = reinterpret_cast(glProgramParameteriEXT); - flextglProgramUniform1fEXT = reinterpret_cast(glProgramUniform1fEXT); - flextglProgramUniform1fvEXT = reinterpret_cast(glProgramUniform1fvEXT); - flextglProgramUniform1iEXT = reinterpret_cast(glProgramUniform1iEXT); - flextglProgramUniform1ivEXT = reinterpret_cast(glProgramUniform1ivEXT); - flextglProgramUniform1uiEXT = reinterpret_cast(glProgramUniform1uiEXT); - flextglProgramUniform1uivEXT = reinterpret_cast(glProgramUniform1uivEXT); - flextglProgramUniform2fEXT = reinterpret_cast(glProgramUniform2fEXT); - flextglProgramUniform2fvEXT = reinterpret_cast(glProgramUniform2fvEXT); - flextglProgramUniform2iEXT = reinterpret_cast(glProgramUniform2iEXT); - flextglProgramUniform2ivEXT = reinterpret_cast(glProgramUniform2ivEXT); - flextglProgramUniform2uiEXT = reinterpret_cast(glProgramUniform2uiEXT); - flextglProgramUniform2uivEXT = reinterpret_cast(glProgramUniform2uivEXT); - flextglProgramUniform3fEXT = reinterpret_cast(glProgramUniform3fEXT); - flextglProgramUniform3fvEXT = reinterpret_cast(glProgramUniform3fvEXT); - flextglProgramUniform3iEXT = reinterpret_cast(glProgramUniform3iEXT); - flextglProgramUniform3ivEXT = reinterpret_cast(glProgramUniform3ivEXT); - flextglProgramUniform3uiEXT = reinterpret_cast(glProgramUniform3uiEXT); - flextglProgramUniform3uivEXT = reinterpret_cast(glProgramUniform3uivEXT); - flextglProgramUniform4fEXT = reinterpret_cast(glProgramUniform4fEXT); - flextglProgramUniform4fvEXT = reinterpret_cast(glProgramUniform4fvEXT); - flextglProgramUniform4iEXT = reinterpret_cast(glProgramUniform4iEXT); - flextglProgramUniform4ivEXT = reinterpret_cast(glProgramUniform4ivEXT); - flextglProgramUniform4uiEXT = reinterpret_cast(glProgramUniform4uiEXT); - flextglProgramUniform4uivEXT = reinterpret_cast(glProgramUniform4uivEXT); - flextglProgramUniformMatrix2fvEXT = reinterpret_cast(glProgramUniformMatrix2fvEXT); - flextglProgramUniformMatrix2x3fvEXT = reinterpret_cast(glProgramUniformMatrix2x3fvEXT); - flextglProgramUniformMatrix2x4fvEXT = reinterpret_cast(glProgramUniformMatrix2x4fvEXT); - flextglProgramUniformMatrix3fvEXT = reinterpret_cast(glProgramUniformMatrix3fvEXT); - flextglProgramUniformMatrix3x2fvEXT = reinterpret_cast(glProgramUniformMatrix3x2fvEXT); - flextglProgramUniformMatrix3x4fvEXT = reinterpret_cast(glProgramUniformMatrix3x4fvEXT); - flextglProgramUniformMatrix4fvEXT = reinterpret_cast(glProgramUniformMatrix4fvEXT); - flextglProgramUniformMatrix4x2fvEXT = reinterpret_cast(glProgramUniformMatrix4x2fvEXT); - flextglProgramUniformMatrix4x3fvEXT = reinterpret_cast(glProgramUniformMatrix4x3fvEXT); - flextglUseProgramStagesEXT = reinterpret_cast(glUseProgramStagesEXT); - flextglValidateProgramPipelineEXT = reinterpret_cast(glValidateProgramPipelineEXT); + flextGL.ActiveShaderProgramEXT = reinterpret_cast(glActiveShaderProgramEXT); + flextGL.BindProgramPipelineEXT = reinterpret_cast(glBindProgramPipelineEXT); + flextGL.CreateShaderProgramvEXT = reinterpret_cast(glCreateShaderProgramvEXT); + flextGL.DeleteProgramPipelinesEXT = reinterpret_cast(glDeleteProgramPipelinesEXT); + flextGL.GenProgramPipelinesEXT = reinterpret_cast(glGenProgramPipelinesEXT); + flextGL.GetProgramPipelineInfoLogEXT = reinterpret_cast(glGetProgramPipelineInfoLogEXT); + flextGL.GetProgramPipelineivEXT = reinterpret_cast(glGetProgramPipelineivEXT); + flextGL.IsProgramPipelineEXT = reinterpret_cast(glIsProgramPipelineEXT); + flextGL.ProgramParameteriEXT = reinterpret_cast(glProgramParameteriEXT); + flextGL.ProgramUniform1fEXT = reinterpret_cast(glProgramUniform1fEXT); + flextGL.ProgramUniform1fvEXT = reinterpret_cast(glProgramUniform1fvEXT); + flextGL.ProgramUniform1iEXT = reinterpret_cast(glProgramUniform1iEXT); + flextGL.ProgramUniform1ivEXT = reinterpret_cast(glProgramUniform1ivEXT); + flextGL.ProgramUniform1uiEXT = reinterpret_cast(glProgramUniform1uiEXT); + flextGL.ProgramUniform1uivEXT = reinterpret_cast(glProgramUniform1uivEXT); + flextGL.ProgramUniform2fEXT = reinterpret_cast(glProgramUniform2fEXT); + flextGL.ProgramUniform2fvEXT = reinterpret_cast(glProgramUniform2fvEXT); + flextGL.ProgramUniform2iEXT = reinterpret_cast(glProgramUniform2iEXT); + flextGL.ProgramUniform2ivEXT = reinterpret_cast(glProgramUniform2ivEXT); + flextGL.ProgramUniform2uiEXT = reinterpret_cast(glProgramUniform2uiEXT); + flextGL.ProgramUniform2uivEXT = reinterpret_cast(glProgramUniform2uivEXT); + flextGL.ProgramUniform3fEXT = reinterpret_cast(glProgramUniform3fEXT); + flextGL.ProgramUniform3fvEXT = reinterpret_cast(glProgramUniform3fvEXT); + flextGL.ProgramUniform3iEXT = reinterpret_cast(glProgramUniform3iEXT); + flextGL.ProgramUniform3ivEXT = reinterpret_cast(glProgramUniform3ivEXT); + flextGL.ProgramUniform3uiEXT = reinterpret_cast(glProgramUniform3uiEXT); + flextGL.ProgramUniform3uivEXT = reinterpret_cast(glProgramUniform3uivEXT); + flextGL.ProgramUniform4fEXT = reinterpret_cast(glProgramUniform4fEXT); + flextGL.ProgramUniform4fvEXT = reinterpret_cast(glProgramUniform4fvEXT); + flextGL.ProgramUniform4iEXT = reinterpret_cast(glProgramUniform4iEXT); + flextGL.ProgramUniform4ivEXT = reinterpret_cast(glProgramUniform4ivEXT); + flextGL.ProgramUniform4uiEXT = reinterpret_cast(glProgramUniform4uiEXT); + flextGL.ProgramUniform4uivEXT = reinterpret_cast(glProgramUniform4uivEXT); + flextGL.ProgramUniformMatrix2fvEXT = reinterpret_cast(glProgramUniformMatrix2fvEXT); + flextGL.ProgramUniformMatrix2x3fvEXT = reinterpret_cast(glProgramUniformMatrix2x3fvEXT); + flextGL.ProgramUniformMatrix2x4fvEXT = reinterpret_cast(glProgramUniformMatrix2x4fvEXT); + flextGL.ProgramUniformMatrix3fvEXT = reinterpret_cast(glProgramUniformMatrix3fvEXT); + flextGL.ProgramUniformMatrix3x2fvEXT = reinterpret_cast(glProgramUniformMatrix3x2fvEXT); + flextGL.ProgramUniformMatrix3x4fvEXT = reinterpret_cast(glProgramUniformMatrix3x4fvEXT); + flextGL.ProgramUniformMatrix4fvEXT = reinterpret_cast(glProgramUniformMatrix4fvEXT); + flextGL.ProgramUniformMatrix4x2fvEXT = reinterpret_cast(glProgramUniformMatrix4x2fvEXT); + flextGL.ProgramUniformMatrix4x3fvEXT = reinterpret_cast(glProgramUniformMatrix4x3fvEXT); + flextGL.UseProgramStagesEXT = reinterpret_cast(glUseProgramStagesEXT); + flextGL.ValidateProgramPipelineEXT = reinterpret_cast(glValidateProgramPipelineEXT); #endif /* GL_EXT_tessellation_shader */ #if GL_EXT_tessellation_shader - flextglPatchParameteriEXT = reinterpret_cast(glPatchParameteriEXT); + flextGL.PatchParameteriEXT = reinterpret_cast(glPatchParameteriEXT); #endif /* GL_EXT_texture_border_clamp */ #if GL_EXT_texture_border_clamp - flextglGetSamplerParameterIivEXT = reinterpret_cast(glGetSamplerParameterIivEXT); - flextglGetSamplerParameterIuivEXT = reinterpret_cast(glGetSamplerParameterIuivEXT); - flextglGetTexParameterIivEXT = reinterpret_cast(glGetTexParameterIivEXT); - flextglGetTexParameterIuivEXT = reinterpret_cast(glGetTexParameterIuivEXT); - flextglSamplerParameterIivEXT = reinterpret_cast(glSamplerParameterIivEXT); - flextglSamplerParameterIuivEXT = reinterpret_cast(glSamplerParameterIuivEXT); - flextglTexParameterIivEXT = reinterpret_cast(glTexParameterIivEXT); - flextglTexParameterIuivEXT = reinterpret_cast(glTexParameterIuivEXT); + flextGL.GetSamplerParameterIivEXT = reinterpret_cast(glGetSamplerParameterIivEXT); + flextGL.GetSamplerParameterIuivEXT = reinterpret_cast(glGetSamplerParameterIuivEXT); + flextGL.GetTexParameterIivEXT = reinterpret_cast(glGetTexParameterIivEXT); + flextGL.GetTexParameterIuivEXT = reinterpret_cast(glGetTexParameterIuivEXT); + flextGL.SamplerParameterIivEXT = reinterpret_cast(glSamplerParameterIivEXT); + flextGL.SamplerParameterIuivEXT = reinterpret_cast(glSamplerParameterIuivEXT); + flextGL.TexParameterIivEXT = reinterpret_cast(glTexParameterIivEXT); + flextGL.TexParameterIuivEXT = reinterpret_cast(glTexParameterIuivEXT); #endif /* GL_EXT_texture_buffer */ #if GL_EXT_texture_buffer - flextglTexBufferEXT = reinterpret_cast(glTexBufferEXT); - flextglTexBufferRangeEXT = reinterpret_cast(glTexBufferRangeEXT); + flextGL.TexBufferEXT = reinterpret_cast(glTexBufferEXT); + flextGL.TexBufferRangeEXT = reinterpret_cast(glTexBufferRangeEXT); #endif /* GL_KHR_blend_equation_advanced */ #if GL_KHR_blend_equation_advanced - flextglBlendBarrierKHR = reinterpret_cast(glBlendBarrierKHR); + flextGL.BlendBarrierKHR = reinterpret_cast(glBlendBarrierKHR); #endif /* GL_KHR_debug */ #if GL_KHR_debug - flextglDebugMessageCallbackKHR = reinterpret_cast(glDebugMessageCallbackKHR); - flextglDebugMessageControlKHR = reinterpret_cast(glDebugMessageControlKHR); - flextglDebugMessageInsertKHR = reinterpret_cast(glDebugMessageInsertKHR); - flextglGetDebugMessageLogKHR = reinterpret_cast(glGetDebugMessageLogKHR); - flextglGetObjectLabelKHR = reinterpret_cast(glGetObjectLabelKHR); - flextglGetObjectPtrLabelKHR = reinterpret_cast(glGetObjectPtrLabelKHR); - flextglGetPointervKHR = reinterpret_cast(glGetPointervKHR); - flextglObjectLabelKHR = reinterpret_cast(glObjectLabelKHR); - flextglObjectPtrLabelKHR = reinterpret_cast(glObjectPtrLabelKHR); - flextglPopDebugGroupKHR = reinterpret_cast(glPopDebugGroupKHR); - flextglPushDebugGroupKHR = reinterpret_cast(glPushDebugGroupKHR); + flextGL.DebugMessageCallbackKHR = reinterpret_cast(glDebugMessageCallbackKHR); + flextGL.DebugMessageControlKHR = reinterpret_cast(glDebugMessageControlKHR); + flextGL.DebugMessageInsertKHR = reinterpret_cast(glDebugMessageInsertKHR); + flextGL.GetDebugMessageLogKHR = reinterpret_cast(glGetDebugMessageLogKHR); + flextGL.GetObjectLabelKHR = reinterpret_cast(glGetObjectLabelKHR); + flextGL.GetObjectPtrLabelKHR = reinterpret_cast(glGetObjectPtrLabelKHR); + flextGL.GetPointervKHR = reinterpret_cast(glGetPointervKHR); + flextGL.ObjectLabelKHR = reinterpret_cast(glObjectLabelKHR); + flextGL.ObjectPtrLabelKHR = reinterpret_cast(glObjectPtrLabelKHR); + flextGL.PopDebugGroupKHR = reinterpret_cast(glPopDebugGroupKHR); + flextGL.PushDebugGroupKHR = reinterpret_cast(glPushDebugGroupKHR); #endif /* GL_KHR_robustness */ #if GL_KHR_robustness - flextglGetGraphicsResetStatusKHR = reinterpret_cast(glGetGraphicsResetStatusKHR); - flextglGetnUniformfvKHR = reinterpret_cast(glGetnUniformfvKHR); - flextglGetnUniformivKHR = reinterpret_cast(glGetnUniformivKHR); - flextglGetnUniformuivKHR = reinterpret_cast(glGetnUniformuivKHR); - flextglReadnPixelsKHR = reinterpret_cast(glReadnPixelsKHR); + flextGL.GetGraphicsResetStatusKHR = reinterpret_cast(glGetGraphicsResetStatusKHR); + flextGL.GetnUniformfvKHR = reinterpret_cast(glGetnUniformfvKHR); + flextGL.GetnUniformivKHR = reinterpret_cast(glGetnUniformivKHR); + flextGL.GetnUniformuivKHR = reinterpret_cast(glGetnUniformuivKHR); + flextGL.ReadnPixelsKHR = reinterpret_cast(glReadnPixelsKHR); #endif /* GL_NV_polygon_mode */ #if GL_NV_polygon_mode - flextglPolygonModeNV = reinterpret_cast(glPolygonModeNV); + flextGL.PolygonModeNV = reinterpret_cast(glPolygonModeNV); #endif /* GL_OES_mapbuffer */ #if GL_OES_mapbuffer - flextglGetBufferPointervOES = reinterpret_cast(glGetBufferPointervOES); - flextglMapBufferOES = reinterpret_cast(glMapBufferOES); - flextglUnmapBufferOES = reinterpret_cast(glUnmapBufferOES); + flextGL.GetBufferPointervOES = reinterpret_cast(glGetBufferPointervOES); + flextGL.MapBufferOES = reinterpret_cast(glMapBufferOES); + flextGL.UnmapBufferOES = reinterpret_cast(glUnmapBufferOES); #endif /* GL_OES_sample_shading */ #if GL_OES_sample_shading - flextglMinSampleShadingOES = reinterpret_cast(glMinSampleShadingOES); + flextGL.MinSampleShadingOES = reinterpret_cast(glMinSampleShadingOES); #endif /* GL_OES_texture_storage_multisample_2d_array */ #if GL_OES_texture_storage_multisample_2d_array - flextglTexStorage3DMultisampleOES = reinterpret_cast(glTexStorage3DMultisampleOES); + flextGL.TexStorage3DMultisampleOES = reinterpret_cast(glTexStorage3DMultisampleOES); #endif /* GL_OVR_multiview */ #if GL_OVR_multiview - flextglFramebufferTextureMultiviewOVR = reinterpret_cast(glFramebufferTextureMultiviewOVR); + flextGL.FramebufferTextureMultiviewOVR = reinterpret_cast(glFramebufferTextureMultiviewOVR); #endif } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp.template b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp.template index 631855aa1..af5914492 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp.template @@ -43,7 +43,7 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_@category */ #if GL_@category @for f in funcs: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(gl@f.name); @end #endif diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp index 8e91d215f..30d28b9fd 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp @@ -34,482 +34,482 @@ void flextGLInit(Magnum::GL::Context&) { Magnum::Platform::Implementation::OpenGLFunctionLoader loader; /* GL_ES_VERSION_2_0 */ - flextglActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); - flextglAttachShader = reinterpret_cast(loader.load("glAttachShader")); - flextglBindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); - flextglBindBuffer = reinterpret_cast(loader.load("glBindBuffer")); - flextglBindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); - flextglBindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); - flextglBlendColor = reinterpret_cast(loader.load("glBlendColor")); - flextglBlendEquation = reinterpret_cast(loader.load("glBlendEquation")); - flextglBlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); - flextglBlendFuncSeparate = reinterpret_cast(loader.load("glBlendFuncSeparate")); - flextglBufferData = reinterpret_cast(loader.load("glBufferData")); - flextglBufferSubData = reinterpret_cast(loader.load("glBufferSubData")); - flextglCheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); - flextglClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); - flextglCompileShader = reinterpret_cast(loader.load("glCompileShader")); - flextglCompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); - flextglCompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); - flextglCreateProgram = reinterpret_cast(loader.load("glCreateProgram")); - flextglCreateShader = reinterpret_cast(loader.load("glCreateShader")); - flextglDeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); - flextglDeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); - flextglDeleteProgram = reinterpret_cast(loader.load("glDeleteProgram")); - flextglDeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); - flextglDeleteShader = reinterpret_cast(loader.load("glDeleteShader")); - flextglDepthRangef = reinterpret_cast(loader.load("glDepthRangef")); - flextglDetachShader = reinterpret_cast(loader.load("glDetachShader")); - flextglDisableVertexAttribArray = reinterpret_cast(loader.load("glDisableVertexAttribArray")); - flextglEnableVertexAttribArray = reinterpret_cast(loader.load("glEnableVertexAttribArray")); - flextglFramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); - flextglFramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); - flextglGenBuffers = reinterpret_cast(loader.load("glGenBuffers")); - flextglGenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); - flextglGenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); - flextglGenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); - flextglGetActiveAttrib = reinterpret_cast(loader.load("glGetActiveAttrib")); - flextglGetActiveUniform = reinterpret_cast(loader.load("glGetActiveUniform")); - flextglGetAttachedShaders = reinterpret_cast(loader.load("glGetAttachedShaders")); - flextglGetAttribLocation = reinterpret_cast(loader.load("glGetAttribLocation")); - flextglGetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); - flextglGetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); - flextglGetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); - flextglGetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); - flextglGetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); - flextglGetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); - flextglGetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); - flextglGetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); - flextglGetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); - flextglGetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); - flextglGetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); - flextglGetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); - flextglGetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); - flextglGetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); - flextglGetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); - flextglIsBuffer = reinterpret_cast(loader.load("glIsBuffer")); - flextglIsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); - flextglIsProgram = reinterpret_cast(loader.load("glIsProgram")); - flextglIsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); - flextglIsShader = reinterpret_cast(loader.load("glIsShader")); - flextglLinkProgram = reinterpret_cast(loader.load("glLinkProgram")); - flextglReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); - flextglRenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); - flextglSampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); - flextglShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); - flextglShaderSource = reinterpret_cast(loader.load("glShaderSource")); - flextglStencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); - flextglStencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); - flextglStencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); - flextglUniform1f = reinterpret_cast(loader.load("glUniform1f")); - flextglUniform1fv = reinterpret_cast(loader.load("glUniform1fv")); - flextglUniform1i = reinterpret_cast(loader.load("glUniform1i")); - flextglUniform1iv = reinterpret_cast(loader.load("glUniform1iv")); - flextglUniform2f = reinterpret_cast(loader.load("glUniform2f")); - flextglUniform2fv = reinterpret_cast(loader.load("glUniform2fv")); - flextglUniform2i = reinterpret_cast(loader.load("glUniform2i")); - flextglUniform2iv = reinterpret_cast(loader.load("glUniform2iv")); - flextglUniform3f = reinterpret_cast(loader.load("glUniform3f")); - flextglUniform3fv = reinterpret_cast(loader.load("glUniform3fv")); - flextglUniform3i = reinterpret_cast(loader.load("glUniform3i")); - flextglUniform3iv = reinterpret_cast(loader.load("glUniform3iv")); - flextglUniform4f = reinterpret_cast(loader.load("glUniform4f")); - flextglUniform4fv = reinterpret_cast(loader.load("glUniform4fv")); - flextglUniform4i = reinterpret_cast(loader.load("glUniform4i")); - flextglUniform4iv = reinterpret_cast(loader.load("glUniform4iv")); - flextglUniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); - flextglUniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); - flextglUniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); - flextglUseProgram = reinterpret_cast(loader.load("glUseProgram")); - flextglValidateProgram = reinterpret_cast(loader.load("glValidateProgram")); - flextglVertexAttrib1f = reinterpret_cast(loader.load("glVertexAttrib1f")); - flextglVertexAttrib1fv = reinterpret_cast(loader.load("glVertexAttrib1fv")); - flextglVertexAttrib2f = reinterpret_cast(loader.load("glVertexAttrib2f")); - flextglVertexAttrib2fv = reinterpret_cast(loader.load("glVertexAttrib2fv")); - flextglVertexAttrib3f = reinterpret_cast(loader.load("glVertexAttrib3f")); - flextglVertexAttrib3fv = reinterpret_cast(loader.load("glVertexAttrib3fv")); - flextglVertexAttrib4f = reinterpret_cast(loader.load("glVertexAttrib4f")); - flextglVertexAttrib4fv = reinterpret_cast(loader.load("glVertexAttrib4fv")); - flextglVertexAttribPointer = reinterpret_cast(loader.load("glVertexAttribPointer")); + flextGL.ActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); + flextGL.AttachShader = reinterpret_cast(loader.load("glAttachShader")); + flextGL.BindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); + flextGL.BindBuffer = reinterpret_cast(loader.load("glBindBuffer")); + flextGL.BindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); + flextGL.BindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); + flextGL.BlendColor = reinterpret_cast(loader.load("glBlendColor")); + flextGL.BlendEquation = reinterpret_cast(loader.load("glBlendEquation")); + flextGL.BlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); + flextGL.BlendFuncSeparate = reinterpret_cast(loader.load("glBlendFuncSeparate")); + flextGL.BufferData = reinterpret_cast(loader.load("glBufferData")); + flextGL.BufferSubData = reinterpret_cast(loader.load("glBufferSubData")); + flextGL.CheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); + flextGL.ClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); + flextGL.CompileShader = reinterpret_cast(loader.load("glCompileShader")); + flextGL.CompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); + flextGL.CompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); + flextGL.CreateProgram = reinterpret_cast(loader.load("glCreateProgram")); + flextGL.CreateShader = reinterpret_cast(loader.load("glCreateShader")); + flextGL.DeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); + flextGL.DeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); + flextGL.DeleteProgram = reinterpret_cast(loader.load("glDeleteProgram")); + flextGL.DeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); + flextGL.DeleteShader = reinterpret_cast(loader.load("glDeleteShader")); + flextGL.DepthRangef = reinterpret_cast(loader.load("glDepthRangef")); + flextGL.DetachShader = reinterpret_cast(loader.load("glDetachShader")); + flextGL.DisableVertexAttribArray = reinterpret_cast(loader.load("glDisableVertexAttribArray")); + flextGL.EnableVertexAttribArray = reinterpret_cast(loader.load("glEnableVertexAttribArray")); + flextGL.FramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); + flextGL.FramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); + flextGL.GenBuffers = reinterpret_cast(loader.load("glGenBuffers")); + flextGL.GenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); + flextGL.GenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); + flextGL.GenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); + flextGL.GetActiveAttrib = reinterpret_cast(loader.load("glGetActiveAttrib")); + flextGL.GetActiveUniform = reinterpret_cast(loader.load("glGetActiveUniform")); + flextGL.GetAttachedShaders = reinterpret_cast(loader.load("glGetAttachedShaders")); + flextGL.GetAttribLocation = reinterpret_cast(loader.load("glGetAttribLocation")); + flextGL.GetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); + flextGL.GetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); + flextGL.GetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); + flextGL.GetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); + flextGL.GetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); + flextGL.GetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); + flextGL.GetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); + flextGL.GetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); + flextGL.GetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); + flextGL.GetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); + flextGL.GetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); + flextGL.GetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); + flextGL.GetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); + flextGL.GetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); + flextGL.GetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); + flextGL.IsBuffer = reinterpret_cast(loader.load("glIsBuffer")); + flextGL.IsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); + flextGL.IsProgram = reinterpret_cast(loader.load("glIsProgram")); + flextGL.IsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); + flextGL.IsShader = reinterpret_cast(loader.load("glIsShader")); + flextGL.LinkProgram = reinterpret_cast(loader.load("glLinkProgram")); + flextGL.ReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); + flextGL.RenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); + flextGL.SampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); + flextGL.ShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); + flextGL.ShaderSource = reinterpret_cast(loader.load("glShaderSource")); + flextGL.StencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); + flextGL.StencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); + flextGL.StencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); + flextGL.Uniform1f = reinterpret_cast(loader.load("glUniform1f")); + flextGL.Uniform1fv = reinterpret_cast(loader.load("glUniform1fv")); + flextGL.Uniform1i = reinterpret_cast(loader.load("glUniform1i")); + flextGL.Uniform1iv = reinterpret_cast(loader.load("glUniform1iv")); + flextGL.Uniform2f = reinterpret_cast(loader.load("glUniform2f")); + flextGL.Uniform2fv = reinterpret_cast(loader.load("glUniform2fv")); + flextGL.Uniform2i = reinterpret_cast(loader.load("glUniform2i")); + flextGL.Uniform2iv = reinterpret_cast(loader.load("glUniform2iv")); + flextGL.Uniform3f = reinterpret_cast(loader.load("glUniform3f")); + flextGL.Uniform3fv = reinterpret_cast(loader.load("glUniform3fv")); + flextGL.Uniform3i = reinterpret_cast(loader.load("glUniform3i")); + flextGL.Uniform3iv = reinterpret_cast(loader.load("glUniform3iv")); + flextGL.Uniform4f = reinterpret_cast(loader.load("glUniform4f")); + flextGL.Uniform4fv = reinterpret_cast(loader.load("glUniform4fv")); + flextGL.Uniform4i = reinterpret_cast(loader.load("glUniform4i")); + flextGL.Uniform4iv = reinterpret_cast(loader.load("glUniform4iv")); + flextGL.UniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); + flextGL.UniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); + flextGL.UniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); + flextGL.UseProgram = reinterpret_cast(loader.load("glUseProgram")); + flextGL.ValidateProgram = reinterpret_cast(loader.load("glValidateProgram")); + flextGL.VertexAttrib1f = reinterpret_cast(loader.load("glVertexAttrib1f")); + flextGL.VertexAttrib1fv = reinterpret_cast(loader.load("glVertexAttrib1fv")); + flextGL.VertexAttrib2f = reinterpret_cast(loader.load("glVertexAttrib2f")); + flextGL.VertexAttrib2fv = reinterpret_cast(loader.load("glVertexAttrib2fv")); + flextGL.VertexAttrib3f = reinterpret_cast(loader.load("glVertexAttrib3f")); + flextGL.VertexAttrib3fv = reinterpret_cast(loader.load("glVertexAttrib3fv")); + flextGL.VertexAttrib4f = reinterpret_cast(loader.load("glVertexAttrib4f")); + flextGL.VertexAttrib4fv = reinterpret_cast(loader.load("glVertexAttrib4fv")); + flextGL.VertexAttribPointer = reinterpret_cast(loader.load("glVertexAttribPointer")); /* GL_ES_VERSION_3_0 */ - flextglBeginQuery = reinterpret_cast(loader.load("glBeginQuery")); - flextglBeginTransformFeedback = reinterpret_cast(loader.load("glBeginTransformFeedback")); - flextglBindBufferBase = reinterpret_cast(loader.load("glBindBufferBase")); - flextglBindBufferRange = reinterpret_cast(loader.load("glBindBufferRange")); - flextglBindSampler = reinterpret_cast(loader.load("glBindSampler")); - flextglBindTransformFeedback = reinterpret_cast(loader.load("glBindTransformFeedback")); - flextglBindVertexArray = reinterpret_cast(loader.load("glBindVertexArray")); - flextglBlitFramebuffer = reinterpret_cast(loader.load("glBlitFramebuffer")); - flextglClearBufferfi = reinterpret_cast(loader.load("glClearBufferfi")); - flextglClearBufferfv = reinterpret_cast(loader.load("glClearBufferfv")); - flextglClearBufferiv = reinterpret_cast(loader.load("glClearBufferiv")); - flextglClearBufferuiv = reinterpret_cast(loader.load("glClearBufferuiv")); - flextglClientWaitSync = reinterpret_cast(loader.load("glClientWaitSync")); - flextglCompressedTexImage3D = reinterpret_cast(loader.load("glCompressedTexImage3D")); - flextglCompressedTexSubImage3D = reinterpret_cast(loader.load("glCompressedTexSubImage3D")); - flextglCopyBufferSubData = reinterpret_cast(loader.load("glCopyBufferSubData")); - flextglCopyTexSubImage3D = reinterpret_cast(loader.load("glCopyTexSubImage3D")); - flextglDeleteQueries = reinterpret_cast(loader.load("glDeleteQueries")); - flextglDeleteSamplers = reinterpret_cast(loader.load("glDeleteSamplers")); - flextglDeleteSync = reinterpret_cast(loader.load("glDeleteSync")); - flextglDeleteTransformFeedbacks = reinterpret_cast(loader.load("glDeleteTransformFeedbacks")); - flextglDeleteVertexArrays = reinterpret_cast(loader.load("glDeleteVertexArrays")); - flextglDrawArraysInstanced = reinterpret_cast(loader.load("glDrawArraysInstanced")); - flextglDrawBuffers = reinterpret_cast(loader.load("glDrawBuffers")); - flextglDrawElementsInstanced = reinterpret_cast(loader.load("glDrawElementsInstanced")); - flextglDrawRangeElements = reinterpret_cast(loader.load("glDrawRangeElements")); - flextglEndQuery = reinterpret_cast(loader.load("glEndQuery")); - flextglEndTransformFeedback = reinterpret_cast(loader.load("glEndTransformFeedback")); - flextglFenceSync = reinterpret_cast(loader.load("glFenceSync")); - flextglFlushMappedBufferRange = reinterpret_cast(loader.load("glFlushMappedBufferRange")); - flextglFramebufferTextureLayer = reinterpret_cast(loader.load("glFramebufferTextureLayer")); - flextglGenQueries = reinterpret_cast(loader.load("glGenQueries")); - flextglGenSamplers = reinterpret_cast(loader.load("glGenSamplers")); - flextglGenTransformFeedbacks = reinterpret_cast(loader.load("glGenTransformFeedbacks")); - flextglGenVertexArrays = reinterpret_cast(loader.load("glGenVertexArrays")); - flextglGetActiveUniformBlockName = reinterpret_cast(loader.load("glGetActiveUniformBlockName")); - flextglGetActiveUniformBlockiv = reinterpret_cast(loader.load("glGetActiveUniformBlockiv")); - flextglGetActiveUniformsiv = reinterpret_cast(loader.load("glGetActiveUniformsiv")); - flextglGetBufferParameteri64v = reinterpret_cast(loader.load("glGetBufferParameteri64v")); - flextglGetBufferPointerv = reinterpret_cast(loader.load("glGetBufferPointerv")); - flextglGetFragDataLocation = reinterpret_cast(loader.load("glGetFragDataLocation")); - flextglGetInteger64i_v = reinterpret_cast(loader.load("glGetInteger64i_v")); - flextglGetInteger64v = reinterpret_cast(loader.load("glGetInteger64v")); - flextglGetIntegeri_v = reinterpret_cast(loader.load("glGetIntegeri_v")); - flextglGetInternalformativ = reinterpret_cast(loader.load("glGetInternalformativ")); - flextglGetProgramBinary = reinterpret_cast(loader.load("glGetProgramBinary")); - flextglGetQueryObjectuiv = reinterpret_cast(loader.load("glGetQueryObjectuiv")); - flextglGetQueryiv = reinterpret_cast(loader.load("glGetQueryiv")); - flextglGetSamplerParameterfv = reinterpret_cast(loader.load("glGetSamplerParameterfv")); - flextglGetSamplerParameteriv = reinterpret_cast(loader.load("glGetSamplerParameteriv")); - flextglGetStringi = reinterpret_cast(loader.load("glGetStringi")); - flextglGetSynciv = reinterpret_cast(loader.load("glGetSynciv")); - flextglGetTransformFeedbackVarying = reinterpret_cast(loader.load("glGetTransformFeedbackVarying")); - flextglGetUniformBlockIndex = reinterpret_cast(loader.load("glGetUniformBlockIndex")); - flextglGetUniformIndices = reinterpret_cast(loader.load("glGetUniformIndices")); - flextglGetUniformuiv = reinterpret_cast(loader.load("glGetUniformuiv")); - flextglGetVertexAttribIiv = reinterpret_cast(loader.load("glGetVertexAttribIiv")); - flextglGetVertexAttribIuiv = reinterpret_cast(loader.load("glGetVertexAttribIuiv")); - flextglInvalidateFramebuffer = reinterpret_cast(loader.load("glInvalidateFramebuffer")); - flextglInvalidateSubFramebuffer = reinterpret_cast(loader.load("glInvalidateSubFramebuffer")); - flextglIsQuery = reinterpret_cast(loader.load("glIsQuery")); - flextglIsSampler = reinterpret_cast(loader.load("glIsSampler")); - flextglIsSync = reinterpret_cast(loader.load("glIsSync")); - flextglIsTransformFeedback = reinterpret_cast(loader.load("glIsTransformFeedback")); - flextglIsVertexArray = reinterpret_cast(loader.load("glIsVertexArray")); - flextglMapBufferRange = reinterpret_cast(loader.load("glMapBufferRange")); - flextglPauseTransformFeedback = reinterpret_cast(loader.load("glPauseTransformFeedback")); - flextglProgramBinary = reinterpret_cast(loader.load("glProgramBinary")); - flextglProgramParameteri = reinterpret_cast(loader.load("glProgramParameteri")); - flextglRenderbufferStorageMultisample = reinterpret_cast(loader.load("glRenderbufferStorageMultisample")); - flextglResumeTransformFeedback = reinterpret_cast(loader.load("glResumeTransformFeedback")); - flextglSamplerParameterf = reinterpret_cast(loader.load("glSamplerParameterf")); - flextglSamplerParameterfv = reinterpret_cast(loader.load("glSamplerParameterfv")); - flextglSamplerParameteri = reinterpret_cast(loader.load("glSamplerParameteri")); - flextglSamplerParameteriv = reinterpret_cast(loader.load("glSamplerParameteriv")); - flextglTexImage3D = reinterpret_cast(loader.load("glTexImage3D")); - flextglTexStorage2D = reinterpret_cast(loader.load("glTexStorage2D")); - flextglTexStorage3D = reinterpret_cast(loader.load("glTexStorage3D")); - flextglTexSubImage3D = reinterpret_cast(loader.load("glTexSubImage3D")); - flextglTransformFeedbackVaryings = reinterpret_cast(loader.load("glTransformFeedbackVaryings")); - flextglUniform1ui = reinterpret_cast(loader.load("glUniform1ui")); - flextglUniform1uiv = reinterpret_cast(loader.load("glUniform1uiv")); - flextglUniform2ui = reinterpret_cast(loader.load("glUniform2ui")); - flextglUniform2uiv = reinterpret_cast(loader.load("glUniform2uiv")); - flextglUniform3ui = reinterpret_cast(loader.load("glUniform3ui")); - flextglUniform3uiv = reinterpret_cast(loader.load("glUniform3uiv")); - flextglUniform4ui = reinterpret_cast(loader.load("glUniform4ui")); - flextglUniform4uiv = reinterpret_cast(loader.load("glUniform4uiv")); - flextglUniformBlockBinding = reinterpret_cast(loader.load("glUniformBlockBinding")); - flextglUniformMatrix2x3fv = reinterpret_cast(loader.load("glUniformMatrix2x3fv")); - flextglUniformMatrix2x4fv = reinterpret_cast(loader.load("glUniformMatrix2x4fv")); - flextglUniformMatrix3x2fv = reinterpret_cast(loader.load("glUniformMatrix3x2fv")); - flextglUniformMatrix3x4fv = reinterpret_cast(loader.load("glUniformMatrix3x4fv")); - flextglUniformMatrix4x2fv = reinterpret_cast(loader.load("glUniformMatrix4x2fv")); - flextglUniformMatrix4x3fv = reinterpret_cast(loader.load("glUniformMatrix4x3fv")); - flextglUnmapBuffer = reinterpret_cast(loader.load("glUnmapBuffer")); - flextglVertexAttribDivisor = reinterpret_cast(loader.load("glVertexAttribDivisor")); - flextglVertexAttribI4i = reinterpret_cast(loader.load("glVertexAttribI4i")); - flextglVertexAttribI4iv = reinterpret_cast(loader.load("glVertexAttribI4iv")); - flextglVertexAttribI4ui = reinterpret_cast(loader.load("glVertexAttribI4ui")); - flextglVertexAttribI4uiv = reinterpret_cast(loader.load("glVertexAttribI4uiv")); - flextglVertexAttribIPointer = reinterpret_cast(loader.load("glVertexAttribIPointer")); - flextglWaitSync = reinterpret_cast(loader.load("glWaitSync")); + flextGL.BeginQuery = reinterpret_cast(loader.load("glBeginQuery")); + flextGL.BeginTransformFeedback = reinterpret_cast(loader.load("glBeginTransformFeedback")); + flextGL.BindBufferBase = reinterpret_cast(loader.load("glBindBufferBase")); + flextGL.BindBufferRange = reinterpret_cast(loader.load("glBindBufferRange")); + flextGL.BindSampler = reinterpret_cast(loader.load("glBindSampler")); + flextGL.BindTransformFeedback = reinterpret_cast(loader.load("glBindTransformFeedback")); + flextGL.BindVertexArray = reinterpret_cast(loader.load("glBindVertexArray")); + flextGL.BlitFramebuffer = reinterpret_cast(loader.load("glBlitFramebuffer")); + flextGL.ClearBufferfi = reinterpret_cast(loader.load("glClearBufferfi")); + flextGL.ClearBufferfv = reinterpret_cast(loader.load("glClearBufferfv")); + flextGL.ClearBufferiv = reinterpret_cast(loader.load("glClearBufferiv")); + flextGL.ClearBufferuiv = reinterpret_cast(loader.load("glClearBufferuiv")); + flextGL.ClientWaitSync = reinterpret_cast(loader.load("glClientWaitSync")); + flextGL.CompressedTexImage3D = reinterpret_cast(loader.load("glCompressedTexImage3D")); + flextGL.CompressedTexSubImage3D = reinterpret_cast(loader.load("glCompressedTexSubImage3D")); + flextGL.CopyBufferSubData = reinterpret_cast(loader.load("glCopyBufferSubData")); + flextGL.CopyTexSubImage3D = reinterpret_cast(loader.load("glCopyTexSubImage3D")); + flextGL.DeleteQueries = reinterpret_cast(loader.load("glDeleteQueries")); + flextGL.DeleteSamplers = reinterpret_cast(loader.load("glDeleteSamplers")); + flextGL.DeleteSync = reinterpret_cast(loader.load("glDeleteSync")); + flextGL.DeleteTransformFeedbacks = reinterpret_cast(loader.load("glDeleteTransformFeedbacks")); + flextGL.DeleteVertexArrays = reinterpret_cast(loader.load("glDeleteVertexArrays")); + flextGL.DrawArraysInstanced = reinterpret_cast(loader.load("glDrawArraysInstanced")); + flextGL.DrawBuffers = reinterpret_cast(loader.load("glDrawBuffers")); + flextGL.DrawElementsInstanced = reinterpret_cast(loader.load("glDrawElementsInstanced")); + flextGL.DrawRangeElements = reinterpret_cast(loader.load("glDrawRangeElements")); + flextGL.EndQuery = reinterpret_cast(loader.load("glEndQuery")); + flextGL.EndTransformFeedback = reinterpret_cast(loader.load("glEndTransformFeedback")); + flextGL.FenceSync = reinterpret_cast(loader.load("glFenceSync")); + flextGL.FlushMappedBufferRange = reinterpret_cast(loader.load("glFlushMappedBufferRange")); + flextGL.FramebufferTextureLayer = reinterpret_cast(loader.load("glFramebufferTextureLayer")); + flextGL.GenQueries = reinterpret_cast(loader.load("glGenQueries")); + flextGL.GenSamplers = reinterpret_cast(loader.load("glGenSamplers")); + flextGL.GenTransformFeedbacks = reinterpret_cast(loader.load("glGenTransformFeedbacks")); + flextGL.GenVertexArrays = reinterpret_cast(loader.load("glGenVertexArrays")); + flextGL.GetActiveUniformBlockName = reinterpret_cast(loader.load("glGetActiveUniformBlockName")); + flextGL.GetActiveUniformBlockiv = reinterpret_cast(loader.load("glGetActiveUniformBlockiv")); + flextGL.GetActiveUniformsiv = reinterpret_cast(loader.load("glGetActiveUniformsiv")); + flextGL.GetBufferParameteri64v = reinterpret_cast(loader.load("glGetBufferParameteri64v")); + flextGL.GetBufferPointerv = reinterpret_cast(loader.load("glGetBufferPointerv")); + flextGL.GetFragDataLocation = reinterpret_cast(loader.load("glGetFragDataLocation")); + flextGL.GetInteger64i_v = reinterpret_cast(loader.load("glGetInteger64i_v")); + flextGL.GetInteger64v = reinterpret_cast(loader.load("glGetInteger64v")); + flextGL.GetIntegeri_v = reinterpret_cast(loader.load("glGetIntegeri_v")); + flextGL.GetInternalformativ = reinterpret_cast(loader.load("glGetInternalformativ")); + flextGL.GetProgramBinary = reinterpret_cast(loader.load("glGetProgramBinary")); + flextGL.GetQueryObjectuiv = reinterpret_cast(loader.load("glGetQueryObjectuiv")); + flextGL.GetQueryiv = reinterpret_cast(loader.load("glGetQueryiv")); + flextGL.GetSamplerParameterfv = reinterpret_cast(loader.load("glGetSamplerParameterfv")); + flextGL.GetSamplerParameteriv = reinterpret_cast(loader.load("glGetSamplerParameteriv")); + flextGL.GetStringi = reinterpret_cast(loader.load("glGetStringi")); + flextGL.GetSynciv = reinterpret_cast(loader.load("glGetSynciv")); + flextGL.GetTransformFeedbackVarying = reinterpret_cast(loader.load("glGetTransformFeedbackVarying")); + flextGL.GetUniformBlockIndex = reinterpret_cast(loader.load("glGetUniformBlockIndex")); + flextGL.GetUniformIndices = reinterpret_cast(loader.load("glGetUniformIndices")); + flextGL.GetUniformuiv = reinterpret_cast(loader.load("glGetUniformuiv")); + flextGL.GetVertexAttribIiv = reinterpret_cast(loader.load("glGetVertexAttribIiv")); + flextGL.GetVertexAttribIuiv = reinterpret_cast(loader.load("glGetVertexAttribIuiv")); + flextGL.InvalidateFramebuffer = reinterpret_cast(loader.load("glInvalidateFramebuffer")); + flextGL.InvalidateSubFramebuffer = reinterpret_cast(loader.load("glInvalidateSubFramebuffer")); + flextGL.IsQuery = reinterpret_cast(loader.load("glIsQuery")); + flextGL.IsSampler = reinterpret_cast(loader.load("glIsSampler")); + flextGL.IsSync = reinterpret_cast(loader.load("glIsSync")); + flextGL.IsTransformFeedback = reinterpret_cast(loader.load("glIsTransformFeedback")); + flextGL.IsVertexArray = reinterpret_cast(loader.load("glIsVertexArray")); + flextGL.MapBufferRange = reinterpret_cast(loader.load("glMapBufferRange")); + flextGL.PauseTransformFeedback = reinterpret_cast(loader.load("glPauseTransformFeedback")); + flextGL.ProgramBinary = reinterpret_cast(loader.load("glProgramBinary")); + flextGL.ProgramParameteri = reinterpret_cast(loader.load("glProgramParameteri")); + flextGL.RenderbufferStorageMultisample = reinterpret_cast(loader.load("glRenderbufferStorageMultisample")); + flextGL.ResumeTransformFeedback = reinterpret_cast(loader.load("glResumeTransformFeedback")); + flextGL.SamplerParameterf = reinterpret_cast(loader.load("glSamplerParameterf")); + flextGL.SamplerParameterfv = reinterpret_cast(loader.load("glSamplerParameterfv")); + flextGL.SamplerParameteri = reinterpret_cast(loader.load("glSamplerParameteri")); + flextGL.SamplerParameteriv = reinterpret_cast(loader.load("glSamplerParameteriv")); + flextGL.TexImage3D = reinterpret_cast(loader.load("glTexImage3D")); + flextGL.TexStorage2D = reinterpret_cast(loader.load("glTexStorage2D")); + flextGL.TexStorage3D = reinterpret_cast(loader.load("glTexStorage3D")); + flextGL.TexSubImage3D = reinterpret_cast(loader.load("glTexSubImage3D")); + flextGL.TransformFeedbackVaryings = reinterpret_cast(loader.load("glTransformFeedbackVaryings")); + flextGL.Uniform1ui = reinterpret_cast(loader.load("glUniform1ui")); + flextGL.Uniform1uiv = reinterpret_cast(loader.load("glUniform1uiv")); + flextGL.Uniform2ui = reinterpret_cast(loader.load("glUniform2ui")); + flextGL.Uniform2uiv = reinterpret_cast(loader.load("glUniform2uiv")); + flextGL.Uniform3ui = reinterpret_cast(loader.load("glUniform3ui")); + flextGL.Uniform3uiv = reinterpret_cast(loader.load("glUniform3uiv")); + flextGL.Uniform4ui = reinterpret_cast(loader.load("glUniform4ui")); + flextGL.Uniform4uiv = reinterpret_cast(loader.load("glUniform4uiv")); + flextGL.UniformBlockBinding = reinterpret_cast(loader.load("glUniformBlockBinding")); + flextGL.UniformMatrix2x3fv = reinterpret_cast(loader.load("glUniformMatrix2x3fv")); + flextGL.UniformMatrix2x4fv = reinterpret_cast(loader.load("glUniformMatrix2x4fv")); + flextGL.UniformMatrix3x2fv = reinterpret_cast(loader.load("glUniformMatrix3x2fv")); + flextGL.UniformMatrix3x4fv = reinterpret_cast(loader.load("glUniformMatrix3x4fv")); + flextGL.UniformMatrix4x2fv = reinterpret_cast(loader.load("glUniformMatrix4x2fv")); + flextGL.UniformMatrix4x3fv = reinterpret_cast(loader.load("glUniformMatrix4x3fv")); + flextGL.UnmapBuffer = reinterpret_cast(loader.load("glUnmapBuffer")); + flextGL.VertexAttribDivisor = reinterpret_cast(loader.load("glVertexAttribDivisor")); + flextGL.VertexAttribI4i = reinterpret_cast(loader.load("glVertexAttribI4i")); + flextGL.VertexAttribI4iv = reinterpret_cast(loader.load("glVertexAttribI4iv")); + flextGL.VertexAttribI4ui = reinterpret_cast(loader.load("glVertexAttribI4ui")); + flextGL.VertexAttribI4uiv = reinterpret_cast(loader.load("glVertexAttribI4uiv")); + flextGL.VertexAttribIPointer = reinterpret_cast(loader.load("glVertexAttribIPointer")); + flextGL.WaitSync = reinterpret_cast(loader.load("glWaitSync")); /* GL_ES_VERSION_3_1 */ - flextglActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); - flextglBindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); - flextglBindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); - flextglBindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); - flextglCreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); - flextglDeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); - flextglDispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); - flextglDispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); - flextglDrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); - flextglDrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); - flextglFramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); - flextglGenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); - flextglGetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); - flextglGetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); - flextglGetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); - flextglGetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); - flextglGetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); - flextglGetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); - flextglGetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); - flextglGetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); - flextglGetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); - flextglGetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); - flextglIsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); - flextglMemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); - flextglMemoryBarrierByRegion = reinterpret_cast(loader.load("glMemoryBarrierByRegion")); - flextglProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); - flextglProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); - flextglProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); - flextglProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); - flextglProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); - flextglProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); - flextglProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); - flextglProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); - flextglProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); - flextglProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); - flextglProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); - flextglProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); - flextglProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); - flextglProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); - flextglProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); - flextglProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); - flextglProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); - flextglProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); - flextglProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); - flextglProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); - flextglProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); - flextglProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); - flextglProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); - flextglProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); - flextglProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); - flextglProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); - flextglProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); - flextglProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); - flextglProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); - flextglProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); - flextglProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); - flextglProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); - flextglProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); - flextglSampleMaski = reinterpret_cast(loader.load("glSampleMaski")); - flextglTexStorage2DMultisample = reinterpret_cast(loader.load("glTexStorage2DMultisample")); - flextglUseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); - flextglValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); - flextglVertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); - flextglVertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); - flextglVertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); - flextglVertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); + flextGL.ActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); + flextGL.BindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); + flextGL.BindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); + flextGL.BindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); + flextGL.CreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); + flextGL.DeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); + flextGL.DispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); + flextGL.DispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); + flextGL.DrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); + flextGL.DrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); + flextGL.FramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); + flextGL.GenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); + flextGL.GetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); + flextGL.GetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); + flextGL.GetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); + flextGL.GetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); + flextGL.GetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); + flextGL.GetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); + flextGL.GetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); + flextGL.GetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); + flextGL.GetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); + flextGL.GetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); + flextGL.IsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); + flextGL.MemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); + flextGL.MemoryBarrierByRegion = reinterpret_cast(loader.load("glMemoryBarrierByRegion")); + flextGL.ProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); + flextGL.ProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); + flextGL.ProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); + flextGL.ProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); + flextGL.ProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); + flextGL.ProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); + flextGL.ProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); + flextGL.ProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); + flextGL.ProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); + flextGL.ProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); + flextGL.ProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); + flextGL.ProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); + flextGL.ProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); + flextGL.ProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); + flextGL.ProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); + flextGL.ProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); + flextGL.ProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); + flextGL.ProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); + flextGL.ProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); + flextGL.ProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); + flextGL.ProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); + flextGL.ProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); + flextGL.ProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); + flextGL.ProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); + flextGL.ProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); + flextGL.ProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); + flextGL.ProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); + flextGL.ProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); + flextGL.ProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); + flextGL.ProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); + flextGL.ProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); + flextGL.ProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); + flextGL.ProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); + flextGL.SampleMaski = reinterpret_cast(loader.load("glSampleMaski")); + flextGL.TexStorage2DMultisample = reinterpret_cast(loader.load("glTexStorage2DMultisample")); + flextGL.UseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); + flextGL.ValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); + flextGL.VertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); + flextGL.VertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); + flextGL.VertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); + flextGL.VertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); /* GL_ES_VERSION_3_2 */ - flextglBlendBarrier = reinterpret_cast(loader.load("glBlendBarrier")); - flextglBlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); - flextglBlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); - flextglBlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); - flextglBlendFunci = reinterpret_cast(loader.load("glBlendFunci")); - flextglColorMaski = reinterpret_cast(loader.load("glColorMaski")); - flextglCopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); - flextglDebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); - flextglDebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); - flextglDebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); - flextglDisablei = reinterpret_cast(loader.load("glDisablei")); - flextglDrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); - flextglDrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); - flextglDrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); - flextglEnablei = reinterpret_cast(loader.load("glEnablei")); - flextglFramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); - flextglGetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); - flextglGetGraphicsResetStatus = reinterpret_cast(loader.load("glGetGraphicsResetStatus")); - flextglGetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); - flextglGetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); - flextglGetPointerv = reinterpret_cast(loader.load("glGetPointerv")); - flextglGetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); - flextglGetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); - flextglGetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); - flextglGetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); - flextglGetnUniformfv = reinterpret_cast(loader.load("glGetnUniformfv")); - flextglGetnUniformiv = reinterpret_cast(loader.load("glGetnUniformiv")); - flextglGetnUniformuiv = reinterpret_cast(loader.load("glGetnUniformuiv")); - flextglIsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); - flextglMinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); - flextglObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); - flextglObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); - flextglPatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); - flextglPopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); - flextglPrimitiveBoundingBox = reinterpret_cast(loader.load("glPrimitiveBoundingBox")); - flextglPushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); - flextglReadnPixels = reinterpret_cast(loader.load("glReadnPixels")); - flextglSamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); - flextglSamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); - flextglTexBuffer = reinterpret_cast(loader.load("glTexBuffer")); - flextglTexBufferRange = reinterpret_cast(loader.load("glTexBufferRange")); - flextglTexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); - flextglTexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); - flextglTexStorage3DMultisample = reinterpret_cast(loader.load("glTexStorage3DMultisample")); + flextGL.BlendBarrier = reinterpret_cast(loader.load("glBlendBarrier")); + flextGL.BlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); + flextGL.BlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); + flextGL.BlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); + flextGL.BlendFunci = reinterpret_cast(loader.load("glBlendFunci")); + flextGL.ColorMaski = reinterpret_cast(loader.load("glColorMaski")); + flextGL.CopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); + flextGL.DebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); + flextGL.DebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); + flextGL.DebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); + flextGL.Disablei = reinterpret_cast(loader.load("glDisablei")); + flextGL.DrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); + flextGL.DrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); + flextGL.DrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); + flextGL.Enablei = reinterpret_cast(loader.load("glEnablei")); + flextGL.FramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); + flextGL.GetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); + flextGL.GetGraphicsResetStatus = reinterpret_cast(loader.load("glGetGraphicsResetStatus")); + flextGL.GetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); + flextGL.GetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); + flextGL.GetPointerv = reinterpret_cast(loader.load("glGetPointerv")); + flextGL.GetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); + flextGL.GetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); + flextGL.GetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); + flextGL.GetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); + flextGL.GetnUniformfv = reinterpret_cast(loader.load("glGetnUniformfv")); + flextGL.GetnUniformiv = reinterpret_cast(loader.load("glGetnUniformiv")); + flextGL.GetnUniformuiv = reinterpret_cast(loader.load("glGetnUniformuiv")); + flextGL.IsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); + flextGL.MinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); + flextGL.ObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); + flextGL.ObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); + flextGL.PatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); + flextGL.PopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); + flextGL.PrimitiveBoundingBox = reinterpret_cast(loader.load("glPrimitiveBoundingBox")); + flextGL.PushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); + flextGL.ReadnPixels = reinterpret_cast(loader.load("glReadnPixels")); + flextGL.SamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); + flextGL.SamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); + flextGL.TexBuffer = reinterpret_cast(loader.load("glTexBuffer")); + flextGL.TexBufferRange = reinterpret_cast(loader.load("glTexBufferRange")); + flextGL.TexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); + flextGL.TexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); + flextGL.TexStorage3DMultisample = reinterpret_cast(loader.load("glTexStorage3DMultisample")); /* GL_EXT_copy_image */ - flextglCopyImageSubDataEXT = reinterpret_cast(loader.load("glCopyImageSubDataEXT")); + flextGL.CopyImageSubDataEXT = reinterpret_cast(loader.load("glCopyImageSubDataEXT")); /* GL_EXT_debug_label */ - flextglGetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); - flextglLabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); + flextGL.GetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); + flextGL.LabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); /* GL_EXT_debug_marker */ - flextglInsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); - flextglPopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); - flextglPushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); + flextGL.InsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); + flextGL.PopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); + flextGL.PushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); /* GL_EXT_disjoint_timer_query */ - flextglBeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); - flextglDeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); - flextglEndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); - flextglGenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); - flextglGetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); - flextglGetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); - flextglGetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); - flextglGetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); - flextglGetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); - flextglGetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); - flextglIsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); - flextglQueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); + flextGL.BeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); + flextGL.DeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); + flextGL.EndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); + flextGL.GenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); + flextGL.GetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); + flextGL.GetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); + flextGL.GetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); + flextGL.GetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); + flextGL.GetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); + flextGL.GetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); + flextGL.IsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); + flextGL.QueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); /* GL_EXT_draw_buffers_indexed */ - flextglBlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); - flextglBlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); - flextglBlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); - flextglBlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); - flextglColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); - flextglDisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); - flextglEnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); - flextglIsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); + flextGL.BlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); + flextGL.BlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); + flextGL.BlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); + flextGL.BlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); + flextGL.ColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); + flextGL.DisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); + flextGL.EnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); + flextGL.IsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); /* GL_EXT_geometry_shader */ - flextglFramebufferTextureEXT = reinterpret_cast(loader.load("glFramebufferTextureEXT")); + flextGL.FramebufferTextureEXT = reinterpret_cast(loader.load("glFramebufferTextureEXT")); /* GL_EXT_multi_draw_arrays */ - flextglMultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); - flextglMultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); + flextGL.MultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); + flextGL.MultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); /* GL_EXT_multisampled_render_to_texture */ - flextglFramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); - flextglRenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); + flextGL.FramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); + flextGL.RenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); /* GL_EXT_polygon_offset_clamp */ - flextglPolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); + flextGL.PolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); /* GL_EXT_primitive_bounding_box */ - flextglPrimitiveBoundingBoxEXT = reinterpret_cast(loader.load("glPrimitiveBoundingBoxEXT")); + flextGL.PrimitiveBoundingBoxEXT = reinterpret_cast(loader.load("glPrimitiveBoundingBoxEXT")); /* GL_EXT_robustness */ - flextglGetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); - flextglGetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); - flextglGetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); - flextglReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); + flextGL.GetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); + flextGL.GetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); + flextGL.GetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); + flextGL.ReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); /* GL_EXT_separate_shader_objects */ - flextglActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); - flextglBindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); - flextglCreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); - flextglDeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); - flextglGenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); - flextglGetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); - flextglGetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); - flextglIsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); - flextglProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); - flextglProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); - flextglProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); - flextglProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); - flextglProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); - flextglProgramUniform1uiEXT = reinterpret_cast(loader.load("glProgramUniform1uiEXT")); - flextglProgramUniform1uivEXT = reinterpret_cast(loader.load("glProgramUniform1uivEXT")); - flextglProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); - flextglProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); - flextglProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); - flextglProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); - flextglProgramUniform2uiEXT = reinterpret_cast(loader.load("glProgramUniform2uiEXT")); - flextglProgramUniform2uivEXT = reinterpret_cast(loader.load("glProgramUniform2uivEXT")); - flextglProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); - flextglProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); - flextglProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); - flextglProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); - flextglProgramUniform3uiEXT = reinterpret_cast(loader.load("glProgramUniform3uiEXT")); - flextglProgramUniform3uivEXT = reinterpret_cast(loader.load("glProgramUniform3uivEXT")); - flextglProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); - flextglProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); - flextglProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); - flextglProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); - flextglProgramUniform4uiEXT = reinterpret_cast(loader.load("glProgramUniform4uiEXT")); - flextglProgramUniform4uivEXT = reinterpret_cast(loader.load("glProgramUniform4uivEXT")); - flextglProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); - flextglProgramUniformMatrix2x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fvEXT")); - flextglProgramUniformMatrix2x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fvEXT")); - flextglProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); - flextglProgramUniformMatrix3x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fvEXT")); - flextglProgramUniformMatrix3x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fvEXT")); - flextglProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); - flextglProgramUniformMatrix4x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fvEXT")); - flextglProgramUniformMatrix4x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fvEXT")); - flextglUseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); - flextglValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); + flextGL.ActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); + flextGL.BindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); + flextGL.CreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); + flextGL.DeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); + flextGL.GenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); + flextGL.GetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); + flextGL.GetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); + flextGL.IsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); + flextGL.ProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); + flextGL.ProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); + flextGL.ProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); + flextGL.ProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); + flextGL.ProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); + flextGL.ProgramUniform1uiEXT = reinterpret_cast(loader.load("glProgramUniform1uiEXT")); + flextGL.ProgramUniform1uivEXT = reinterpret_cast(loader.load("glProgramUniform1uivEXT")); + flextGL.ProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); + flextGL.ProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); + flextGL.ProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); + flextGL.ProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); + flextGL.ProgramUniform2uiEXT = reinterpret_cast(loader.load("glProgramUniform2uiEXT")); + flextGL.ProgramUniform2uivEXT = reinterpret_cast(loader.load("glProgramUniform2uivEXT")); + flextGL.ProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); + flextGL.ProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); + flextGL.ProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); + flextGL.ProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); + flextGL.ProgramUniform3uiEXT = reinterpret_cast(loader.load("glProgramUniform3uiEXT")); + flextGL.ProgramUniform3uivEXT = reinterpret_cast(loader.load("glProgramUniform3uivEXT")); + flextGL.ProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); + flextGL.ProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); + flextGL.ProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); + flextGL.ProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); + flextGL.ProgramUniform4uiEXT = reinterpret_cast(loader.load("glProgramUniform4uiEXT")); + flextGL.ProgramUniform4uivEXT = reinterpret_cast(loader.load("glProgramUniform4uivEXT")); + flextGL.ProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); + flextGL.ProgramUniformMatrix2x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fvEXT")); + flextGL.ProgramUniformMatrix2x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fvEXT")); + flextGL.ProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); + flextGL.ProgramUniformMatrix3x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fvEXT")); + flextGL.ProgramUniformMatrix3x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fvEXT")); + flextGL.ProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); + flextGL.ProgramUniformMatrix4x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fvEXT")); + flextGL.ProgramUniformMatrix4x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fvEXT")); + flextGL.UseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); + flextGL.ValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); /* GL_EXT_tessellation_shader */ - flextglPatchParameteriEXT = reinterpret_cast(loader.load("glPatchParameteriEXT")); + flextGL.PatchParameteriEXT = reinterpret_cast(loader.load("glPatchParameteriEXT")); /* GL_EXT_texture_border_clamp */ - flextglGetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); - flextglGetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); - flextglGetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); - flextglGetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); - flextglSamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); - flextglSamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); - flextglTexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); - flextglTexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); + flextGL.GetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); + flextGL.GetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); + flextGL.GetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); + flextGL.GetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); + flextGL.SamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); + flextGL.SamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); + flextGL.TexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); + flextGL.TexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); /* GL_EXT_texture_buffer */ - flextglTexBufferEXT = reinterpret_cast(loader.load("glTexBufferEXT")); - flextglTexBufferRangeEXT = reinterpret_cast(loader.load("glTexBufferRangeEXT")); + flextGL.TexBufferEXT = reinterpret_cast(loader.load("glTexBufferEXT")); + flextGL.TexBufferRangeEXT = reinterpret_cast(loader.load("glTexBufferRangeEXT")); /* GL_KHR_blend_equation_advanced */ - flextglBlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); + flextGL.BlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); /* GL_KHR_debug */ - flextglDebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); - flextglDebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); - flextglDebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); - flextglGetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); - flextglGetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); - flextglGetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); - flextglGetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); - flextglObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); - flextglObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); - flextglPopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); - flextglPushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); + flextGL.DebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); + flextGL.DebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); + flextGL.DebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); + flextGL.GetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); + flextGL.GetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); + flextGL.GetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); + flextGL.GetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); + flextGL.ObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); + flextGL.ObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); + flextGL.PopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); + flextGL.PushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); /* GL_KHR_robustness */ - flextglGetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); - flextglGetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); - flextglGetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); - flextglGetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); - flextglReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); + flextGL.GetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); + flextGL.GetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); + flextGL.GetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); + flextGL.GetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); + flextGL.ReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); /* GL_NV_polygon_mode */ - flextglPolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); + flextGL.PolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); /* GL_OES_mapbuffer */ - flextglGetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); - flextglMapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); - flextglUnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); + flextGL.GetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); + flextGL.MapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); + flextGL.UnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); /* GL_OES_sample_shading */ - flextglMinSampleShadingOES = reinterpret_cast(loader.load("glMinSampleShadingOES")); + flextGL.MinSampleShadingOES = reinterpret_cast(loader.load("glMinSampleShadingOES")); /* GL_OES_texture_storage_multisample_2d_array */ - flextglTexStorage3DMultisampleOES = reinterpret_cast(loader.load("glTexStorage3DMultisampleOES")); + flextGL.TexStorage3DMultisampleOES = reinterpret_cast(loader.load("glTexStorage3DMultisampleOES")); /* GL_OVR_multiview */ - flextglFramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glFramebufferTextureMultiviewOVR")); + flextGL.FramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glFramebufferTextureMultiviewOVR")); } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp.template b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp.template index 8b7d062e1..b7013201e 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp.template @@ -39,7 +39,7 @@ void flextGLInit(Magnum::GL::Context&) { /* GL_@category */ @for f in funcs: @if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: - flextgl@f.name = reinterpret_cast<@f.returntype\ + flextGL.@f.name = reinterpret_cast<@f.returntype\ (APIENTRY*)(@f.param_type_list_string())>(loader.load("gl@f.name")); @end @end diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp index ed7d7269a..40f0daf55 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp @@ -29,485 +29,7 @@ extern "C" { #endif -/* GL_ES_VERSION_2_0 */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglAttachShader)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBufferData)(GLenum, GLsizeiptr, const void *, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompileShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateProgram)(void) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShader)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDetachShader)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexAttribArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexAttribArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetAttribLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetUniformLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformfv)(GLuint, GLint, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformiv)(GLuint, GLint, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribfv)(GLuint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsShader)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLinkProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilMaskSeparate)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4iv)(GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgram)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1f)(GLuint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2f)(GLuint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4fv)(GLuint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *) = nullptr; - -/* GL_ES_VERSION_3_0 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginQuery)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBeginTransformFeedback)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferBase)(GLenum, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindSampler)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindTransformFeedback)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfi)(GLenum, GLint, GLfloat, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfv)(GLenum, GLint, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferiv)(GLenum, GLint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferuiv)(GLenum, GLint, const GLuint *) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglClientWaitSync)(GLsync, GLbitfield, GLuint64) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueries)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSamplers)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSync)(GLsync) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTransformFeedbacks)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArrays)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffers)(GLsizei, const GLenum *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndQuery)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndTransformFeedback)(void) = nullptr; -FLEXTGL_EXPORT GLsync(APIENTRY *flextglFenceSync)(GLenum, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenQueries)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenSamplers)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenTransformFeedbacks)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArrays)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteri64v)(GLenum, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointerv)(GLenum, GLenum, void **) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataLocation)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64i_v)(GLenum, GLuint, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64v)(GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegeri_v)(GLenum, GLuint, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryiv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterfv)(GLuint, GLenum, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameteriv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetStringi)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetUniformBlockIndex)(GLuint, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformuiv)(GLuint, GLint, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQuery)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSampler)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSync)(GLsync) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTransformFeedback)(GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArray)(GLuint) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPauseTransformFeedback)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramBinary)(GLuint, GLenum, const void *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteri)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglResumeTransformFeedback)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterf)(GLuint, GLenum, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterfv)(GLuint, GLenum, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteri)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteriv)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1ui)(GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform1uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2ui)(GLint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform2uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3ui)(GLint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform3uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniform4uiv)(GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformBlockBinding)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBuffer)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisor)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4iv)(GLuint, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4uiv)(GLuint, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglWaitSync)(GLsync, GLbitfield, GLuint64) = nullptr; - -/* GL_ES_VERSION_3_1 */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDispatchCompute)(GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysIndirect)(GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsIndirect)(GLenum, GLenum, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferParameteri)(GLenum, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocation)(GLuint, GLenum, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrier)(GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrierByRegion)(GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1f)(GLuint, GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1i)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ui)(GLuint, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2i)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ui)(GLuint, GLint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStages)(GLuint, GLbitfield, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribBinding)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint) = nullptr; - -/* GL_ES_VERSION_3_2 */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrier)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallback)(GLDEBUGPROC, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerv)(GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformiv)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShading)(GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBox)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIiv)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuiv)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBuffer)(GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIiv)(GLenum, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuiv)(GLenum, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; - -/* GL_EXT_copy_image */ -FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr; - -/* GL_EXT_debug_label */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_debug_marker */ -FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *) = nullptr; - -/* GL_EXT_disjoint_timer_query */ -FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum) = nullptr; - -/* GL_EXT_draw_buffers_indexed */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint) = nullptr; - -/* GL_EXT_geometry_shader */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint) = nullptr; - -/* GL_EXT_multi_draw_arrays */ -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei) = nullptr; - -/* GL_EXT_multisampled_render_to_texture */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; - -/* GL_EXT_polygon_offset_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat) = nullptr; - -/* GL_EXT_primitive_bounding_box */ -FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; - -/* GL_EXT_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_EXT_separate_shader_objects */ -FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiEXT)(GLuint, GLint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint) = nullptr; - -/* GL_EXT_tessellation_shader */ -FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteriEXT)(GLenum, GLint) = nullptr; - -/* GL_EXT_texture_border_clamp */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *) = nullptr; - -/* GL_EXT_texture_buffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferEXT)(GLenum, GLenum, GLuint) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr; - -/* GL_KHR_blend_equation_advanced */ -FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr; - -/* GL_KHR_debug */ -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; - -/* GL_KHR_robustness */ -FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *) = nullptr; -FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; - -/* GL_NV_polygon_mode */ -FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum) = nullptr; - -/* GL_OES_mapbuffer */ -FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **) = nullptr; -FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum) = nullptr; -FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum) = nullptr; - -/* GL_OES_sample_shading */ -FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShadingOES)(GLfloat) = nullptr; - -/* GL_OES_texture_storage_multisample_2d_array */ -FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; - -/* GL_OVR_multiview */ -FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei) = nullptr; +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp.template b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp.template index 4d3873d1c..fdc0df900 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp.template +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.cpp.template @@ -29,18 +29,8 @@ #ifdef __cplusplus extern "C" { #endif -@for category,funcs in functions: -@if funcs: - -/* GL_@category */ -@for f in funcs: - @if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: -FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()) = nullptr; - @end -@end -@end -@end + +FlextGL flextGL{}; #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h index f415c414c..943484e0f 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h @@ -1655,988 +1655,1088 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen #define GL_MAX_VIEWS_OVR 0x9631 #define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633 -/* Function prototypes */ +/* Function prototypes. First an intersection of GL 1.0 / 1.1 functions that + are also available in ES, which we can access directly. ES 3.2 doesn't add + anything new that would be in GL 1.1, so that section is omitted here. */ /* GL_ES_VERSION_2_0 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum); -#define glActiveTexture flextglActiveTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglAttachShader)(GLuint, GLuint); -#define glAttachShader flextglAttachShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *); -#define glBindAttribLocation flextglBindAttribLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffer)(GLenum, GLuint); -#define glBindBuffer flextglBindBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint); -#define glBindFramebuffer flextglBindFramebuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint); -#define glBindRenderbuffer flextglBindRenderbuffer GLAPI FLEXTGL_EXPORT void APIENTRY glBindTexture(GLenum, GLuint); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); -#define glBlendColor flextglBlendColor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum); -#define glBlendEquation flextglBlendEquation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum); -#define glBlendEquationSeparate flextglBlendEquationSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glBlendFunc(GLenum, GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparate flextglBlendFuncSeparate -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferData)(GLenum, GLsizeiptr, const void *, GLenum); -#define glBufferData flextglBufferData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *); -#define glBufferSubData flextglBufferSubData -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum); -#define glCheckFramebufferStatus flextglCheckFramebufferStatus GLAPI FLEXTGL_EXPORT void APIENTRY glClear(GLbitfield); GLAPI FLEXTGL_EXPORT void APIENTRY glClearColor(GLfloat, GLfloat, GLfloat, GLfloat); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat); -#define glClearDepthf flextglClearDepthf GLAPI FLEXTGL_EXPORT void APIENTRY glClearStencil(GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glColorMask(GLboolean, GLboolean, GLboolean, GLboolean); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompileShader)(GLuint); -#define glCompileShader flextglCompileShader -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage2D flextglCompressedTexImage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage2D flextglCompressedTexSubImage2D GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateProgram)(void); -#define glCreateProgram flextglCreateProgram -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShader)(GLenum); -#define glCreateShader flextglCreateShader GLAPI FLEXTGL_EXPORT void APIENTRY glCullFace(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *); -#define glDeleteBuffers flextglDeleteBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *); -#define glDeleteFramebuffers flextglDeleteFramebuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgram)(GLuint); -#define glDeleteProgram flextglDeleteProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *); -#define glDeleteRenderbuffers flextglDeleteRenderbuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteShader)(GLuint); -#define glDeleteShader flextglDeleteShader GLAPI FLEXTGL_EXPORT void APIENTRY glDeleteTextures(GLsizei, const GLuint *); GLAPI FLEXTGL_EXPORT void APIENTRY glDepthFunc(GLenum); GLAPI FLEXTGL_EXPORT void APIENTRY glDepthMask(GLboolean); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat); -#define glDepthRangef flextglDepthRangef -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDetachShader)(GLuint, GLuint); -#define glDetachShader flextglDetachShader GLAPI FLEXTGL_EXPORT void APIENTRY glDisable(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexAttribArray)(GLuint); -#define glDisableVertexAttribArray flextglDisableVertexAttribArray GLAPI FLEXTGL_EXPORT void APIENTRY glDrawArrays(GLenum, GLint, GLsizei); GLAPI FLEXTGL_EXPORT void APIENTRY glDrawElements(GLenum, GLsizei, GLenum, const void *); GLAPI FLEXTGL_EXPORT void APIENTRY glEnable(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexAttribArray)(GLuint); -#define glEnableVertexAttribArray flextglEnableVertexAttribArray GLAPI FLEXTGL_EXPORT void APIENTRY glFinish(void); GLAPI FLEXTGL_EXPORT void APIENTRY glFlush(void); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); -#define glFramebufferRenderbuffer flextglFramebufferRenderbuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture2D flextglFramebufferTexture2D GLAPI FLEXTGL_EXPORT void APIENTRY glFrontFace(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *); -#define glGenBuffers flextglGenBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *); -#define glGenFramebuffers flextglGenFramebuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *); -#define glGenRenderbuffers flextglGenRenderbuffers GLAPI FLEXTGL_EXPORT void APIENTRY glGenTextures(GLsizei, GLuint *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum); -#define glGenerateMipmap flextglGenerateMipmap -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveAttrib flextglGetActiveAttrib -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveUniform flextglGetActiveUniform -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *); -#define glGetAttachedShaders flextglGetAttachedShaders -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetAttribLocation)(GLuint, const GLchar *); -#define glGetAttribLocation flextglGetAttribLocation GLAPI FLEXTGL_EXPORT void APIENTRY glGetBooleanv(GLenum, GLboolean *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetBufferParameteriv flextglGetBufferParameteriv GLAPI FLEXTGL_EXPORT GLenum APIENTRY glGetError(void); GLAPI FLEXTGL_EXPORT void APIENTRY glGetFloatv(GLenum, GLfloat *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); -#define glGetFramebufferAttachmentParameteriv flextglGetFramebufferAttachmentParameteriv GLAPI FLEXTGL_EXPORT void APIENTRY glGetIntegerv(GLenum, GLint *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramInfoLog flextglGetProgramInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramiv)(GLuint, GLenum, GLint *); -#define glGetProgramiv flextglGetProgramiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetRenderbufferParameteriv flextglGetRenderbufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderInfoLog flextglGetShaderInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); -#define glGetShaderPrecisionFormat flextglGetShaderPrecisionFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderSource flextglGetShaderSource -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(GLuint, GLenum, GLint *); -#define glGetShaderiv flextglGetShaderiv GLAPI FLEXTGL_EXPORT const GLubyte * APIENTRY glGetString(GLenum); GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexParameterfv(GLenum, GLenum, GLfloat *); GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexParameteriv(GLenum, GLenum, GLint *); -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetUniformLocation)(GLuint, const GLchar *); -#define glGetUniformLocation flextglGetUniformLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformfv)(GLuint, GLint, GLfloat *); -#define glGetUniformfv flextglGetUniformfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformiv)(GLuint, GLint, GLint *); -#define glGetUniformiv flextglGetUniformiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **); -#define glGetVertexAttribPointerv flextglGetVertexAttribPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribfv)(GLuint, GLenum, GLfloat *); -#define glGetVertexAttribfv flextglGetVertexAttribfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribiv)(GLuint, GLenum, GLint *); -#define glGetVertexAttribiv flextglGetVertexAttribiv GLAPI FLEXTGL_EXPORT void APIENTRY glHint(GLenum, GLenum); -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(GLuint); -#define glIsBuffer flextglIsBuffer GLAPI FLEXTGL_EXPORT GLboolean APIENTRY glIsEnabled(GLenum); -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint); -#define glIsFramebuffer flextglIsFramebuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgram)(GLuint); -#define glIsProgram flextglIsProgram -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint); -#define glIsRenderbuffer flextglIsRenderbuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsShader)(GLuint); -#define glIsShader flextglIsShader GLAPI FLEXTGL_EXPORT GLboolean APIENTRY glIsTexture(GLuint); GLAPI FLEXTGL_EXPORT void APIENTRY glLineWidth(GLfloat); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLinkProgram)(GLuint); -#define glLinkProgram flextglLinkProgram GLAPI FLEXTGL_EXPORT void APIENTRY glPixelStorei(GLenum, GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glPolygonOffset(GLfloat, GLfloat); GLAPI FLEXTGL_EXPORT void APIENTRY glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void); -#define glReleaseShaderCompiler flextglReleaseShaderCompiler -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorage flextglRenderbufferStorage -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean); -#define glSampleCoverage flextglSampleCoverage GLAPI FLEXTGL_EXPORT void APIENTRY glScissor(GLint, GLint, GLsizei, GLsizei); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); -#define glShaderBinary flextglShaderBinary -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *); -#define glShaderSource flextglShaderSource GLAPI FLEXTGL_EXPORT void APIENTRY glStencilFunc(GLenum, GLint, GLuint); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); -#define glStencilFuncSeparate flextglStencilFuncSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glStencilMask(GLuint); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilMaskSeparate)(GLenum, GLuint); -#define glStencilMaskSeparate flextglStencilMaskSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glStencilOp(GLenum, GLenum, GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glStencilOpSeparate flextglStencilOpSeparate GLAPI FLEXTGL_EXPORT void APIENTRY glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameterf(GLenum, GLenum, GLfloat); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameterfv(GLenum, GLenum, const GLfloat *); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameteri(GLenum, GLenum, GLint); GLAPI FLEXTGL_EXPORT void APIENTRY glTexParameteriv(GLenum, GLenum, const GLint *); GLAPI FLEXTGL_EXPORT void APIENTRY glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat); -#define glUniform1f flextglUniform1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *); -#define glUniform1fv flextglUniform1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint); -#define glUniform1i flextglUniform1i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *); -#define glUniform1iv flextglUniform1iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat); -#define glUniform2f flextglUniform2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *); -#define glUniform2fv flextglUniform2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint); -#define glUniform2i flextglUniform2i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *); -#define glUniform2iv flextglUniform2iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat); -#define glUniform3f flextglUniform3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *); -#define glUniform3fv flextglUniform3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint); -#define glUniform3i flextglUniform3i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const GLint *); -#define glUniform3iv flextglUniform3iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glUniform4f flextglUniform4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *); -#define glUniform4fv flextglUniform4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint); -#define glUniform4i flextglUniform4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4iv)(GLint, GLsizei, const GLint *); -#define glUniform4iv flextglUniform4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2fv flextglUniformMatrix2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3fv flextglUniformMatrix3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4fv flextglUniformMatrix4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgram)(GLuint); -#define glUseProgram flextglUseProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgram)(GLuint); -#define glValidateProgram flextglValidateProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1f)(GLuint, GLfloat); -#define glVertexAttrib1f flextglVertexAttrib1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib1fv)(GLuint, const GLfloat *); -#define glVertexAttrib1fv flextglVertexAttrib1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2f)(GLuint, GLfloat, GLfloat); -#define glVertexAttrib2f flextglVertexAttrib2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib2fv)(GLuint, const GLfloat *); -#define glVertexAttrib2fv flextglVertexAttrib2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib3f flextglVertexAttrib3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib3fv)(GLuint, const GLfloat *); -#define glVertexAttrib3fv flextglVertexAttrib3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib4f flextglVertexAttrib4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttrib4fv)(GLuint, const GLfloat *); -#define glVertexAttrib4fv flextglVertexAttrib4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); -#define glVertexAttribPointer flextglVertexAttribPointer GLAPI FLEXTGL_EXPORT void APIENTRY glViewport(GLint, GLint, GLsizei, GLsizei); /* GL_ES_VERSION_3_0 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQuery)(GLenum, GLuint); -#define glBeginQuery flextglBeginQuery -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginTransformFeedback)(GLenum); -#define glBeginTransformFeedback flextglBeginTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferBase)(GLenum, GLuint, GLuint); -#define glBindBufferBase flextglBindBufferBase -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); -#define glBindBufferRange flextglBindBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindSampler)(GLuint, GLuint); -#define glBindSampler flextglBindSampler -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindTransformFeedback)(GLenum, GLuint); -#define glBindTransformFeedback flextglBindTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArray)(GLuint); -#define glBindVertexArray flextglBindVertexArray -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitFramebuffer flextglBlitFramebuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfi)(GLenum, GLint, GLfloat, GLint); -#define glClearBufferfi flextglClearBufferfi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfv)(GLenum, GLint, const GLfloat *); -#define glClearBufferfv flextglClearBufferfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferiv)(GLenum, GLint, const GLint *); -#define glClearBufferiv flextglClearBufferiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferuiv)(GLenum, GLint, const GLuint *); -#define glClearBufferuiv flextglClearBufferuiv -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglClientWaitSync)(GLsync, GLbitfield, GLuint64); -#define glClientWaitSync flextglClientWaitSync -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage3D flextglCompressedTexImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage3D flextglCompressedTexSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); -#define glCopyBufferSubData flextglCopyBufferSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTexSubImage3D flextglCopyTexSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueries)(GLsizei, const GLuint *); -#define glDeleteQueries flextglDeleteQueries -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSamplers)(GLsizei, const GLuint *); -#define glDeleteSamplers flextglDeleteSamplers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSync)(GLsync); -#define glDeleteSync flextglDeleteSync -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTransformFeedbacks)(GLsizei, const GLuint *); -#define glDeleteTransformFeedbacks flextglDeleteTransformFeedbacks -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArrays)(GLsizei, const GLuint *); -#define glDeleteVertexArrays flextglDeleteVertexArrays -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstanced flextglDrawArraysInstanced -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffers)(GLsizei, const GLenum *); -#define glDrawBuffers flextglDrawBuffers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstanced flextglDrawElementsInstanced -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *); -#define glDrawRangeElements flextglDrawRangeElements -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQuery)(GLenum); -#define glEndQuery flextglEndQuery -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndTransformFeedback)(void); -#define glEndTransformFeedback flextglEndTransformFeedback -GLAPI FLEXTGL_EXPORT GLsync(APIENTRY *flextglFenceSync)(GLenum, GLbitfield); -#define glFenceSync flextglFenceSync -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr); -#define glFlushMappedBufferRange flextglFlushMappedBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint); -#define glFramebufferTextureLayer flextglFramebufferTextureLayer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenQueries)(GLsizei, GLuint *); -#define glGenQueries flextglGenQueries -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenSamplers)(GLsizei, GLuint *); -#define glGenSamplers flextglGenSamplers -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenTransformFeedbacks)(GLsizei, GLuint *); -#define glGenTransformFeedbacks flextglGenTransformFeedbacks -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArrays)(GLsizei, GLuint *); -#define glGenVertexArrays flextglGenVertexArrays -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveUniformBlockName flextglGetActiveUniformBlockName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *); -#define glGetActiveUniformBlockiv flextglGetActiveUniformBlockiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *); -#define glGetActiveUniformsiv flextglGetActiveUniformsiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteri64v)(GLenum, GLenum, GLint64 *); -#define glGetBufferParameteri64v flextglGetBufferParameteri64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointerv)(GLenum, GLenum, void **); -#define glGetBufferPointerv flextglGetBufferPointerv -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataLocation)(GLuint, const GLchar *); -#define glGetFragDataLocation flextglGetFragDataLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64i_v)(GLenum, GLuint, GLint64 *); -#define glGetInteger64i_v flextglGetInteger64i_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64v)(GLenum, GLint64 *); -#define glGetInteger64v flextglGetInteger64v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegeri_v)(GLenum, GLuint, GLint *); -#define glGetIntegeri_v flextglGetIntegeri_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *); -#define glGetInternalformativ flextglGetInternalformativ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *); -#define glGetProgramBinary flextglGetProgramBinary -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuiv)(GLuint, GLenum, GLuint *); -#define glGetQueryObjectuiv flextglGetQueryObjectuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryiv)(GLenum, GLenum, GLint *); -#define glGetQueryiv flextglGetQueryiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterfv)(GLuint, GLenum, GLfloat *); -#define glGetSamplerParameterfv flextglGetSamplerParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameteriv)(GLuint, GLenum, GLint *); -#define glGetSamplerParameteriv flextglGetSamplerParameteriv -GLAPI FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetStringi)(GLenum, GLuint); -#define glGetStringi flextglGetStringi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *); -#define glGetSynciv flextglGetSynciv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); -#define glGetTransformFeedbackVarying flextglGetTransformFeedbackVarying -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetUniformBlockIndex)(GLuint, const GLchar *); -#define glGetUniformBlockIndex flextglGetUniformBlockIndex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *); -#define glGetUniformIndices flextglGetUniformIndices -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformuiv)(GLuint, GLint, GLuint *); -#define glGetUniformuiv flextglGetUniformuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIiv)(GLuint, GLenum, GLint *); -#define glGetVertexAttribIiv flextglGetVertexAttribIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIuiv)(GLuint, GLenum, GLuint *); -#define glGetVertexAttribIuiv flextglGetVertexAttribIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *); -#define glInvalidateFramebuffer flextglInvalidateFramebuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei); -#define glInvalidateSubFramebuffer flextglInvalidateSubFramebuffer -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQuery)(GLuint); -#define glIsQuery flextglIsQuery -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSampler)(GLuint); -#define glIsSampler flextglIsSampler -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSync)(GLsync); -#define glIsSync flextglIsSync -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTransformFeedback)(GLuint); -#define glIsTransformFeedback flextglIsTransformFeedback -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArray)(GLuint); -#define glIsVertexArray flextglIsVertexArray -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield); -#define glMapBufferRange flextglMapBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPauseTransformFeedback)(void); -#define glPauseTransformFeedback flextglPauseTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramBinary)(GLuint, GLenum, const void *, GLsizei); -#define glProgramBinary flextglProgramBinary -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteri)(GLuint, GLenum, GLint); -#define glProgramParameteri flextglProgramParameteri GLAPI FLEXTGL_EXPORT void APIENTRY glReadBuffer(GLenum); -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisample flextglRenderbufferStorageMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglResumeTransformFeedback)(void); -#define glResumeTransformFeedback flextglResumeTransformFeedback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterf)(GLuint, GLenum, GLfloat); -#define glSamplerParameterf flextglSamplerParameterf -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterfv)(GLuint, GLenum, const GLfloat *); -#define glSamplerParameterfv flextglSamplerParameterfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteri)(GLuint, GLenum, GLint); -#define glSamplerParameteri flextglSamplerParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteriv)(GLuint, GLenum, const GLint *); -#define glSamplerParameteriv flextglSamplerParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage3D flextglTexImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glTexStorage2D flextglTexStorage2D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); -#define glTexStorage3D flextglTexStorage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage3D flextglTexSubImage3D -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum); -#define glTransformFeedbackVaryings flextglTransformFeedbackVaryings -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1ui)(GLint, GLuint); -#define glUniform1ui flextglUniform1ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1uiv)(GLint, GLsizei, const GLuint *); -#define glUniform1uiv flextglUniform1uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2ui)(GLint, GLuint, GLuint); -#define glUniform2ui flextglUniform2ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2uiv)(GLint, GLsizei, const GLuint *); -#define glUniform2uiv flextglUniform2uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3ui)(GLint, GLuint, GLuint, GLuint); -#define glUniform3ui flextglUniform3ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3uiv)(GLint, GLsizei, const GLuint *); -#define glUniform3uiv flextglUniform3uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint); -#define glUniform4ui flextglUniform4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4uiv)(GLint, GLsizei, const GLuint *); -#define glUniform4uiv flextglUniform4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformBlockBinding)(GLuint, GLuint, GLuint); -#define glUniformBlockBinding flextglUniformBlockBinding -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2x3fv flextglUniformMatrix2x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2x4fv flextglUniformMatrix2x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3x2fv flextglUniformMatrix3x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3x4fv flextglUniformMatrix3x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4x2fv flextglUniformMatrix4x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4x3fv flextglUniformMatrix4x3fv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBuffer)(GLenum); -#define glUnmapBuffer flextglUnmapBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribDivisor)(GLuint, GLuint); -#define glVertexAttribDivisor flextglVertexAttribDivisor -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint); -#define glVertexAttribI4i flextglVertexAttribI4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4iv)(GLuint, const GLint *); -#define glVertexAttribI4iv flextglVertexAttribI4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint); -#define glVertexAttribI4ui flextglVertexAttribI4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4uiv)(GLuint, const GLuint *); -#define glVertexAttribI4uiv flextglVertexAttribI4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *); -#define glVertexAttribIPointer flextglVertexAttribIPointer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglWaitSync)(GLsync, GLbitfield, GLuint64); -#define glWaitSync flextglWaitSync /* GL_ES_VERSION_3_1 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint); -#define glActiveShaderProgram flextglActiveShaderProgram -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); -#define glBindImageTexture flextglBindImageTexture -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint); -#define glBindProgramPipeline flextglBindProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); -#define glBindVertexBuffer flextglBindVertexBuffer -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); -#define glCreateShaderProgramv flextglCreateShaderProgramv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *); -#define glDeleteProgramPipelines flextglDeleteProgramPipelines -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchCompute)(GLuint, GLuint, GLuint); -#define glDispatchCompute flextglDispatchCompute -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr); -#define glDispatchComputeIndirect flextglDispatchComputeIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysIndirect)(GLenum, const void *); -#define glDrawArraysIndirect flextglDrawArraysIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsIndirect)(GLenum, GLenum, const void *); -#define glDrawElementsIndirect flextglDrawElementsIndirect -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferParameteri)(GLenum, GLenum, GLint); -#define glFramebufferParameteri flextglFramebufferParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *); -#define glGenProgramPipelines flextglGenProgramPipelines -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *); -#define glGetBooleani_v flextglGetBooleani_v -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetFramebufferParameteriv flextglGetFramebufferParameteriv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *); -#define glGetMultisamplefv flextglGetMultisamplefv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); -#define glGetProgramInterfaceiv flextglGetProgramInterfaceiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLog flextglGetProgramPipelineInfoLog -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineiv flextglGetProgramPipelineiv -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceIndex flextglGetProgramResourceIndex -GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocation)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceLocation flextglGetProgramResourceLocation -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramResourceName flextglGetProgramResourceName -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *); -#define glGetProgramResourceiv flextglGetProgramResourceiv GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexLevelParameterfv(GLenum, GLint, GLenum, GLfloat *); GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexLevelParameteriv(GLenum, GLint, GLenum, GLint *); -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint); -#define glIsProgramPipeline flextglIsProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrier)(GLbitfield); -#define glMemoryBarrier flextglMemoryBarrier -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMemoryBarrierByRegion)(GLbitfield); -#define glMemoryBarrierByRegion flextglMemoryBarrierByRegion -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1f)(GLuint, GLint, GLfloat); -#define glProgramUniform1f flextglProgramUniform1f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fv flextglProgramUniform1fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1i)(GLuint, GLint, GLint); -#define glProgramUniform1i flextglProgramUniform1i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1iv flextglProgramUniform1iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ui)(GLuint, GLint, GLuint); -#define glProgramUniform1ui flextglProgramUniform1ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform1uiv flextglProgramUniform1uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2f flextglProgramUniform2f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fv flextglProgramUniform2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2i)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2i flextglProgramUniform2i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2iv flextglProgramUniform2iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ui)(GLuint, GLint, GLuint, GLuint); -#define glProgramUniform2ui flextglProgramUniform2ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform2uiv flextglProgramUniform2uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3f flextglProgramUniform3f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fv flextglProgramUniform3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3i flextglProgramUniform3i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3iv flextglProgramUniform3iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint); -#define glProgramUniform3ui flextglProgramUniform3ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform3uiv flextglProgramUniform3uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4f flextglProgramUniform4f -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fv flextglProgramUniform4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4i flextglProgramUniform4i -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4iv flextglProgramUniform4iv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); -#define glProgramUniform4ui flextglProgramUniform4ui -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform4uiv flextglProgramUniform4uiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fv flextglProgramUniformMatrix2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x3fv flextglProgramUniformMatrix2x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x4fv flextglProgramUniformMatrix2x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fv flextglProgramUniformMatrix3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x2fv flextglProgramUniformMatrix3x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x4fv flextglProgramUniformMatrix3x4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fv flextglProgramUniformMatrix4fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x2fv flextglProgramUniformMatrix4x2fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x3fv flextglProgramUniformMatrix4x3fv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield); -#define glSampleMaski flextglSampleMaski -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTexStorage2DMultisample flextglTexStorage2DMultisample -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStages)(GLuint, GLbitfield, GLuint); -#define glUseProgramStages flextglUseProgramStages -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint); -#define glValidateProgramPipeline flextglValidateProgramPipeline -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribBinding)(GLuint, GLuint); -#define glVertexAttribBinding flextglVertexAttribBinding -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint); -#define glVertexAttribFormat flextglVertexAttribFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint); -#define glVertexAttribIFormat flextglVertexAttribIFormat -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint); -#define glVertexBindingDivisor flextglVertexBindingDivisor + +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + + /* GL_ES_VERSION_2_0 */ + + void(APIENTRY *ActiveTexture)(GLenum); + void(APIENTRY *AttachShader)(GLuint, GLuint); + void(APIENTRY *BindAttribLocation)(GLuint, GLuint, const GLchar *); + void(APIENTRY *BindBuffer)(GLenum, GLuint); + void(APIENTRY *BindFramebuffer)(GLenum, GLuint); + void(APIENTRY *BindRenderbuffer)(GLenum, GLuint); + void(APIENTRY *BlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *BlendEquation)(GLenum); + void(APIENTRY *BlendEquationSeparate)(GLenum, GLenum); + void(APIENTRY *BlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BufferData)(GLenum, GLsizeiptr, const void *, GLenum); + void(APIENTRY *BufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *); + GLenum(APIENTRY *CheckFramebufferStatus)(GLenum); + void(APIENTRY *ClearDepthf)(GLfloat); + void(APIENTRY *CompileShader)(GLuint); + void(APIENTRY *CompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); + GLuint(APIENTRY *CreateProgram)(void); + GLuint(APIENTRY *CreateShader)(GLenum); + void(APIENTRY *DeleteBuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteFramebuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteProgram)(GLuint); + void(APIENTRY *DeleteRenderbuffers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteShader)(GLuint); + void(APIENTRY *DepthRangef)(GLfloat, GLfloat); + void(APIENTRY *DetachShader)(GLuint, GLuint); + void(APIENTRY *DisableVertexAttribArray)(GLuint); + void(APIENTRY *EnableVertexAttribArray)(GLuint); + void(APIENTRY *FramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); + void(APIENTRY *FramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint); + void(APIENTRY *GenBuffers)(GLsizei, GLuint *); + void(APIENTRY *GenFramebuffers)(GLsizei, GLuint *); + void(APIENTRY *GenRenderbuffers)(GLsizei, GLuint *); + void(APIENTRY *GenerateMipmap)(GLenum); + void(APIENTRY *GetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); + void(APIENTRY *GetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); + void(APIENTRY *GetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *); + GLint(APIENTRY *GetAttribLocation)(GLuint, const GLchar *); + void(APIENTRY *GetBufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); + void(APIENTRY *GetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetRenderbufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); + void(APIENTRY *GetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetShaderiv)(GLuint, GLenum, GLint *); + GLint(APIENTRY *GetUniformLocation)(GLuint, const GLchar *); + void(APIENTRY *GetUniformfv)(GLuint, GLint, GLfloat *); + void(APIENTRY *GetUniformiv)(GLuint, GLint, GLint *); + void(APIENTRY *GetVertexAttribPointerv)(GLuint, GLenum, void **); + void(APIENTRY *GetVertexAttribfv)(GLuint, GLenum, GLfloat *); + void(APIENTRY *GetVertexAttribiv)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsBuffer)(GLuint); + GLboolean(APIENTRY *IsFramebuffer)(GLuint); + GLboolean(APIENTRY *IsProgram)(GLuint); + GLboolean(APIENTRY *IsRenderbuffer)(GLuint); + GLboolean(APIENTRY *IsShader)(GLuint); + void(APIENTRY *LinkProgram)(GLuint); + void(APIENTRY *ReleaseShaderCompiler)(void); + void(APIENTRY *RenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); + void(APIENTRY *SampleCoverage)(GLfloat, GLboolean); + void(APIENTRY *ShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); + void(APIENTRY *ShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *); + void(APIENTRY *StencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); + void(APIENTRY *StencilMaskSeparate)(GLenum, GLuint); + void(APIENTRY *StencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *Uniform1f)(GLint, GLfloat); + void(APIENTRY *Uniform1fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform1i)(GLint, GLint); + void(APIENTRY *Uniform1iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform2f)(GLint, GLfloat, GLfloat); + void(APIENTRY *Uniform2fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform2i)(GLint, GLint, GLint); + void(APIENTRY *Uniform2iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform3f)(GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *Uniform3fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform3i)(GLint, GLint, GLint, GLint); + void(APIENTRY *Uniform3iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *Uniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *Uniform4fv)(GLint, GLsizei, const GLfloat *); + void(APIENTRY *Uniform4i)(GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *Uniform4iv)(GLint, GLsizei, const GLint *); + void(APIENTRY *UniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UseProgram)(GLuint); + void(APIENTRY *ValidateProgram)(GLuint); + void(APIENTRY *VertexAttrib1f)(GLuint, GLfloat); + void(APIENTRY *VertexAttrib1fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib2f)(GLuint, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib2fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib3fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *VertexAttrib4fv)(GLuint, const GLfloat *); + void(APIENTRY *VertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); + + /* GL_ES_VERSION_3_0 */ + + void(APIENTRY *BeginQuery)(GLenum, GLuint); + void(APIENTRY *BeginTransformFeedback)(GLenum); + void(APIENTRY *BindBufferBase)(GLenum, GLuint, GLuint); + void(APIENTRY *BindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *BindSampler)(GLuint, GLuint); + void(APIENTRY *BindTransformFeedback)(GLenum, GLuint); + void(APIENTRY *BindVertexArray)(GLuint); + void(APIENTRY *BlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); + void(APIENTRY *ClearBufferfi)(GLenum, GLint, GLfloat, GLint); + void(APIENTRY *ClearBufferfv)(GLenum, GLint, const GLfloat *); + void(APIENTRY *ClearBufferiv)(GLenum, GLint, const GLint *); + void(APIENTRY *ClearBufferuiv)(GLenum, GLint, const GLuint *); + GLenum(APIENTRY *ClientWaitSync)(GLsync, GLbitfield, GLuint64); + void(APIENTRY *CompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); + void(APIENTRY *CompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); + void(APIENTRY *CopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); + void(APIENTRY *CopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); + void(APIENTRY *DeleteQueries)(GLsizei, const GLuint *); + void(APIENTRY *DeleteSamplers)(GLsizei, const GLuint *); + void(APIENTRY *DeleteSync)(GLsync); + void(APIENTRY *DeleteTransformFeedbacks)(GLsizei, const GLuint *); + void(APIENTRY *DeleteVertexArrays)(GLsizei, const GLuint *); + void(APIENTRY *DrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei); + void(APIENTRY *DrawBuffers)(GLsizei, const GLenum *); + void(APIENTRY *DrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei); + void(APIENTRY *DrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *); + void(APIENTRY *EndQuery)(GLenum); + void(APIENTRY *EndTransformFeedback)(void); + GLsync(APIENTRY *FenceSync)(GLenum, GLbitfield); + void(APIENTRY *FlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr); + void(APIENTRY *FramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint); + void(APIENTRY *GenQueries)(GLsizei, GLuint *); + void(APIENTRY *GenSamplers)(GLsizei, GLuint *); + void(APIENTRY *GenTransformFeedbacks)(GLsizei, GLuint *); + void(APIENTRY *GenVertexArrays)(GLsizei, GLuint *); + void(APIENTRY *GetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *); + void(APIENTRY *GetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *); + void(APIENTRY *GetBufferParameteri64v)(GLenum, GLenum, GLint64 *); + void(APIENTRY *GetBufferPointerv)(GLenum, GLenum, void **); + GLint(APIENTRY *GetFragDataLocation)(GLuint, const GLchar *); + void(APIENTRY *GetInteger64i_v)(GLenum, GLuint, GLint64 *); + void(APIENTRY *GetInteger64v)(GLenum, GLint64 *); + void(APIENTRY *GetIntegeri_v)(GLenum, GLuint, GLint *); + void(APIENTRY *GetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *); + void(APIENTRY *GetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *); + void(APIENTRY *GetQueryObjectuiv)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetQueryiv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterfv)(GLuint, GLenum, GLfloat *); + void(APIENTRY *GetSamplerParameteriv)(GLuint, GLenum, GLint *); + const GLubyte *(APIENTRY *GetStringi)(GLenum, GLuint); + void(APIENTRY *GetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *); + void(APIENTRY *GetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); + GLuint(APIENTRY *GetUniformBlockIndex)(GLuint, const GLchar *); + void(APIENTRY *GetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *); + void(APIENTRY *GetUniformuiv)(GLuint, GLint, GLuint *); + void(APIENTRY *GetVertexAttribIiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetVertexAttribIuiv)(GLuint, GLenum, GLuint *); + void(APIENTRY *InvalidateFramebuffer)(GLenum, GLsizei, const GLenum *); + void(APIENTRY *InvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei); + GLboolean(APIENTRY *IsQuery)(GLuint); + GLboolean(APIENTRY *IsSampler)(GLuint); + GLboolean(APIENTRY *IsSync)(GLsync); + GLboolean(APIENTRY *IsTransformFeedback)(GLuint); + GLboolean(APIENTRY *IsVertexArray)(GLuint); + void *(APIENTRY *MapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield); + void(APIENTRY *PauseTransformFeedback)(void); + void(APIENTRY *ProgramBinary)(GLuint, GLenum, const void *, GLsizei); + void(APIENTRY *ProgramParameteri)(GLuint, GLenum, GLint); + void(APIENTRY *RenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *ResumeTransformFeedback)(void); + void(APIENTRY *SamplerParameterf)(GLuint, GLenum, GLfloat); + void(APIENTRY *SamplerParameterfv)(GLuint, GLenum, const GLfloat *); + void(APIENTRY *SamplerParameteri)(GLuint, GLenum, GLint); + void(APIENTRY *SamplerParameteriv)(GLuint, GLenum, const GLint *); + void(APIENTRY *TexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); + void(APIENTRY *TexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + void(APIENTRY *TexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); + void(APIENTRY *TexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); + void(APIENTRY *TransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum); + void(APIENTRY *Uniform1ui)(GLint, GLuint); + void(APIENTRY *Uniform1uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *Uniform2ui)(GLint, GLuint, GLuint); + void(APIENTRY *Uniform2uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *Uniform3ui)(GLint, GLuint, GLuint, GLuint); + void(APIENTRY *Uniform3uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *Uniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *Uniform4uiv)(GLint, GLsizei, const GLuint *); + void(APIENTRY *UniformBlockBinding)(GLuint, GLuint, GLuint); + void(APIENTRY *UniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); + GLboolean(APIENTRY *UnmapBuffer)(GLenum); + void(APIENTRY *VertexAttribDivisor)(GLuint, GLuint); + void(APIENTRY *VertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *VertexAttribI4iv)(GLuint, const GLint *); + void(APIENTRY *VertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *VertexAttribI4uiv)(GLuint, const GLuint *); + void(APIENTRY *VertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *); + void(APIENTRY *WaitSync)(GLsync, GLbitfield, GLuint64); + + /* GL_ES_VERSION_3_1 */ + + void(APIENTRY *ActiveShaderProgram)(GLuint, GLuint); + void(APIENTRY *BindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); + void(APIENTRY *BindProgramPipeline)(GLuint); + void(APIENTRY *BindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); + GLuint(APIENTRY *CreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); + void(APIENTRY *DeleteProgramPipelines)(GLsizei, const GLuint *); + void(APIENTRY *DispatchCompute)(GLuint, GLuint, GLuint); + void(APIENTRY *DispatchComputeIndirect)(GLintptr); + void(APIENTRY *DrawArraysIndirect)(GLenum, const void *); + void(APIENTRY *DrawElementsIndirect)(GLenum, GLenum, const void *); + void(APIENTRY *FramebufferParameteri)(GLenum, GLenum, GLint); + void(APIENTRY *GenProgramPipelines)(GLsizei, GLuint *); + void(APIENTRY *GetBooleani_v)(GLenum, GLuint, GLboolean *); + void(APIENTRY *GetFramebufferParameteriv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetMultisamplefv)(GLenum, GLuint, GLfloat *); + void(APIENTRY *GetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); + void(APIENTRY *GetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramPipelineiv)(GLuint, GLenum, GLint *); + GLuint(APIENTRY *GetProgramResourceIndex)(GLuint, GLenum, const GLchar *); + GLint(APIENTRY *GetProgramResourceLocation)(GLuint, GLenum, const GLchar *); + void(APIENTRY *GetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *); + GLboolean(APIENTRY *IsProgramPipeline)(GLuint); + void(APIENTRY *MemoryBarrier)(GLbitfield); + void(APIENTRY *MemoryBarrierByRegion)(GLbitfield); + void(APIENTRY *ProgramUniform1f)(GLuint, GLint, GLfloat); + void(APIENTRY *ProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform1i)(GLuint, GLint, GLint); + void(APIENTRY *ProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform1ui)(GLuint, GLint, GLuint); + void(APIENTRY *ProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform2i)(GLuint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform2ui)(GLuint, GLint, GLuint, GLuint); + void(APIENTRY *ProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *SampleMaski)(GLuint, GLbitfield); + void(APIENTRY *TexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); + void(APIENTRY *UseProgramStages)(GLuint, GLbitfield, GLuint); + void(APIENTRY *ValidateProgramPipeline)(GLuint); + void(APIENTRY *VertexAttribBinding)(GLuint, GLuint); + void(APIENTRY *VertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint); + void(APIENTRY *VertexAttribIFormat)(GLuint, GLint, GLenum, GLuint); + void(APIENTRY *VertexBindingDivisor)(GLuint, GLuint); + + /* GL_ES_VERSION_3_2 */ + + void(APIENTRY *BlendBarrier)(void); + void(APIENTRY *BlendEquationSeparatei)(GLuint, GLenum, GLenum); + void(APIENTRY *BlendEquationi)(GLuint, GLenum); + void(APIENTRY *BlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BlendFunci)(GLuint, GLenum, GLenum); + void(APIENTRY *ColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *CopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); + void(APIENTRY *DebugMessageCallback)(GLDEBUGPROC, const void *); + void(APIENTRY *DebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); + void(APIENTRY *DebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); + void(APIENTRY *Disablei)(GLenum, GLuint); + void(APIENTRY *DrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); + void(APIENTRY *DrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); + void(APIENTRY *DrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); + void(APIENTRY *Enablei)(GLenum, GLuint); + void(APIENTRY *FramebufferTexture)(GLenum, GLenum, GLuint, GLint); + GLuint(APIENTRY *GetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); + GLenum(APIENTRY *GetGraphicsResetStatus)(void); + void(APIENTRY *GetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetPointerv)(GLenum, void **); + void(APIENTRY *GetSamplerParameterIiv)(GLuint, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetTexParameterIiv)(GLenum, GLenum, GLint *); + void(APIENTRY *GetTexParameterIuiv)(GLenum, GLenum, GLuint *); + void(APIENTRY *GetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformiv)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *); + GLboolean(APIENTRY *IsEnabledi)(GLenum, GLuint); + void(APIENTRY *MinSampleShading)(GLfloat); + void(APIENTRY *ObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ObjectPtrLabel)(const void *, GLsizei, const GLchar *); + void(APIENTRY *PatchParameteri)(GLenum, GLint); + void(APIENTRY *PopDebugGroup)(void); + void(APIENTRY *PrimitiveBoundingBox)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *PushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + void(APIENTRY *SamplerParameterIiv)(GLuint, GLenum, const GLint *); + void(APIENTRY *SamplerParameterIuiv)(GLuint, GLenum, const GLuint *); + void(APIENTRY *TexBuffer)(GLenum, GLenum, GLuint); + void(APIENTRY *TexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); + void(APIENTRY *TexParameterIiv)(GLenum, GLenum, const GLint *); + void(APIENTRY *TexParameterIuiv)(GLenum, GLenum, const GLuint *); + void(APIENTRY *TexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); + + /* GL_EXT_copy_image */ + + void(APIENTRY *CopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); + + /* GL_EXT_debug_label */ + + void(APIENTRY *GetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *LabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_EXT_debug_marker */ + + void(APIENTRY *InsertEventMarkerEXT)(GLsizei, const GLchar *); + void(APIENTRY *PopGroupMarkerEXT)(void); + void(APIENTRY *PushGroupMarkerEXT)(GLsizei, const GLchar *); + + /* GL_EXT_disjoint_timer_query */ + + void(APIENTRY *BeginQueryEXT)(GLenum, GLuint); + void(APIENTRY *DeleteQueriesEXT)(GLsizei, const GLuint *); + void(APIENTRY *EndQueryEXT)(GLenum); + void(APIENTRY *GenQueriesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetInteger64vEXT)(GLenum, GLint64 *); + void(APIENTRY *GetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); + void(APIENTRY *GetQueryObjectivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); + void(APIENTRY *GetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetQueryivEXT)(GLenum, GLenum, GLint *); + GLboolean(APIENTRY *IsQueryEXT)(GLuint); + void(APIENTRY *QueryCounterEXT)(GLuint, GLenum); + + /* GL_EXT_draw_buffers_indexed */ + + void(APIENTRY *BlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *BlendEquationiEXT)(GLuint, GLenum); + void(APIENTRY *BlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); + void(APIENTRY *BlendFunciEXT)(GLuint, GLenum, GLenum); + void(APIENTRY *ColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); + void(APIENTRY *DisableiEXT)(GLenum, GLuint); + void(APIENTRY *EnableiEXT)(GLenum, GLuint); + GLboolean(APIENTRY *IsEnablediEXT)(GLenum, GLuint); + + /* GL_EXT_geometry_shader */ + + void(APIENTRY *FramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint); + + /* GL_EXT_multi_draw_arrays */ + + void(APIENTRY *MultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); + void(APIENTRY *MultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); + + /* GL_EXT_multisampled_render_to_texture */ + + void(APIENTRY *FramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); + void(APIENTRY *RenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); + + /* GL_EXT_polygon_offset_clamp */ + + void(APIENTRY *PolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); + + /* GL_EXT_primitive_bounding_box */ + + void(APIENTRY *PrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); + + /* GL_EXT_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusEXT)(void); + void(APIENTRY *GetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *ReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_EXT_separate_shader_objects */ + + void(APIENTRY *ActiveShaderProgramEXT)(GLuint, GLuint); + void(APIENTRY *BindProgramPipelineEXT)(GLuint); + GLuint(APIENTRY *CreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); + void(APIENTRY *DeleteProgramPipelinesEXT)(GLsizei, const GLuint *); + void(APIENTRY *GenProgramPipelinesEXT)(GLsizei, GLuint *); + void(APIENTRY *GetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetProgramPipelineivEXT)(GLuint, GLenum, GLint *); + GLboolean(APIENTRY *IsProgramPipelineEXT)(GLuint); + void(APIENTRY *ProgramParameteriEXT)(GLuint, GLenum, GLint); + void(APIENTRY *ProgramUniform1fEXT)(GLuint, GLint, GLfloat); + void(APIENTRY *ProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform1iEXT)(GLuint, GLint, GLint); + void(APIENTRY *ProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform1uiEXT)(GLuint, GLint, GLuint); + void(APIENTRY *ProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint); + void(APIENTRY *ProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); + void(APIENTRY *ProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); + void(APIENTRY *ProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); + void(APIENTRY *ProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); + void(APIENTRY *ProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); + void(APIENTRY *ProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *); + void(APIENTRY *ProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *ProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); + void(APIENTRY *UseProgramStagesEXT)(GLuint, GLbitfield, GLuint); + void(APIENTRY *ValidateProgramPipelineEXT)(GLuint); + + /* GL_EXT_tessellation_shader */ + + void(APIENTRY *PatchParameteriEXT)(GLenum, GLint); + + /* GL_EXT_texture_border_clamp */ + + void(APIENTRY *GetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); + void(APIENTRY *GetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); + void(APIENTRY *GetTexParameterIivEXT)(GLenum, GLenum, GLint *); + void(APIENTRY *GetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); + void(APIENTRY *SamplerParameterIivEXT)(GLuint, GLenum, const GLint *); + void(APIENTRY *SamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); + void(APIENTRY *TexParameterIivEXT)(GLenum, GLenum, const GLint *); + void(APIENTRY *TexParameterIuivEXT)(GLenum, GLenum, const GLuint *); + + /* GL_EXT_texture_buffer */ + + void(APIENTRY *TexBufferEXT)(GLenum, GLenum, GLuint); + void(APIENTRY *TexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); + + /* GL_KHR_blend_equation_advanced */ + + void(APIENTRY *BlendBarrierKHR)(void); + + /* GL_KHR_debug */ + + void(APIENTRY *DebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); + void(APIENTRY *DebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); + void(APIENTRY *DebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); + GLuint(APIENTRY *GetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); + void(APIENTRY *GetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); + void(APIENTRY *GetPointervKHR)(GLenum, void **); + void(APIENTRY *ObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); + void(APIENTRY *ObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); + void(APIENTRY *PopDebugGroupKHR)(void); + void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); + + /* GL_KHR_robustness */ + + GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void); + void(APIENTRY *GetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); + void(APIENTRY *GetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); + void(APIENTRY *GetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); + void(APIENTRY *ReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); + + /* GL_NV_polygon_mode */ + + void(APIENTRY *PolygonModeNV)(GLenum, GLenum); + + /* GL_OES_mapbuffer */ + + void(APIENTRY *GetBufferPointervOES)(GLenum, GLenum, void **); + void *(APIENTRY *MapBufferOES)(GLenum, GLenum); + GLboolean(APIENTRY *UnmapBufferOES)(GLenum); + + /* GL_OES_sample_shading */ + + void(APIENTRY *MinSampleShadingOES)(GLfloat); + + /* GL_OES_texture_storage_multisample_2d_array */ + + void(APIENTRY *TexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); + + /* GL_OVR_multiview */ + + void(APIENTRY *FramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei); +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; + +/* GL_ES_VERSION_2_0 */ + +#define glActiveTexture flextGL.ActiveTexture +#define glAttachShader flextGL.AttachShader +#define glBindAttribLocation flextGL.BindAttribLocation +#define glBindBuffer flextGL.BindBuffer +#define glBindFramebuffer flextGL.BindFramebuffer +#define glBindRenderbuffer flextGL.BindRenderbuffer +#define glBlendColor flextGL.BlendColor +#define glBlendEquation flextGL.BlendEquation +#define glBlendEquationSeparate flextGL.BlendEquationSeparate +#define glBlendFuncSeparate flextGL.BlendFuncSeparate +#define glBufferData flextGL.BufferData +#define glBufferSubData flextGL.BufferSubData +#define glCheckFramebufferStatus flextGL.CheckFramebufferStatus +#define glClearDepthf flextGL.ClearDepthf +#define glCompileShader flextGL.CompileShader +#define glCompressedTexImage2D flextGL.CompressedTexImage2D +#define glCompressedTexSubImage2D flextGL.CompressedTexSubImage2D +#define glCreateProgram flextGL.CreateProgram +#define glCreateShader flextGL.CreateShader +#define glDeleteBuffers flextGL.DeleteBuffers +#define glDeleteFramebuffers flextGL.DeleteFramebuffers +#define glDeleteProgram flextGL.DeleteProgram +#define glDeleteRenderbuffers flextGL.DeleteRenderbuffers +#define glDeleteShader flextGL.DeleteShader +#define glDepthRangef flextGL.DepthRangef +#define glDetachShader flextGL.DetachShader +#define glDisableVertexAttribArray flextGL.DisableVertexAttribArray +#define glEnableVertexAttribArray flextGL.EnableVertexAttribArray +#define glFramebufferRenderbuffer flextGL.FramebufferRenderbuffer +#define glFramebufferTexture2D flextGL.FramebufferTexture2D +#define glGenBuffers flextGL.GenBuffers +#define glGenFramebuffers flextGL.GenFramebuffers +#define glGenRenderbuffers flextGL.GenRenderbuffers +#define glGenerateMipmap flextGL.GenerateMipmap +#define glGetActiveAttrib flextGL.GetActiveAttrib +#define glGetActiveUniform flextGL.GetActiveUniform +#define glGetAttachedShaders flextGL.GetAttachedShaders +#define glGetAttribLocation flextGL.GetAttribLocation +#define glGetBufferParameteriv flextGL.GetBufferParameteriv +#define glGetFramebufferAttachmentParameteriv flextGL.GetFramebufferAttachmentParameteriv +#define glGetProgramInfoLog flextGL.GetProgramInfoLog +#define glGetProgramiv flextGL.GetProgramiv +#define glGetRenderbufferParameteriv flextGL.GetRenderbufferParameteriv +#define glGetShaderInfoLog flextGL.GetShaderInfoLog +#define glGetShaderPrecisionFormat flextGL.GetShaderPrecisionFormat +#define glGetShaderSource flextGL.GetShaderSource +#define glGetShaderiv flextGL.GetShaderiv +#define glGetUniformLocation flextGL.GetUniformLocation +#define glGetUniformfv flextGL.GetUniformfv +#define glGetUniformiv flextGL.GetUniformiv +#define glGetVertexAttribPointerv flextGL.GetVertexAttribPointerv +#define glGetVertexAttribfv flextGL.GetVertexAttribfv +#define glGetVertexAttribiv flextGL.GetVertexAttribiv +#define glIsBuffer flextGL.IsBuffer +#define glIsFramebuffer flextGL.IsFramebuffer +#define glIsProgram flextGL.IsProgram +#define glIsRenderbuffer flextGL.IsRenderbuffer +#define glIsShader flextGL.IsShader +#define glLinkProgram flextGL.LinkProgram +#define glReleaseShaderCompiler flextGL.ReleaseShaderCompiler +#define glRenderbufferStorage flextGL.RenderbufferStorage +#define glSampleCoverage flextGL.SampleCoverage +#define glShaderBinary flextGL.ShaderBinary +#define glShaderSource flextGL.ShaderSource +#define glStencilFuncSeparate flextGL.StencilFuncSeparate +#define glStencilMaskSeparate flextGL.StencilMaskSeparate +#define glStencilOpSeparate flextGL.StencilOpSeparate +#define glUniform1f flextGL.Uniform1f +#define glUniform1fv flextGL.Uniform1fv +#define glUniform1i flextGL.Uniform1i +#define glUniform1iv flextGL.Uniform1iv +#define glUniform2f flextGL.Uniform2f +#define glUniform2fv flextGL.Uniform2fv +#define glUniform2i flextGL.Uniform2i +#define glUniform2iv flextGL.Uniform2iv +#define glUniform3f flextGL.Uniform3f +#define glUniform3fv flextGL.Uniform3fv +#define glUniform3i flextGL.Uniform3i +#define glUniform3iv flextGL.Uniform3iv +#define glUniform4f flextGL.Uniform4f +#define glUniform4fv flextGL.Uniform4fv +#define glUniform4i flextGL.Uniform4i +#define glUniform4iv flextGL.Uniform4iv +#define glUniformMatrix2fv flextGL.UniformMatrix2fv +#define glUniformMatrix3fv flextGL.UniformMatrix3fv +#define glUniformMatrix4fv flextGL.UniformMatrix4fv +#define glUseProgram flextGL.UseProgram +#define glValidateProgram flextGL.ValidateProgram +#define glVertexAttrib1f flextGL.VertexAttrib1f +#define glVertexAttrib1fv flextGL.VertexAttrib1fv +#define glVertexAttrib2f flextGL.VertexAttrib2f +#define glVertexAttrib2fv flextGL.VertexAttrib2fv +#define glVertexAttrib3f flextGL.VertexAttrib3f +#define glVertexAttrib3fv flextGL.VertexAttrib3fv +#define glVertexAttrib4f flextGL.VertexAttrib4f +#define glVertexAttrib4fv flextGL.VertexAttrib4fv +#define glVertexAttribPointer flextGL.VertexAttribPointer + +/* GL_ES_VERSION_3_0 */ + +#define glBeginQuery flextGL.BeginQuery +#define glBeginTransformFeedback flextGL.BeginTransformFeedback +#define glBindBufferBase flextGL.BindBufferBase +#define glBindBufferRange flextGL.BindBufferRange +#define glBindSampler flextGL.BindSampler +#define glBindTransformFeedback flextGL.BindTransformFeedback +#define glBindVertexArray flextGL.BindVertexArray +#define glBlitFramebuffer flextGL.BlitFramebuffer +#define glClearBufferfi flextGL.ClearBufferfi +#define glClearBufferfv flextGL.ClearBufferfv +#define glClearBufferiv flextGL.ClearBufferiv +#define glClearBufferuiv flextGL.ClearBufferuiv +#define glClientWaitSync flextGL.ClientWaitSync +#define glCompressedTexImage3D flextGL.CompressedTexImage3D +#define glCompressedTexSubImage3D flextGL.CompressedTexSubImage3D +#define glCopyBufferSubData flextGL.CopyBufferSubData +#define glCopyTexSubImage3D flextGL.CopyTexSubImage3D +#define glDeleteQueries flextGL.DeleteQueries +#define glDeleteSamplers flextGL.DeleteSamplers +#define glDeleteSync flextGL.DeleteSync +#define glDeleteTransformFeedbacks flextGL.DeleteTransformFeedbacks +#define glDeleteVertexArrays flextGL.DeleteVertexArrays +#define glDrawArraysInstanced flextGL.DrawArraysInstanced +#define glDrawBuffers flextGL.DrawBuffers +#define glDrawElementsInstanced flextGL.DrawElementsInstanced +#define glDrawRangeElements flextGL.DrawRangeElements +#define glEndQuery flextGL.EndQuery +#define glEndTransformFeedback flextGL.EndTransformFeedback +#define glFenceSync flextGL.FenceSync +#define glFlushMappedBufferRange flextGL.FlushMappedBufferRange +#define glFramebufferTextureLayer flextGL.FramebufferTextureLayer +#define glGenQueries flextGL.GenQueries +#define glGenSamplers flextGL.GenSamplers +#define glGenTransformFeedbacks flextGL.GenTransformFeedbacks +#define glGenVertexArrays flextGL.GenVertexArrays +#define glGetActiveUniformBlockName flextGL.GetActiveUniformBlockName +#define glGetActiveUniformBlockiv flextGL.GetActiveUniformBlockiv +#define glGetActiveUniformsiv flextGL.GetActiveUniformsiv +#define glGetBufferParameteri64v flextGL.GetBufferParameteri64v +#define glGetBufferPointerv flextGL.GetBufferPointerv +#define glGetFragDataLocation flextGL.GetFragDataLocation +#define glGetInteger64i_v flextGL.GetInteger64i_v +#define glGetInteger64v flextGL.GetInteger64v +#define glGetIntegeri_v flextGL.GetIntegeri_v +#define glGetInternalformativ flextGL.GetInternalformativ +#define glGetProgramBinary flextGL.GetProgramBinary +#define glGetQueryObjectuiv flextGL.GetQueryObjectuiv +#define glGetQueryiv flextGL.GetQueryiv +#define glGetSamplerParameterfv flextGL.GetSamplerParameterfv +#define glGetSamplerParameteriv flextGL.GetSamplerParameteriv +#define glGetStringi flextGL.GetStringi +#define glGetSynciv flextGL.GetSynciv +#define glGetTransformFeedbackVarying flextGL.GetTransformFeedbackVarying +#define glGetUniformBlockIndex flextGL.GetUniformBlockIndex +#define glGetUniformIndices flextGL.GetUniformIndices +#define glGetUniformuiv flextGL.GetUniformuiv +#define glGetVertexAttribIiv flextGL.GetVertexAttribIiv +#define glGetVertexAttribIuiv flextGL.GetVertexAttribIuiv +#define glInvalidateFramebuffer flextGL.InvalidateFramebuffer +#define glInvalidateSubFramebuffer flextGL.InvalidateSubFramebuffer +#define glIsQuery flextGL.IsQuery +#define glIsSampler flextGL.IsSampler +#define glIsSync flextGL.IsSync +#define glIsTransformFeedback flextGL.IsTransformFeedback +#define glIsVertexArray flextGL.IsVertexArray +#define glMapBufferRange flextGL.MapBufferRange +#define glPauseTransformFeedback flextGL.PauseTransformFeedback +#define glProgramBinary flextGL.ProgramBinary +#define glProgramParameteri flextGL.ProgramParameteri +#define glRenderbufferStorageMultisample flextGL.RenderbufferStorageMultisample +#define glResumeTransformFeedback flextGL.ResumeTransformFeedback +#define glSamplerParameterf flextGL.SamplerParameterf +#define glSamplerParameterfv flextGL.SamplerParameterfv +#define glSamplerParameteri flextGL.SamplerParameteri +#define glSamplerParameteriv flextGL.SamplerParameteriv +#define glTexImage3D flextGL.TexImage3D +#define glTexStorage2D flextGL.TexStorage2D +#define glTexStorage3D flextGL.TexStorage3D +#define glTexSubImage3D flextGL.TexSubImage3D +#define glTransformFeedbackVaryings flextGL.TransformFeedbackVaryings +#define glUniform1ui flextGL.Uniform1ui +#define glUniform1uiv flextGL.Uniform1uiv +#define glUniform2ui flextGL.Uniform2ui +#define glUniform2uiv flextGL.Uniform2uiv +#define glUniform3ui flextGL.Uniform3ui +#define glUniform3uiv flextGL.Uniform3uiv +#define glUniform4ui flextGL.Uniform4ui +#define glUniform4uiv flextGL.Uniform4uiv +#define glUniformBlockBinding flextGL.UniformBlockBinding +#define glUniformMatrix2x3fv flextGL.UniformMatrix2x3fv +#define glUniformMatrix2x4fv flextGL.UniformMatrix2x4fv +#define glUniformMatrix3x2fv flextGL.UniformMatrix3x2fv +#define glUniformMatrix3x4fv flextGL.UniformMatrix3x4fv +#define glUniformMatrix4x2fv flextGL.UniformMatrix4x2fv +#define glUniformMatrix4x3fv flextGL.UniformMatrix4x3fv +#define glUnmapBuffer flextGL.UnmapBuffer +#define glVertexAttribDivisor flextGL.VertexAttribDivisor +#define glVertexAttribI4i flextGL.VertexAttribI4i +#define glVertexAttribI4iv flextGL.VertexAttribI4iv +#define glVertexAttribI4ui flextGL.VertexAttribI4ui +#define glVertexAttribI4uiv flextGL.VertexAttribI4uiv +#define glVertexAttribIPointer flextGL.VertexAttribIPointer +#define glWaitSync flextGL.WaitSync + +/* GL_ES_VERSION_3_1 */ + +#define glActiveShaderProgram flextGL.ActiveShaderProgram +#define glBindImageTexture flextGL.BindImageTexture +#define glBindProgramPipeline flextGL.BindProgramPipeline +#define glBindVertexBuffer flextGL.BindVertexBuffer +#define glCreateShaderProgramv flextGL.CreateShaderProgramv +#define glDeleteProgramPipelines flextGL.DeleteProgramPipelines +#define glDispatchCompute flextGL.DispatchCompute +#define glDispatchComputeIndirect flextGL.DispatchComputeIndirect +#define glDrawArraysIndirect flextGL.DrawArraysIndirect +#define glDrawElementsIndirect flextGL.DrawElementsIndirect +#define glFramebufferParameteri flextGL.FramebufferParameteri +#define glGenProgramPipelines flextGL.GenProgramPipelines +#define glGetBooleani_v flextGL.GetBooleani_v +#define glGetFramebufferParameteriv flextGL.GetFramebufferParameteriv +#define glGetMultisamplefv flextGL.GetMultisamplefv +#define glGetProgramInterfaceiv flextGL.GetProgramInterfaceiv +#define glGetProgramPipelineInfoLog flextGL.GetProgramPipelineInfoLog +#define glGetProgramPipelineiv flextGL.GetProgramPipelineiv +#define glGetProgramResourceIndex flextGL.GetProgramResourceIndex +#define glGetProgramResourceLocation flextGL.GetProgramResourceLocation +#define glGetProgramResourceName flextGL.GetProgramResourceName +#define glGetProgramResourceiv flextGL.GetProgramResourceiv +#define glIsProgramPipeline flextGL.IsProgramPipeline +#define glMemoryBarrier flextGL.MemoryBarrier +#define glMemoryBarrierByRegion flextGL.MemoryBarrierByRegion +#define glProgramUniform1f flextGL.ProgramUniform1f +#define glProgramUniform1fv flextGL.ProgramUniform1fv +#define glProgramUniform1i flextGL.ProgramUniform1i +#define glProgramUniform1iv flextGL.ProgramUniform1iv +#define glProgramUniform1ui flextGL.ProgramUniform1ui +#define glProgramUniform1uiv flextGL.ProgramUniform1uiv +#define glProgramUniform2f flextGL.ProgramUniform2f +#define glProgramUniform2fv flextGL.ProgramUniform2fv +#define glProgramUniform2i flextGL.ProgramUniform2i +#define glProgramUniform2iv flextGL.ProgramUniform2iv +#define glProgramUniform2ui flextGL.ProgramUniform2ui +#define glProgramUniform2uiv flextGL.ProgramUniform2uiv +#define glProgramUniform3f flextGL.ProgramUniform3f +#define glProgramUniform3fv flextGL.ProgramUniform3fv +#define glProgramUniform3i flextGL.ProgramUniform3i +#define glProgramUniform3iv flextGL.ProgramUniform3iv +#define glProgramUniform3ui flextGL.ProgramUniform3ui +#define glProgramUniform3uiv flextGL.ProgramUniform3uiv +#define glProgramUniform4f flextGL.ProgramUniform4f +#define glProgramUniform4fv flextGL.ProgramUniform4fv +#define glProgramUniform4i flextGL.ProgramUniform4i +#define glProgramUniform4iv flextGL.ProgramUniform4iv +#define glProgramUniform4ui flextGL.ProgramUniform4ui +#define glProgramUniform4uiv flextGL.ProgramUniform4uiv +#define glProgramUniformMatrix2fv flextGL.ProgramUniformMatrix2fv +#define glProgramUniformMatrix2x3fv flextGL.ProgramUniformMatrix2x3fv +#define glProgramUniformMatrix2x4fv flextGL.ProgramUniformMatrix2x4fv +#define glProgramUniformMatrix3fv flextGL.ProgramUniformMatrix3fv +#define glProgramUniformMatrix3x2fv flextGL.ProgramUniformMatrix3x2fv +#define glProgramUniformMatrix3x4fv flextGL.ProgramUniformMatrix3x4fv +#define glProgramUniformMatrix4fv flextGL.ProgramUniformMatrix4fv +#define glProgramUniformMatrix4x2fv flextGL.ProgramUniformMatrix4x2fv +#define glProgramUniformMatrix4x3fv flextGL.ProgramUniformMatrix4x3fv +#define glSampleMaski flextGL.SampleMaski +#define glTexStorage2DMultisample flextGL.TexStorage2DMultisample +#define glUseProgramStages flextGL.UseProgramStages +#define glValidateProgramPipeline flextGL.ValidateProgramPipeline +#define glVertexAttribBinding flextGL.VertexAttribBinding +#define glVertexAttribFormat flextGL.VertexAttribFormat +#define glVertexAttribIFormat flextGL.VertexAttribIFormat +#define glVertexBindingDivisor flextGL.VertexBindingDivisor /* GL_ES_VERSION_3_2 */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrier)(void); -#define glBlendBarrier flextglBlendBarrier -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparatei flextglBlendEquationSeparatei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum); -#define glBlendEquationi flextglBlendEquationi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparatei flextglBlendFuncSeparatei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum); -#define glBlendFunci flextglBlendFunci -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaski flextglColorMaski -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glCopyImageSubData flextglCopyImageSubData -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallback)(GLDEBUGPROC, const void *); -#define glDebugMessageCallback flextglDebugMessageCallback -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControl flextglDebugMessageControl -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsert flextglDebugMessageInsert -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint); -#define glDisablei flextglDisablei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); -#define glDrawElementsBaseVertex flextglDrawElementsBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); -#define glDrawElementsInstancedBaseVertex flextglDrawElementsInstancedBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); -#define glDrawRangeElementsBaseVertex flextglDrawRangeElementsBaseVertex -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint); -#define glEnablei flextglEnablei -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture flextglFramebufferTexture -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLog flextglGetDebugMessageLog -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void); -#define glGetGraphicsResetStatus flextglGetGraphicsResetStatus -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabel flextglGetObjectLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabel flextglGetObjectPtrLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerv)(GLenum, void **); -#define glGetPointerv flextglGetPointerv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIiv flextglGetSamplerParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuiv flextglGetSamplerParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *); -#define glGetTexParameterIiv flextglGetTexParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuiv flextglGetTexParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfv)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfv flextglGetnUniformfv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformiv)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformiv flextglGetnUniformiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuiv)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuiv flextglGetnUniformuiv -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint); -#define glIsEnabledi flextglIsEnabledi -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShading)(GLfloat); -#define glMinSampleShading flextglMinSampleShading -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabel flextglObjectLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabel flextglObjectPtrLabel -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint); -#define glPatchParameteri flextglPatchParameteri -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void); -#define glPopDebugGroup flextglPopDebugGroup -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBox)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); -#define glPrimitiveBoundingBox flextglPrimitiveBoundingBox -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroup flextglPushDebugGroup -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixels flextglReadnPixels -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIiv)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIiv flextglSamplerParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuiv)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuiv flextglSamplerParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBuffer)(GLenum, GLenum, GLuint); -#define glTexBuffer flextglTexBuffer -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTexBufferRange flextglTexBufferRange -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIiv)(GLenum, GLenum, const GLint *); -#define glTexParameterIiv flextglTexParameterIiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuiv)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuiv flextglTexParameterIuiv -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexStorage3DMultisample flextglTexStorage3DMultisample +#define glBlendBarrier flextGL.BlendBarrier +#define glBlendEquationSeparatei flextGL.BlendEquationSeparatei +#define glBlendEquationi flextGL.BlendEquationi +#define glBlendFuncSeparatei flextGL.BlendFuncSeparatei +#define glBlendFunci flextGL.BlendFunci +#define glColorMaski flextGL.ColorMaski +#define glCopyImageSubData flextGL.CopyImageSubData +#define glDebugMessageCallback flextGL.DebugMessageCallback +#define glDebugMessageControl flextGL.DebugMessageControl +#define glDebugMessageInsert flextGL.DebugMessageInsert +#define glDisablei flextGL.Disablei +#define glDrawElementsBaseVertex flextGL.DrawElementsBaseVertex +#define glDrawElementsInstancedBaseVertex flextGL.DrawElementsInstancedBaseVertex +#define glDrawRangeElementsBaseVertex flextGL.DrawRangeElementsBaseVertex +#define glEnablei flextGL.Enablei +#define glFramebufferTexture flextGL.FramebufferTexture +#define glGetDebugMessageLog flextGL.GetDebugMessageLog +#define glGetGraphicsResetStatus flextGL.GetGraphicsResetStatus +#define glGetObjectLabel flextGL.GetObjectLabel +#define glGetObjectPtrLabel flextGL.GetObjectPtrLabel +#define glGetPointerv flextGL.GetPointerv +#define glGetSamplerParameterIiv flextGL.GetSamplerParameterIiv +#define glGetSamplerParameterIuiv flextGL.GetSamplerParameterIuiv +#define glGetTexParameterIiv flextGL.GetTexParameterIiv +#define glGetTexParameterIuiv flextGL.GetTexParameterIuiv +#define glGetnUniformfv flextGL.GetnUniformfv +#define glGetnUniformiv flextGL.GetnUniformiv +#define glGetnUniformuiv flextGL.GetnUniformuiv +#define glIsEnabledi flextGL.IsEnabledi +#define glMinSampleShading flextGL.MinSampleShading +#define glObjectLabel flextGL.ObjectLabel +#define glObjectPtrLabel flextGL.ObjectPtrLabel +#define glPatchParameteri flextGL.PatchParameteri +#define glPopDebugGroup flextGL.PopDebugGroup +#define glPrimitiveBoundingBox flextGL.PrimitiveBoundingBox +#define glPushDebugGroup flextGL.PushDebugGroup +#define glReadnPixels flextGL.ReadnPixels +#define glSamplerParameterIiv flextGL.SamplerParameterIiv +#define glSamplerParameterIuiv flextGL.SamplerParameterIuiv +#define glTexBuffer flextGL.TexBuffer +#define glTexBufferRange flextGL.TexBufferRange +#define glTexParameterIiv flextGL.TexParameterIiv +#define glTexParameterIuiv flextGL.TexParameterIuiv +#define glTexStorage3DMultisample flextGL.TexStorage3DMultisample /* GL_EXT_copy_image */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glCopyImageSubDataEXT flextglCopyImageSubDataEXT +#define glCopyImageSubDataEXT flextGL.CopyImageSubDataEXT /* GL_EXT_debug_label */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelEXT flextglGetObjectLabelEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); -#define glLabelObjectEXT flextglLabelObjectEXT +#define glGetObjectLabelEXT flextGL.GetObjectLabelEXT +#define glLabelObjectEXT flextGL.LabelObjectEXT /* GL_EXT_debug_marker */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *); -#define glInsertEventMarkerEXT flextglInsertEventMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void); -#define glPopGroupMarkerEXT flextglPopGroupMarkerEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *); -#define glPushGroupMarkerEXT flextglPushGroupMarkerEXT +#define glInsertEventMarkerEXT flextGL.InsertEventMarkerEXT +#define glPopGroupMarkerEXT flextGL.PopGroupMarkerEXT +#define glPushGroupMarkerEXT flextGL.PushGroupMarkerEXT /* GL_EXT_disjoint_timer_query */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryEXT)(GLenum, GLuint); -#define glBeginQueryEXT flextglBeginQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueriesEXT)(GLsizei, const GLuint *); -#define glDeleteQueriesEXT flextglDeleteQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryEXT)(GLenum); -#define glEndQueryEXT flextglEndQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenQueriesEXT)(GLsizei, GLuint *); -#define glGenQueriesEXT flextglGenQueriesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64vEXT)(GLenum, GLint64 *); -#define glGetInteger64vEXT flextglGetInteger64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *); -#define glGetQueryObjecti64vEXT flextglGetQueryObjecti64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint *); -#define glGetQueryObjectivEXT flextglGetQueryObjectivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *); -#define glGetQueryObjectui64vEXT flextglGetQueryObjectui64vEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuint *); -#define glGetQueryObjectuivEXT flextglGetQueryObjectuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryivEXT)(GLenum, GLenum, GLint *); -#define glGetQueryivEXT flextglGetQueryivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQueryEXT)(GLuint); -#define glIsQueryEXT flextglIsQueryEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounterEXT)(GLuint, GLenum); -#define glQueryCounterEXT flextglQueryCounterEXT +#define glBeginQueryEXT flextGL.BeginQueryEXT +#define glDeleteQueriesEXT flextGL.DeleteQueriesEXT +#define glEndQueryEXT flextGL.EndQueryEXT +#define glGenQueriesEXT flextGL.GenQueriesEXT +#define glGetInteger64vEXT flextGL.GetInteger64vEXT +#define glGetQueryObjecti64vEXT flextGL.GetQueryObjecti64vEXT +#define glGetQueryObjectivEXT flextGL.GetQueryObjectivEXT +#define glGetQueryObjectui64vEXT flextGL.GetQueryObjectui64vEXT +#define glGetQueryObjectuivEXT flextGL.GetQueryObjectuivEXT +#define glGetQueryivEXT flextGL.GetQueryivEXT +#define glIsQueryEXT flextGL.IsQueryEXT +#define glQueryCounterEXT flextGL.QueryCounterEXT /* GL_EXT_draw_buffers_indexed */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparateiEXT flextglBlendEquationSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum); -#define glBlendEquationiEXT flextglBlendEquationiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparateiEXT flextglBlendFuncSeparateiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum); -#define glBlendFunciEXT flextglBlendFunciEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaskiEXT flextglColorMaskiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint); -#define glDisableiEXT flextglDisableiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint); -#define glEnableiEXT flextglEnableiEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint); -#define glIsEnablediEXT flextglIsEnablediEXT +#define glBlendEquationSeparateiEXT flextGL.BlendEquationSeparateiEXT +#define glBlendEquationiEXT flextGL.BlendEquationiEXT +#define glBlendFuncSeparateiEXT flextGL.BlendFuncSeparateiEXT +#define glBlendFunciEXT flextGL.BlendFunciEXT +#define glColorMaskiEXT flextGL.ColorMaskiEXT +#define glDisableiEXT flextGL.DisableiEXT +#define glEnableiEXT flextGL.EnableiEXT +#define glIsEnablediEXT flextGL.IsEnablediEXT /* GL_EXT_geometry_shader */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint); -#define glFramebufferTextureEXT flextglFramebufferTextureEXT +#define glFramebufferTextureEXT flextGL.FramebufferTextureEXT /* GL_EXT_multi_draw_arrays */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei); -#define glMultiDrawArraysEXT flextglMultiDrawArraysEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); -#define glMultiDrawElementsEXT flextglMultiDrawElementsEXT +#define glMultiDrawArraysEXT flextGL.MultiDrawArraysEXT +#define glMultiDrawElementsEXT flextGL.MultiDrawElementsEXT /* GL_EXT_multisampled_render_to_texture */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture2DMultisampleEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); -#define glFramebufferTexture2DMultisampleEXT flextglFramebufferTexture2DMultisampleEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisampleEXT flextglRenderbufferStorageMultisampleEXT +#define glFramebufferTexture2DMultisampleEXT flextGL.FramebufferTexture2DMultisampleEXT +#define glRenderbufferStorageMultisampleEXT flextGL.RenderbufferStorageMultisampleEXT /* GL_EXT_polygon_offset_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClampEXT)(GLfloat, GLfloat, GLfloat); -#define glPolygonOffsetClampEXT flextglPolygonOffsetClampEXT +#define glPolygonOffsetClampEXT flextGL.PolygonOffsetClampEXT /* GL_EXT_primitive_bounding_box */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); -#define glPrimitiveBoundingBoxEXT flextglPrimitiveBoundingBoxEXT +#define glPrimitiveBoundingBoxEXT flextGL.PrimitiveBoundingBoxEXT /* GL_EXT_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusEXT)(void); -#define glGetGraphicsResetStatusEXT flextglGetGraphicsResetStatusEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvEXT)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvEXT flextglGetnUniformfvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivEXT)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivEXT flextglGetnUniformivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsEXT)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsEXT flextglReadnPixelsEXT +#define glGetGraphicsResetStatusEXT flextGL.GetGraphicsResetStatusEXT +#define glGetnUniformfvEXT flextGL.GetnUniformfvEXT +#define glGetnUniformivEXT flextGL.GetnUniformivEXT +#define glReadnPixelsEXT flextGL.ReadnPixelsEXT /* GL_EXT_separate_shader_objects */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgramEXT)(GLuint, GLuint); -#define glActiveShaderProgramEXT flextglActiveShaderProgramEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipelineEXT)(GLuint); -#define glBindProgramPipelineEXT flextglBindProgramPipelineEXT -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramvEXT)(GLenum, GLsizei, const GLchar **); -#define glCreateShaderProgramvEXT flextglCreateShaderProgramvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelinesEXT)(GLsizei, const GLuint *); -#define glDeleteProgramPipelinesEXT flextglDeleteProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelinesEXT)(GLsizei, GLuint *); -#define glGenProgramPipelinesEXT flextglGenProgramPipelinesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLogEXT)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLogEXT flextglGetProgramPipelineInfoLogEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineivEXT)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineivEXT flextglGetProgramPipelineivEXT -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipelineEXT)(GLuint); -#define glIsProgramPipelineEXT flextglIsProgramPipelineEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramParameteriEXT)(GLuint, GLenum, GLint); -#define glProgramParameteriEXT flextglProgramParameteriEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat); -#define glProgramUniform1fEXT flextglProgramUniform1fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fvEXT flextglProgramUniform1fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint); -#define glProgramUniform1iEXT flextglProgramUniform1iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1ivEXT flextglProgramUniform1ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiEXT)(GLuint, GLint, GLuint); -#define glProgramUniform1uiEXT flextglProgramUniform1uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform1uivEXT flextglProgramUniform1uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2fEXT flextglProgramUniform2fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fvEXT flextglProgramUniform2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2iEXT flextglProgramUniform2iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2ivEXT flextglProgramUniform2ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint); -#define glProgramUniform2uiEXT flextglProgramUniform2uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform2uivEXT flextglProgramUniform2uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3fEXT flextglProgramUniform3fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fvEXT flextglProgramUniform3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3iEXT flextglProgramUniform3iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3ivEXT flextglProgramUniform3ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint); -#define glProgramUniform3uiEXT flextglProgramUniform3uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform3uivEXT flextglProgramUniform3uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4fEXT flextglProgramUniform4fEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fvEXT flextglProgramUniform4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4iEXT flextglProgramUniform4iEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4ivEXT flextglProgramUniform4ivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); -#define glProgramUniform4uiEXT flextglProgramUniform4uiEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform4uivEXT flextglProgramUniform4uivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fvEXT flextglProgramUniformMatrix2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x3fvEXT flextglProgramUniformMatrix2x3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x4fvEXT flextglProgramUniformMatrix2x4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fvEXT flextglProgramUniformMatrix3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x2fvEXT flextglProgramUniformMatrix3x2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x4fvEXT flextglProgramUniformMatrix3x4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fvEXT flextglProgramUniformMatrix4fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x2fvEXT flextglProgramUniformMatrix4x2fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x3fvEXT flextglProgramUniformMatrix4x3fvEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseProgramStagesEXT)(GLuint, GLbitfield, GLuint); -#define glUseProgramStagesEXT flextglUseProgramStagesEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipelineEXT)(GLuint); -#define glValidateProgramPipelineEXT flextglValidateProgramPipelineEXT +#define glActiveShaderProgramEXT flextGL.ActiveShaderProgramEXT +#define glBindProgramPipelineEXT flextGL.BindProgramPipelineEXT +#define glCreateShaderProgramvEXT flextGL.CreateShaderProgramvEXT +#define glDeleteProgramPipelinesEXT flextGL.DeleteProgramPipelinesEXT +#define glGenProgramPipelinesEXT flextGL.GenProgramPipelinesEXT +#define glGetProgramPipelineInfoLogEXT flextGL.GetProgramPipelineInfoLogEXT +#define glGetProgramPipelineivEXT flextGL.GetProgramPipelineivEXT +#define glIsProgramPipelineEXT flextGL.IsProgramPipelineEXT +#define glProgramParameteriEXT flextGL.ProgramParameteriEXT +#define glProgramUniform1fEXT flextGL.ProgramUniform1fEXT +#define glProgramUniform1fvEXT flextGL.ProgramUniform1fvEXT +#define glProgramUniform1iEXT flextGL.ProgramUniform1iEXT +#define glProgramUniform1ivEXT flextGL.ProgramUniform1ivEXT +#define glProgramUniform1uiEXT flextGL.ProgramUniform1uiEXT +#define glProgramUniform1uivEXT flextGL.ProgramUniform1uivEXT +#define glProgramUniform2fEXT flextGL.ProgramUniform2fEXT +#define glProgramUniform2fvEXT flextGL.ProgramUniform2fvEXT +#define glProgramUniform2iEXT flextGL.ProgramUniform2iEXT +#define glProgramUniform2ivEXT flextGL.ProgramUniform2ivEXT +#define glProgramUniform2uiEXT flextGL.ProgramUniform2uiEXT +#define glProgramUniform2uivEXT flextGL.ProgramUniform2uivEXT +#define glProgramUniform3fEXT flextGL.ProgramUniform3fEXT +#define glProgramUniform3fvEXT flextGL.ProgramUniform3fvEXT +#define glProgramUniform3iEXT flextGL.ProgramUniform3iEXT +#define glProgramUniform3ivEXT flextGL.ProgramUniform3ivEXT +#define glProgramUniform3uiEXT flextGL.ProgramUniform3uiEXT +#define glProgramUniform3uivEXT flextGL.ProgramUniform3uivEXT +#define glProgramUniform4fEXT flextGL.ProgramUniform4fEXT +#define glProgramUniform4fvEXT flextGL.ProgramUniform4fvEXT +#define glProgramUniform4iEXT flextGL.ProgramUniform4iEXT +#define glProgramUniform4ivEXT flextGL.ProgramUniform4ivEXT +#define glProgramUniform4uiEXT flextGL.ProgramUniform4uiEXT +#define glProgramUniform4uivEXT flextGL.ProgramUniform4uivEXT +#define glProgramUniformMatrix2fvEXT flextGL.ProgramUniformMatrix2fvEXT +#define glProgramUniformMatrix2x3fvEXT flextGL.ProgramUniformMatrix2x3fvEXT +#define glProgramUniformMatrix2x4fvEXT flextGL.ProgramUniformMatrix2x4fvEXT +#define glProgramUniformMatrix3fvEXT flextGL.ProgramUniformMatrix3fvEXT +#define glProgramUniformMatrix3x2fvEXT flextGL.ProgramUniformMatrix3x2fvEXT +#define glProgramUniformMatrix3x4fvEXT flextGL.ProgramUniformMatrix3x4fvEXT +#define glProgramUniformMatrix4fvEXT flextGL.ProgramUniformMatrix4fvEXT +#define glProgramUniformMatrix4x2fvEXT flextGL.ProgramUniformMatrix4x2fvEXT +#define glProgramUniformMatrix4x3fvEXT flextGL.ProgramUniformMatrix4x3fvEXT +#define glUseProgramStagesEXT flextGL.UseProgramStagesEXT +#define glValidateProgramPipelineEXT flextGL.ValidateProgramPipelineEXT /* GL_EXT_tessellation_shader */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteriEXT)(GLenum, GLint); -#define glPatchParameteriEXT flextglPatchParameteriEXT +#define glPatchParameteriEXT flextGL.PatchParameteriEXT /* GL_EXT_texture_border_clamp */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIivEXT flextglGetSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuivEXT flextglGetSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *); -#define glGetTexParameterIivEXT flextglGetTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuivEXT flextglGetTexParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIivEXT flextglSamplerParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuivEXT flextglSamplerParameterIuivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *); -#define glTexParameterIivEXT flextglTexParameterIivEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuivEXT flextglTexParameterIuivEXT +#define glGetSamplerParameterIivEXT flextGL.GetSamplerParameterIivEXT +#define glGetSamplerParameterIuivEXT flextGL.GetSamplerParameterIuivEXT +#define glGetTexParameterIivEXT flextGL.GetTexParameterIivEXT +#define glGetTexParameterIuivEXT flextGL.GetTexParameterIuivEXT +#define glSamplerParameterIivEXT flextGL.SamplerParameterIivEXT +#define glSamplerParameterIuivEXT flextGL.SamplerParameterIuivEXT +#define glTexParameterIivEXT flextGL.TexParameterIivEXT +#define glTexParameterIuivEXT flextGL.TexParameterIuivEXT /* GL_EXT_texture_buffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferEXT)(GLenum, GLenum, GLuint); -#define glTexBufferEXT flextglTexBufferEXT -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTexBufferRangeEXT flextglTexBufferRangeEXT +#define glTexBufferEXT flextGL.TexBufferEXT +#define glTexBufferRangeEXT flextGL.TexBufferRangeEXT /* GL_KHR_blend_equation_advanced */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void); -#define glBlendBarrierKHR flextglBlendBarrierKHR +#define glBlendBarrierKHR flextGL.BlendBarrierKHR /* GL_KHR_debug */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageCallbackKHR)(GLDEBUGPROCKHR, const void *); -#define glDebugMessageCallbackKHR flextglDebugMessageCallbackKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageControlKHR)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControlKHR flextglDebugMessageControlKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDebugMessageInsertKHR)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsertKHR flextglDebugMessageInsertKHR -GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLogKHR)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLogKHR flextglGetDebugMessageLogKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelKHR)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelKHR flextglGetObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabelKHR flextglGetObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **); -#define glGetPointervKHR flextglGetPointervKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabelKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabelKHR flextglObjectLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabelKHR flextglObjectPtrLabelKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroupKHR)(void); -#define glPopDebugGroupKHR flextglPopDebugGroupKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroupKHR flextglPushDebugGroupKHR +#define glDebugMessageCallbackKHR flextGL.DebugMessageCallbackKHR +#define glDebugMessageControlKHR flextGL.DebugMessageControlKHR +#define glDebugMessageInsertKHR flextGL.DebugMessageInsertKHR +#define glGetDebugMessageLogKHR flextGL.GetDebugMessageLogKHR +#define glGetObjectLabelKHR flextGL.GetObjectLabelKHR +#define glGetObjectPtrLabelKHR flextGL.GetObjectPtrLabelKHR +#define glGetPointervKHR flextGL.GetPointervKHR +#define glObjectLabelKHR flextGL.ObjectLabelKHR +#define glObjectPtrLabelKHR flextGL.ObjectPtrLabelKHR +#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR +#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR /* GL_KHR_robustness */ -GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusKHR)(void); -#define glGetGraphicsResetStatusKHR flextglGetGraphicsResetStatusKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformfvKHR)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvKHR flextglGetnUniformfvKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformivKHR)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivKHR flextglGetnUniformivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuivKHR flextglGetnUniformuivKHR -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsKHR)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsKHR flextglReadnPixelsKHR +#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR +#define glGetnUniformfvKHR flextGL.GetnUniformfvKHR +#define glGetnUniformivKHR flextGL.GetnUniformivKHR +#define glGetnUniformuivKHR flextGL.GetnUniformuivKHR +#define glReadnPixelsKHR flextGL.ReadnPixelsKHR /* GL_NV_polygon_mode */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum); -#define glPolygonModeNV flextglPolygonModeNV +#define glPolygonModeNV flextGL.PolygonModeNV /* GL_OES_mapbuffer */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **); -#define glGetBufferPointervOES flextglGetBufferPointervOES -GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum); -#define glMapBufferOES flextglMapBufferOES -GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum); -#define glUnmapBufferOES flextglUnmapBufferOES +#define glGetBufferPointervOES flextGL.GetBufferPointervOES +#define glMapBufferOES flextGL.MapBufferOES +#define glUnmapBufferOES flextGL.UnmapBufferOES /* GL_OES_sample_shading */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShadingOES)(GLfloat); -#define glMinSampleShadingOES flextglMinSampleShadingOES +#define glMinSampleShadingOES flextGL.MinSampleShadingOES /* GL_OES_texture_storage_multisample_2d_array */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexStorage3DMultisampleOES flextglTexStorage3DMultisampleOES +#define glTexStorage3DMultisampleOES flextGL.TexStorage3DMultisampleOES /* GL_OVR_multiview */ -GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureMultiviewOVR)(GLenum, GLenum, GLuint, GLint, GLint, GLsizei); -#define glFramebufferTextureMultiviewOVR flextglFramebufferTextureMultiviewOVR +#define glFramebufferTextureMultiviewOVR flextGL.FramebufferTextureMultiviewOVR #ifdef __cplusplus } diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h.template b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h.template index 880a9e98f..3dab76288 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h.template +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h.template @@ -94,22 +94,53 @@ void flextGLInit(Magnum::GL::Context& context); @enums -/* Function prototypes */ +/* Function prototypes. First an intersection of GL 1.0 / 1.1 functions that + are also available in ES, which we can access directly. ES 3.2 doesn't add + anything new that would be in GL 1.1, so that section is omitted here. */ @for cat,funcs in functions: -@if funcs: +@if funcs and cat in ['ES_VERSION_2_0', 'ES_VERSION_3_0', 'ES_VERSION_3_1']: /* GL_@cat */ - @for f in funcs: - @if f.name in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: +@for f in funcs: +@if f.name in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: GLAPI FLEXTGL_EXPORT @f.returntype APIENTRY gl@f.name\ (@f.param_type_list_string()); - @else: -GLAPI FLEXTGL_EXPORT @f.returntype\ -(APIENTRY *flextgl@f.name)(@f.param_type_list_string()); -#define gl@f.name flextgl@f.name - @end +@end +@end +@end +@end + +/* Dynamically-loaded function prototypes put into a struct in order to handle + thread-localness and globals unique across shared libs, this also means way + less symbols is exported, saving on binary size. */ +struct FlextGL { + @for cat,funcs in functions: + @if funcs: + + /* GL_@cat */ + + @for f in funcs: + @if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: + @f.returntype\ +(APIENTRY *@f.name)(@f.param_type_list_string()); + @end @end + @end + @end +}; + +extern FLEXTGL_EXPORT FlextGL flextGL; +@for cat,funcs in functions: +@if funcs: + +/* GL_@cat */ + +@for f in funcs: +@if f.name not in ['BlendFunc', 'Clear', 'ClearColor', 'ClearDepth', 'ClearStencil', 'ColorMask', 'CullFace', 'DepthFunc', 'DepthMask', 'DepthRange', 'Disable', 'DrawBuffer', 'Enable', 'Finish', 'Flush', 'FrontFace', 'GetBooleanv', 'GetDoublev', 'GetError', 'GetFloatv', 'GetIntegerv', 'GetString', 'GetTexImage', 'GetTexLevelParameterfv', 'GetTexLevelParameteriv', 'GetTexParameterfv', 'GetTexParameteriv', 'Hint', 'IsEnabled', 'LineWidth', 'LogicOp', 'PixelStoref', 'PixelStorei', 'PointSize', 'PolygonMode', 'ReadBuffer', 'ReadPixels', 'Scissor', 'StencilFunc', 'StencilMask', 'StencilOp', 'TexImage1D', 'TexImage2D', 'TexParameterf', 'TexParameterfv', 'TexParameteri', 'TexParameteriv', 'Viewport', 'BindTexture', 'CopyTexImage1D', 'CopyTexImage2D', 'CopyTexSubImage1D', 'CopyTexSubImage2D', 'DeleteTextures', 'DrawArrays', 'DrawElements', 'GenTextures', 'IsTexture', 'PolygonOffset', 'TexSubImage1D', 'TexSubImage2D']: +#define gl@f.name flextGL.@f.name +@end +@end @end @end