diff --git a/CMakeLists.txt b/CMakeLists.txt index a5f3a2d82..490f45bc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,16 +61,19 @@ elseif(CORRADE_TARGET_ANDROID) # OS X-specific application libraries elseif(CORRADE_TARGET_APPLE) cmake_dependent_option(WITH_WINDOWLESSCGLAPPLICATION "Build WindowlessCglApplication library" OFF "NOT WITH_MAGNUMINFO;NOT WITH_FONTCONVERTER;NOT WITH_DISTANCEFIELDCONVERTER" ON) + cmake_dependent_option(WITH_CGLCONTEXT "Build CglContext library" OFF "NOT TARGET_GLES" OFF) -# X11, GLX and EGL-specific application libraries +# X11 + GLX/EGL-specific application libraries elseif(CORRADE_TARGET_UNIX) option(WITH_GLXAPPLICATION "Build GlxApplication library" OFF) cmake_dependent_option(WITH_WINDOWLESSGLXAPPLICATION "Build WindowlessGlxApplication library" OFF "NOT WITH_MAGNUMINFO;NOT WITH_FONTCONVERTER;NOT WITH_DISTANCEFIELDCONVERTER" ON) cmake_dependent_option(WITH_XEGLAPPLICATION "Build XEglApplication library" OFF "TARGET_GLES" OFF) + cmake_dependent_option(WITH_GLXCONTEXT "Build GlxContext library" OFF "NOT TARGET_GLES" OFF) # Windows-specific application libraries elseif(CORRADE_TARGET_WINDOWS) cmake_dependent_option(WITH_WINDOWLESSWGLAPPLICATION "Build WindowlessWglApplication library" OFF "NOT WITH_MAGNUMINFO;NOT WITH_FONTCONVERTER;NOT WITH_DISTANCEFIELDCONVERTER" ON) + cmake_dependent_option(WITH_WGLCONTEXT "Build WglContext library" OFF "NOT TARGET_GLES" OFF) endif() # Platform-independent (almost) application libraries diff --git a/doc/building.dox b/doc/building.dox index e91edd7fa..475072420 100644 --- a/doc/building.dox +++ b/doc/building.dox @@ -205,6 +205,14 @@ platform best: - `WITH_WINDOWLESSNACLAPPLICATION` - @ref Platform::WindowlessNaClApplication "WindowlessNaClApplication" - `WITH_WINDOWLESSWGLAPPLICATION` - @ref Platform::WindowlessWglApplication "WindowlessWglApplication" +None of the context libraries is built by default. You need them only if you +choose to not use any application library (see @ref platform-custom for more +information): + +- `WITH_CGLCONTEXT` -- CGL context +- `WITH_GLXCONTEXT` -- GLX context +- `WITH_WGLCONTEXT` -- WGL context + There are also a few command-line utilities. They are currently available only on Linux, Mac OS X and Windows, also disabled by default: diff --git a/doc/cmake.dox b/doc/cmake.dox index b586ae336..cea2328cb 100644 --- a/doc/cmake.dox +++ b/doc/cmake.dox @@ -79,16 +79,16 @@ components. The base library depends on %Corrade and OpenGL libraries (or OpenGL ES libraries). Additional dependencies are specified by the components. The optional components are: -- `%Audio` -- Audio library -- `%DebugTools` -- DebugTools library (depends on `%MeshTools`, +- `%Audio` -- @ref Audio library +- `%DebugTools` -- @ref DebugTools library (depends on `%MeshTools`, `%Primitives`, `%SceneGraph`, `%Shaders` and `%Shapes` components) -- `%MeshTools` -- MeshTools library -- `%Primitives` -- Primitives library -- `%SceneGraph` -- SceneGraph library -- `%Shaders` -- Shaders library -- `%Shapes` -- Shapes library (depends on `%SceneGraph` component) -- `%Text` -- Text library (depends on `%TextureTools` component) -- `%TextureTools` -- TextureTools library +- `%MeshTools` -- @ref MeshTools library +- `%Primitives` -- @ref Primitives library +- `%SceneGraph` -- @ref SceneGraph library +- `%Shaders` -- @ref Shaders library +- `%Shapes` -- @ref Shapes library (depends on `%SceneGraph` component) +- `%Text` -- @ref Text library (depends on `%TextureTools` component) +- `%TextureTools` -- @ref TextureTools library Platform namespace is split into more components: @@ -102,6 +102,14 @@ Platform namespace is split into more components: - `%WindowlessNaClApplication` -- @ref Platform::WindowlessNaClApplication "WindowlessNaClApplication" - `%WindowlessWglApplication` -- @ref Platform::WindowlessWglApplication "WindowlessWglApplication" +For manual context creation (without application wrappers) there are also +platform-specific context libraries (see @ref platform-custom for more +information): + +- `CglContext` -- CGL context +- `GlxContext` -- GLX context +- `WglContext` -- WGL context + The library also contains a set of plugins for importing essential file formats. Additional plugins are provided in separate plugin repository, see @ref cmake-plugins for more information. If you are going to use dynamic @@ -143,7 +151,10 @@ If exactly one `*Application` or exactly one `Windowless*Application` component is requested and found, its libraries and include dirs are available in convenience aliases `MAGNUM_APPLICATION_LIBRARIES` / `MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES` and `MAGNUM_APPLICATION_INCLUDE_DIRS` -/ `MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS` to simplify porting. +/ `MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS` to simplify porting. Similarly, +if exactly one `*Context` component is requested and found, its libraries and +include dirs are available in convenience aliases `MAGNUM_CONTEXT_LIBRARIES` +and `MAGNUM_CONTEXT_INCLUDE_DIRS`. The package is found if either debug or release version of each requested library (or plugin) is found. If both debug and release libraries (or plugins) diff --git a/doc/opengl-mapping.dox b/doc/opengl-mapping.dox index 41d0c5b16..06608e7f0 100644 --- a/doc/opengl-mapping.dox +++ b/doc/opengl-mapping.dox @@ -93,7 +93,7 @@ OpenGL function | Matching API @fn_gl{CreateShaderProgram} | | @fn_gl{CullFace} | @ref Renderer::setFaceCullingMode() @fn_gl{DebugMessageCallback} | @ref DebugMessage::setCallback() -@fn_gl{DebugMessageControl} | | +@fn_gl{DebugMessageControl} | @ref DebugMessage::setEnabled() @fn_gl{DebugMessageInsert}, \n @fn_gl_extension2{InsertEventMarker,EXT,debug_marker}, \n @fn_gl_extension{StringMarker,GREMEDY,string_marker} | @ref DebugMessage::insert() @fn_gl{DepthFunc} | @ref Renderer::setDepthFunction() @fn_gl{DepthMask} | @ref Renderer::setDepthMask() @@ -184,7 +184,7 @@ OpenGL function | Matching API @fn_gl{InvalidateBufferData} | @ref Buffer::invalidateData() @fn_gl{InvalidateBufferSubData} | @ref Buffer::invalidateSubData() @fn_gl{InvalidateFramebuffer}, \n @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer} | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate() -@fn_gl{InvalidateSubFramebuffer}, \n @fn_gles_extension{DiscardSubFramebuffer,EXT,discard_framebuffer} | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate() +@fn_gl{InvalidateSubFramebuffer} | @ref DefaultFramebuffer::invalidate(), \n @ref Framebuffer::invalidate() @fn_gl{InvalidateTexImage} | @ref Texture::invalidateImage(), \n @ref TextureArray::invalidateImage(), \n @ref CubeMapTexture::invalidateImage(), \n @ref CubeMapTextureArray::invalidateImage(), \n @ref RectangleTexture::invalidateImage(), \n @ref MultisampleTexture::invalidateImage() @fn_gl{InvalidateTexSubImage} | @ref Texture::invalidateSubImage(), \n @ref TextureArray::invalidateSubImage(), \n @ref CubeMapTexture::invalidateSubImage(), \n @ref CubeMapTextureArray::invalidateSubImage(), \n @ref RectangleTexture::invalidateSubImage(), \n @ref MultisampleTexture::invalidateSubImage() @fn_gl{IsBuffer}, \n @fn_gl{IsFramebuffer}, \n @fn_gl{IsProgram}, \n @fn_gl{IsProgramPipeline}, \n @fn_gl{IsQuery}, \n @fn_gl{IsRenderbuffer}, \n @fn_gl{IsSampler}, \n @fn_gl{IsShader}, \n @fn_gl{IsSync}, \n @fn_gl{IsTexture}, \n @fn_gl{IsTransformFeedback}, \n @fn_gl{IsVertexArray} | not needed, objects are strongly typed diff --git a/doc/opengl-support.dox b/doc/opengl-support.dox index 78f4e3d4c..48ce39b86 100644 --- a/doc/opengl-support.dox +++ b/doc/opengl-support.dox @@ -108,7 +108,7 @@ following: %Extension | Status -------------------------------------------- | ------ @extension{ARB,instanced_arrays} | done -@extension{ARB,blend_func_extended} | missing limit query +@extension{ARB,blend_func_extended} | done @extension{ARB,explicit_attrib_location} | done (shading language only) @extension{ARB,occlusion_query2} | done @extension{ARB,sampler_objects} | | @@ -173,7 +173,7 @@ following: @extension{ARB,clear_buffer_object} | | @extension{ARB,compute_shader} | | @extension{ARB,copy_image} | | -@extension{KHR,debug} (also in ES) | missing log control and retrieval, sync, pipeline, transform feedback and sampler label and debug groups +@extension{KHR,debug} (also in ES) | missing log retrieval, sync, pipeline, transform feedback and sampler label and debug groups @extension{ARB,explicit_uniform_location} | done @extension{ARB,fragment_layer_viewport} | done (shading language only) @extension{ARB,framebuffer_no_attachments} | | diff --git a/doc/platform.dox b/doc/platform.dox index ef1cd319f..e6a4199f4 100644 --- a/doc/platform.dox +++ b/doc/platform.dox @@ -189,7 +189,7 @@ compilation of the executable and linking `${MAGNUM_LIBRARIES}` and `${MAGNUM_SDL2APPLICATION_LIBRARIES}` to it. Again, to simplify porting, you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` -and `${MAGNUM_WAPPLICATION_LIBRARIES}` aliases (or `${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}`, +and `${MAGNUM_APPLICATION_LIBRARIES}` aliases (or `${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}`, `${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` for windowless applications), but only if only one application (windowless application) component is requested to avoid ambiguity. Changing the build script to use different toolkit is then @@ -263,30 +263,59 @@ MyApplication::MyApplication(int& argc, char** argv): Platform::Application(argc @section platform-custom Using custom platform toolkits In case you want to use some not-yet-supported toolkit or you don't want to use -the wrappers in @ref Platform namespace, you can initialize %Magnum manually. -All you need is to create OpenGL context and then create instance of -@ref Context class, which will take care of proper initialization and feature -detection. The instance must be alive for whole application lifetime. Example -`main()` function with manual initialization: +the application wrappers in @ref Platform namespace, you can initialize %Magnum +manually. First create OpenGL context and then create instance of +@ref Platform::Context class, which will take care of proper initialization and +feature detection. The instance must be alive for whole application lifetime. +Example `main()` function with manual initialization: @code int main(int argc, char** argv) { // Create OpenGL context ... { // Initialize Magnum - Context context; + Platform::Context context; - // open window, enter main loop... + // Open window, enter main loop ... // Magnum context gets destroyed } - // delete OpenGL context ... + // Delete OpenGL context ... return 0; } @endcode +On majority of platforms the @ref Platform::Context class does GL function +pointer loading using platform-specific APIs. In that case you also need to +find particular `*Context` library, add its include dir and then link to it. +These platform-specific libraries are available: + +- `CglContext` -- CGL context (Mac OS X) +- `GlxContext` -- GLX context (X11-based Unix) +- `WglContext` -- WGL context (Windows) + +Systems not listed here (such as Emscripten or NaCl) don't need any `Context` +library, because dynamic function pointer loading is not available on these. + +For example, when you create the OpenGL context using GLX, you need to find +`GlxContext` component, include `${MAGNUM_GLCCONTEXT_INCLUDE_DIRS}` and link to +`${MAGNUM_GLXCONTEXT_LIBRARIES}`. Similarly to application libraries, you can +also use generic `${MAGNUM_CONTEXT_INCLUDE_DIRS}` and `${MAGNUM_CONTEXT_LIBRARIES}`, +providing you requested only one `*Context` component in the `find_package()` +call. Complete example: +@code +find_package(Magnum REQUIRED GlxContext) + +include_directories(${MAGNUM_INCLUDE_DIRS} ${MAGNUM_CONTEXT_INCLUDE_DIRS}) + +add_executable(myapplication MyCustomApplication.cpp) +target_link_libraries(myapplication + ${MAGNUM_LIBRARIES} + ${MAGNUM_CONTEXT_LIBRARIES}) +@endcode + - Next page: @ref types */ }} diff --git a/modules/FindMagnum.cmake b/modules/FindMagnum.cmake index cef0cfc98..66f41f4fc 100644 --- a/modules/FindMagnum.cmake +++ b/modules/FindMagnum.cmake @@ -60,6 +60,9 @@ # WindowlessGlxApplication - Windowless GLX application # WindowlessNaClApplication - Windowless NaCl application # WindowlessWglApplication - Windowless WGL application +# CglContext - CGL context +# GlxContext - GLX context +# WglContext - WGL context # Example usage with specifying additional components is: # find_package(Magnum [REQUIRED|COMPONENTS] # MeshTools Primitives GlutApplication) @@ -71,7 +74,10 @@ # component is requested and found, its libraries and include dirs are # available in convenience aliases MAGNUM_APPLICATION_LIBRARIES / # MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES and MAGNUM_APPLICATION_INCLUDE_DIRS -# / MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS to simplify porting. +# / MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS to simplify porting. Similarly, +# if exactly one *Context component is requested and found, its libraries and +# include dirs are available in convenience aliases MAGNUM_CONTEXT_LIBRARIES +# and MAGNUM_CONTEXT_INCLUDE_DIRS. # # The package is found if either debug or release version of each requested # library (or plugin) is found. If both debug and release libraries (or @@ -409,6 +415,24 @@ foreach(component ${Magnum_FIND_COMPONENTS}) ${_MAGNUM_${_COMPONENT}_LIBRARIES} ${_WINDOWCONTEXT_MAGNUM_LIBRARIES_DEPENDENCY}) + # Context libraries + elseif(${component} MATCHES .+Context) + set(_MAGNUM_${_COMPONENT}_INCLUDE_PATH_SUFFIX Magnum/Platform) + set(_MAGNUM_${_COMPONENT}_INCLUDE_PATH_NAMES Context.h) + + # GLX context dependencies + if(${component} STREQUAL GlxContext) + find_package(X11) + if(X11_FOUND) + set(_MAGNUM_${_COMPONENT}_LIBRARIES ${X11_LIBRARIES}) + else() + unset(MAGNUM_${_COMPONENT}_LIBRARY) + endif() + endif() + + # No additional dependencies for CGL context + # No additional dependencies for WGL context + # Audio library elseif(${component} STREQUAL Audio) find_package(OpenAL) @@ -456,8 +480,8 @@ foreach(component ${Magnum_FIND_COMPONENTS}) MAGNUM_${_COMPONENT}_LIBRARY _MAGNUM_${_COMPONENT}_INCLUDE_DIR) - # Global aliases for Windowless*Application and *Application components. - # If already set, unset them to avoid ambiguity. + # Global aliases for Windowless*Application and *Application + # components. If already set, unset them to avoid ambiguity. if(${component} MATCHES Windowless.+Application) if(NOT DEFINED MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES AND NOT DEFINED MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS) set(MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES ${MAGNUM_${_COMPONENT}_LIBRARIES}) @@ -475,6 +499,18 @@ foreach(component ${Magnum_FIND_COMPONENTS}) unset(MAGNUM_APPLICATION_INCLUDE_DIRS) endif() endif() + + # Global aliases for *Context components. If already set, unset them to + # avoid ambiguity. + if(${component} MATCHES .+Context) + if(NOT DEFINED MAGNUM_CONTEXT_LIBRARIES AND NOT DEFINED MAGNUM_CONTEXT_INCLUDE_DIRS) + set(MAGNUM_CONTEXT_LIBRARIES ${MAGNUM_${_COMPONENT}_LIBRARIES}) + set(MAGNUM_CONTEXT_INCLUDE_DIRS ${MAGNUM_${_COMPONENT}_INCLUDE_DIRS}) + else() + unset(MAGNUM_CONTEXT_LIBRARIES) + unset(MAGNUM_CONTEXT_INCLUDE_DIRS) + endif() + endif() else() set(Magnum_${component}_FOUND FALSE) endif() diff --git a/package/archlinux/PKGBUILD b/package/archlinux/PKGBUILD index dc4913ad7..6ab801bdb 100644 --- a/package/archlinux/PKGBUILD +++ b/package/archlinux/PKGBUILD @@ -27,6 +27,7 @@ build() { -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/archlinux/PKGBUILD-clang b/package/archlinux/PKGBUILD-clang index 5e213067b..d02919f0d 100644 --- a/package/archlinux/PKGBUILD-clang +++ b/package/archlinux/PKGBUILD-clang @@ -31,6 +31,7 @@ build() { -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/archlinux/PKGBUILD-clang-libc++ b/package/archlinux/PKGBUILD-clang-libc++ index 4ef88c32a..29fbeb1de 100644 --- a/package/archlinux/PKGBUILD-clang-libc++ +++ b/package/archlinux/PKGBUILD-clang-libc++ @@ -33,6 +33,7 @@ build() { -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/archlinux/PKGBUILD-es2desktop b/package/archlinux/PKGBUILD-es2desktop index dee3cf815..e44afb6ce 100644 --- a/package/archlinux/PKGBUILD-es2desktop +++ b/package/archlinux/PKGBUILD-es2desktop @@ -25,6 +25,7 @@ build() { -DWITH_SDL2APPLICATION=ON \ -DWITH_GLXAPPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_OBJIMPORTER=ON \ -DWITH_TGAIMAGECONVERTER=ON \ diff --git a/package/archlinux/PKGBUILD-es3desktop b/package/archlinux/PKGBUILD-es3desktop index 2b7a1a517..1b896a3f4 100644 --- a/package/archlinux/PKGBUILD-es3desktop +++ b/package/archlinux/PKGBUILD-es3desktop @@ -25,6 +25,7 @@ build() { -DWITH_SDL2APPLICATION=ON \ -DWITH_GLXAPPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_OBJIMPORTER=ON \ -DWITH_TGAIMAGECONVERTER=ON \ diff --git a/package/archlinux/PKGBUILD-gcc47 b/package/archlinux/PKGBUILD-gcc47 index eabf2142c..5311e8836 100644 --- a/package/archlinux/PKGBUILD-gcc47 +++ b/package/archlinux/PKGBUILD-gcc47 @@ -31,6 +31,7 @@ build() { -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/archlinux/PKGBUILD-mingw-w64 b/package/archlinux/PKGBUILD-mingw-w64 index deee38b99..11ca64df8 100644 --- a/package/archlinux/PKGBUILD-mingw-w64 +++ b/package/archlinux/PKGBUILD-mingw-w64 @@ -22,6 +22,7 @@ build() { -DWITH_GLUTAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_WINDOWLESSWGLAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/archlinux/PKGBUILD-release b/package/archlinux/PKGBUILD-release index 547900941..30a275b13 100644 --- a/package/archlinux/PKGBUILD-release +++ b/package/archlinux/PKGBUILD-release @@ -23,6 +23,7 @@ build() { -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/archlinux/magnum-git/PKGBUILD b/package/archlinux/magnum-git/PKGBUILD index 176a5bf9b..66732b605 100644 --- a/package/archlinux/magnum-git/PKGBUILD +++ b/package/archlinux/magnum-git/PKGBUILD @@ -43,6 +43,7 @@ build() { -DWITH_SDL2APPLICATION=ON \ -DWITH_GLXAPPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/ci/jenkins.xml b/package/ci/jenkins.xml index b8166fc20..d5cf17832 100644 --- a/package/ci/jenkins.xml +++ b/package/ci/jenkins.xml @@ -143,6 +143,7 @@ cmake .. \ -DWITH_GLXAPPLICATION=ON \ -DWITH_SDL2APPLICATION=ON \ -DWITH_XEGLAPPLICATION=${es_flag} \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=${desktop_flag} \ -DWITH_OBJIMPORTER=ON \ diff --git a/package/debian/rules b/package/debian/rules index 16cda466a..c26b9613d 100755 --- a/package/debian/rules +++ b/package/debian/rules @@ -9,6 +9,7 @@ override_dh_auto_configure: -DWITH_GLUTAPPLICATION=ON \ -DWITH_GLXAPPLICATION=ON \ -DWITH_WINDOWLESSGLXAPPLICATION=ON \ + -DWITH_GLXCONTEXT=ON \ -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ diff --git a/src/Magnum/AbstractFramebuffer.cpp b/src/Magnum/AbstractFramebuffer.cpp index 99cefef14..b57f6597a 100644 --- a/src/Magnum/AbstractFramebuffer.cpp +++ b/src/Magnum/AbstractFramebuffer.cpp @@ -132,19 +132,27 @@ FramebufferTarget AbstractFramebuffer::bindInternal() { void AbstractFramebuffer::blit(AbstractFramebuffer& source, AbstractFramebuffer& destination, const Range2Di& sourceRectangle, const Range2Di& destinationRectangle, FramebufferBlitMask mask, FramebufferBlitFilter filter) { source.bindInternal(FramebufferTarget::Read); destination.bindInternal(FramebufferTarget::Draw); - /** @todo Re-enable when extension loader is available for ES, add also ANGLE version */ #ifndef MAGNUM_TARGET_GLES2 glBlitFramebuffer(sourceRectangle.left(), sourceRectangle.bottom(), sourceRectangle.right(), sourceRectangle.top(), destinationRectangle.left(), destinationRectangle.bottom(), destinationRectangle.right(), destinationRectangle.top(), GLbitfield(mask), GLenum(filter)); #else - static_cast(sourceRectangle); - static_cast(destinationRectangle); - static_cast(mask); - static_cast(filter); - //glBlitFramebufferNV(sourceRectangle.left(), sourceRectangle.bottom(), sourceRectangle.right(), sourceRectangle.top(), destinationRectangle.left(), destinationRectangle.bottom(), destinationRectangle.right(), destinationRectangle.top(), GLbitfield(mask), GLenum(filter)); - CORRADE_INTERNAL_ASSERT(false); + Context::current()->state().framebuffer->blitImplementation(sourceRectangle, destinationRectangle, mask, filter); #endif } +#ifdef MAGNUM_TARGET_GLES2 +void AbstractFramebuffer::blitImplementationANGLE(const Range2Di&, const Range2Di&, FramebufferBlitMask, FramebufferBlitFilter) { + /** @todo Re-enable when extension loader is available for ES */ + CORRADE_INTERNAL_ASSERT(false); + //glBlitFramebufferANGLE(sourceRectangle.left(), sourceRectangle.bottom(), sourceRectangle.right(), sourceRectangle.top(), destinationRectangle.left(), destinationRectangle.bottom(), destinationRectangle.right(), destinationRectangle.top(), GLbitfield(mask), GLenum(filter)); +} + +void AbstractFramebuffer::blitImplementationNV(const Range2Di&, const Range2Di&, FramebufferBlitMask, FramebufferBlitFilter) { + /** @todo Re-enable when extension loader is available for ES */ + CORRADE_INTERNAL_ASSERT(false); + //glBlitFramebufferNV(sourceRectangle.left(), sourceRectangle.bottom(), sourceRectangle.right(), sourceRectangle.top(), destinationRectangle.left(), destinationRectangle.bottom(), destinationRectangle.right(), destinationRectangle.top(), GLbitfield(mask), GLenum(filter)); +} +#endif + AbstractFramebuffer& AbstractFramebuffer::setViewport(const Range2Di& rectangle) { _viewport = rectangle; @@ -196,11 +204,7 @@ void AbstractFramebuffer::read(const Vector2i& offset, const Vector2i& size, Ima #ifndef MAGNUM_TARGET_GLES2 void AbstractFramebuffer::read(const Vector2i& offset, const Vector2i& size, BufferImage2D& image, BufferUsage usage) { - #ifndef MAGNUM_TARGET_GLES2 bindInternal(FramebufferTarget::Read); - #else - bindInternal(readTarget); - #endif /* If the buffer doesn't have sufficient size, resize it */ /** @todo Explicitly reset also when buffer usage changes */ if(image.size() != size) @@ -225,20 +229,13 @@ void AbstractFramebuffer::invalidateImplementationDefault(const GLsizei count, c #endif } +#ifndef MAGNUM_TARGET_GLES2 void AbstractFramebuffer::invalidateImplementationNoOp(GLsizei, const GLenum*, const Range2Di&) {} void AbstractFramebuffer::invalidateImplementationDefault(const GLsizei count, const GLenum* const attachments, const Range2Di& rectangle) { - /** @todo Re-enable when extension loader is available for ES */ - #ifndef MAGNUM_TARGET_GLES2 glInvalidateSubFramebuffer(GLenum(bindInternal()), count, attachments, rectangle.left(), rectangle.bottom(), rectangle.sizeX(), rectangle.sizeY()); - #else - static_cast(count); - static_cast(attachments); - static_cast(rectangle); - CORRADE_INTERNAL_ASSERT(false); - //glDiscardSubFramebufferEXT(GLenum(bindInternal()), count, attachments, rectangle.left(), rectangle.bottom(), rectangle.width(), rectangle.height()); - #endif } +#endif GLenum AbstractFramebuffer::checkStatusImplementationDefault(const FramebufferTarget target) { bindInternal(target); diff --git a/src/Magnum/AbstractFramebuffer.h b/src/Magnum/AbstractFramebuffer.h index 9fff9d5b7..c647b79d2 100644 --- a/src/Magnum/AbstractFramebuffer.h +++ b/src/Magnum/AbstractFramebuffer.h @@ -200,8 +200,8 @@ class MAGNUM_EXPORT AbstractFramebuffer { * @brief Max supported dual-source draw buffer count * * The result is cached, repeated queries don't result in repeated - * OpenGL calls. If extension @extension{ARB,blend_func_extended} is - * not available, returns `0`. + * OpenGL calls. If extension @extension{ARB,blend_func_extended} (part + * of OpenGL 3.3) is not available, returns `0`. * @see @ref DefaultFramebuffer::mapForDraw(), @ref Framebuffer::mapForDraw(), * @fn_gl{Get} with @def_gl{MAX_DUAL_SOURCE_DRAW_BUFFERS} * @requires_gl Multiple blending inputs are not available in @@ -342,6 +342,11 @@ class MAGNUM_EXPORT AbstractFramebuffer { Range2Di _viewport; private: + #ifdef MAGNUM_TARGET_GLES2 + static void MAGNUM_LOCAL blitImplementationANGLE(const Range2Di& sourceRectangle, const Range2Di& destinationRectangle, FramebufferBlitMask mask, FramebufferBlitFilter filter); + static void MAGNUM_LOCAL blitImplementationNV(const Range2Di& sourceRectangle, const Range2Di& destinationRectangle, FramebufferBlitMask mask, FramebufferBlitFilter filter); + #endif + GLenum MAGNUM_LOCAL checkStatusImplementationDefault(FramebufferTarget target); #ifndef MAGNUM_TARGET_GLES GLenum MAGNUM_LOCAL checkStatusImplementationDSA(FramebufferTarget target); @@ -368,8 +373,10 @@ class MAGNUM_EXPORT AbstractFramebuffer { void MAGNUM_LOCAL invalidateImplementationNoOp(GLsizei, const GLenum*); void MAGNUM_LOCAL invalidateImplementationDefault(GLsizei count, const GLenum* attachments); + #ifndef MAGNUM_TARGET_GLES2 void MAGNUM_LOCAL invalidateImplementationNoOp(GLsizei, const GLenum*, const Range2Di&); void MAGNUM_LOCAL invalidateImplementationDefault(GLsizei count, const GLenum* attachments, const Range2Di& rectangle); + #endif }; inline AbstractFramebuffer::AbstractFramebuffer() = default; diff --git a/src/Magnum/AbstractTexture.cpp b/src/Magnum/AbstractTexture.cpp index c305de84b..5f4069bb2 100644 --- a/src/Magnum/AbstractTexture.cpp +++ b/src/Magnum/AbstractTexture.cpp @@ -378,8 +378,8 @@ void AbstractTexture::bindInternal() { ColorFormat AbstractTexture::imageFormatForInternalFormat(const TextureFormat internalFormat) { switch(internalFormat) { case TextureFormat::Red: - #ifndef MAGNUM_TARGET_GLES2 case TextureFormat::R8: + #ifndef MAGNUM_TARGET_GLES2 case TextureFormat::R8Snorm: #endif #ifndef MAGNUM_TARGET_GLES @@ -408,8 +408,8 @@ ColorFormat AbstractTexture::imageFormatForInternalFormat(const TextureFormat in #endif case TextureFormat::RG: - #ifndef MAGNUM_TARGET_GLES2 case TextureFormat::RG8: + #ifndef MAGNUM_TARGET_GLES2 case TextureFormat::RG8Snorm: #endif #ifndef MAGNUM_TARGET_GLES @@ -456,7 +456,9 @@ ColorFormat AbstractTexture::imageFormatForInternalFormat(const TextureFormat in case TextureFormat::RGB5: #endif case TextureFormat::RGB565: + #ifndef MAGNUM_TARGET_GLES3 case TextureFormat::RGB10: + #endif #ifndef MAGNUM_TARGET_GLES case TextureFormat::RGB12: #endif @@ -567,10 +569,8 @@ ColorType AbstractTexture::imageTypeForInternalFormat(const TextureFormat intern case TextureFormat::RG: case TextureFormat::RGB: case TextureFormat::RGBA: - #ifndef MAGNUM_TARGET_GLES2 case TextureFormat::R8: case TextureFormat::RG8: - #endif case TextureFormat::RGB8: case TextureFormat::RGBA8: #ifndef MAGNUM_TARGET_GLES2 @@ -699,7 +699,9 @@ ColorType AbstractTexture::imageTypeForInternalFormat(const TextureFormat intern case TextureFormat::RGB565: return ColorType::UnsignedShort565; + #ifndef MAGNUM_TARGET_GLES3 case TextureFormat::RGB10: + #endif case TextureFormat::RGB10A2: #ifndef MAGNUM_TARGET_GLES2 case TextureFormat::RGB10A2UI: @@ -841,17 +843,7 @@ void AbstractTexture::storageImplementationFallback(const GLenum target, const G void AbstractTexture::storageImplementationDefault(GLenum target, GLsizei levels, TextureFormat internalFormat, const Math::Vector<1, GLsizei>& size) { bindInternal(); - /** @todo Re-enable when extension loader is available for ES */ - #ifndef MAGNUM_TARGET_GLES2 glTexStorage1D(target, levels, GLenum(internalFormat), size[0]); - #else - static_cast(target); - static_cast(levels); - static_cast(internalFormat); - static_cast(size); - CORRADE_INTERNAL_ASSERT(false); - //glTexStorage2DEXT(target, levels, GLenum(internalFormat), size.x(), size.y()); - #endif } void AbstractTexture::storageImplementationDSA(GLenum target, GLsizei levels, TextureFormat internalFormat, const Math::Vector<1, GLsizei>& size) { @@ -1017,19 +1009,8 @@ void AbstractTexture::getImageImplementationDSA(const GLenum target, const GLint } void AbstractTexture::getImageImplementationRobustness(const GLenum target, const GLint level, const ColorFormat format, const ColorType type, const std::size_t dataSize, GLvoid* const data) { - /** @todo Re-enable when extension loader is available for ES */ - #ifndef MAGNUM_TARGET_GLES bindInternal(); glGetnTexImageARB(target, level, GLenum(format), GLenum(type), dataSize, data); - #else - static_cast(target); - static_cast(level); - static_cast(format); - static_cast(type); - static_cast(dataSize); - static_cast(data); - CORRADE_INTERNAL_ASSERT(false); - #endif } #endif @@ -1322,10 +1303,6 @@ void AbstractTexture::DataHelper<1>::setWrapping(AbstractTexture& texture, const #endif void AbstractTexture::DataHelper<2>::setWrapping(AbstractTexture& texture, const Array2D& wrapping) { - #ifndef MAGNUM_TARGET_GLES - CORRADE_ASSERT(texture._target != GL_TEXTURE_RECTANGLE || ((wrapping.x() == Sampler::Wrapping::ClampToEdge || wrapping.x() == Sampler::Wrapping::ClampToBorder) && (wrapping.y() == Sampler::Wrapping::ClampToEdge || wrapping.y() == Sampler::Wrapping::ClampToBorder)), "Texture2D::setWrapping(): rectangle texture must be clamped to border or to edge", ); - #endif - const Implementation::TextureState& state = *Context::current()->state().texture; (texture.*state.parameteriImplementation)(GL_TEXTURE_WRAP_S, GLint(wrapping.x())); diff --git a/src/Magnum/CMakeLists.txt b/src/Magnum/CMakeLists.txt index 9cbe04011..38b7a1242 100644 --- a/src/Magnum/CMakeLists.txt +++ b/src/Magnum/CMakeLists.txt @@ -150,7 +150,7 @@ if(NOT TARGET_GLES) CubeMapTextureArray.cpp MultisampleTexture.cpp RectangleTexture.cpp - $) + $) endif() # Non-ES2 stuff @@ -182,10 +182,10 @@ if(NOT BUILD_STATIC OR BUILD_STATIC_PIC) # Set shared library flags for the objects, as they will be part of shared lib # TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property set_target_properties(MagnumMathObjects PROPERTIES COMPILE_FLAGS "-DMagnumMathObjects_EXPORTS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}") - set_target_properties(Magnum PROPERTIES COMPILE_FLAGS "-DGLLoadGen_EXPORTS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}") + set_target_properties(Magnum PROPERTIES COMPILE_FLAGS "-DFlextGL_EXPORTS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}") else() set_target_properties(MagnumMathObjects PROPERTIES COMPILE_FLAGS "-DMagnumMathObjects_EXPORTS") - set_target_properties(Magnum PROPERTIES COMPILE_FLAGS "-DGLLoadGen_EXPORTS") + set_target_properties(Magnum PROPERTIES COMPILE_FLAGS "-DFlextGL_EXPORTS") endif() set(Magnum_LIBS diff --git a/src/Magnum/Context.cpp b/src/Magnum/Context.cpp index 1e6538fde..42dc883ea 100644 --- a/src/Magnum/Context.cpp +++ b/src/Magnum/Context.cpp @@ -294,17 +294,9 @@ const std::vector& Extension::extensions(Version version) { Context* Context::_current = nullptr; -Context::Context() { - #ifndef MAGNUM_TARGET_GLES - /* Init glLoadGen. Ignore functions that failed to load (described by - `ogl_LOAD_SUCCEEDED + n` return code), as we requested the latest OpenGL - with many vendor extensions and there won't ever be a driver supporting - everything possible. */ - if(ogl_LoadFunctions() == ogl_LOAD_FAILED) { - Error() << "ExtensionWrangler: cannot initialize glLoadGen"; - std::exit(64); - } - #endif +Context::Context(void functionLoader()) { + /* Load GL function pointers */ + if(functionLoader) functionLoader(); /* Get version */ #if defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_GLES2) diff --git a/src/Magnum/Context.h b/src/Magnum/Context.h index 5ff8f2014..d99bc4c12 100644 --- a/src/Magnum/Context.h +++ b/src/Magnum/Context.h @@ -46,9 +46,8 @@ namespace Magnum { -namespace Implementation { - struct State; -} +namespace Implementation { struct State; } +namespace Platform { class Context; } /** @brief Run-time information about OpenGL extension @@ -92,11 +91,15 @@ class MAGNUM_EXPORT Extension { Provides access to version and extension information. Instance available through @ref Context::current() is automatically created during construction of -*Application classes in @ref Platform namespace. You can safely assume that the -instance is available during whole lifetime of *Application object. See -@ref platform documentation for more information about engine setup. +`*Application` classes in @ref Platform namespace. You can safely assume that +the instance is available during whole lifetime of `*Application` object. It's +also possible to create the context without using any `*Application` class +using @ref Platform::Context subclass, see @ref platform documentation for more +information. */ class MAGNUM_EXPORT Context { + friend class Platform::Context; + public: /** * @brief %Context flag @@ -203,17 +206,6 @@ class MAGNUM_EXPORT Context { */ typedef Containers::EnumSet DetectedDrivers; - /** - * @brief Constructor - * - * Does initial setup, detects available features and enables them - * throughout the engine. - * @see @fn_gl{Get} with @def_gl{MAJOR_VERSION}, @def_gl{MINOR_VERSION}, - * @def_gl{CONTEXT_FLAGS}, @def_gl{NUM_EXTENSIONS}, - * @fn_gl{GetString} with @def_gl{EXTENSIONS} - */ - explicit Context(); - /** @brief Copying is not allowed */ Context(const Context&) = delete; @@ -482,6 +474,8 @@ class MAGNUM_EXPORT Context { private: static Context* _current; + explicit Context(void functionLoader()); + MAGNUM_LOCAL void setupDriverWorkarounds(); Version _version; diff --git a/src/Magnum/DebugMessage.cpp b/src/Magnum/DebugMessage.cpp index fd3a690e4..ef9f0685f 100644 --- a/src/Magnum/DebugMessage.cpp +++ b/src/Magnum/DebugMessage.cpp @@ -98,10 +98,6 @@ Int DebugMessage::maxMessageLength() { return value; } -void DebugMessage::insert(const Source source, const Type type, const UnsignedInt id, const Severity severity, const std::string& string) { - Context::current()->state().debug->messageInsertImplementation(source, type, id, severity, string); -} - void DebugMessage::setCallback(const Callback callback, const void* userParam) { Context::current()->state().debug->messageCallbackImplementation(callback, userParam); } @@ -110,9 +106,13 @@ void DebugMessage::setDefaultCallback() { setCallback(defaultCallback, nullptr); } -void DebugMessage::insertImplementationNoOp(Source, Type, UnsignedInt, Severity, const std::string&) {} +void DebugMessage::insertInternal(const Source source, const Type type, const UnsignedInt id, const Severity severity, const Containers::ArrayReference string) { + Context::current()->state().debug->messageInsertImplementation(source, type, id, severity, string); +} + +void DebugMessage::insertImplementationNoOp(Source, Type, UnsignedInt, Severity, const Containers::ArrayReference) {} -void DebugMessage::insertImplementationKhr(const Source source, const Type type, const UnsignedInt id, const Severity severity, const std::string& string) { +void DebugMessage::insertImplementationKhr(const Source source, const Type type, const UnsignedInt id, const Severity severity, const Containers::ArrayReference string) { /** @todo Re-enable when extension wrangler is available for ES */ #ifndef MAGNUM_TARGET_GLES glDebugMessageInsert(GLenum(source), GLenum(type), id, GLenum(severity), string.size(), string.data()); @@ -127,7 +127,7 @@ void DebugMessage::insertImplementationKhr(const Source source, const Type type, #endif } -void DebugMessage::insertImplementationExt(Source, Type, UnsignedInt, Severity, const std::string& string) { +void DebugMessage::insertImplementationExt(Source, Type, UnsignedInt, Severity, const Containers::ArrayReference string) { /** @todo Re-enable when extension wrangler is available for ES */ #ifndef MAGNUM_TARGET_GLES glInsertEventMarkerEXT(string.size(), string.data()); @@ -138,11 +138,32 @@ void DebugMessage::insertImplementationExt(Source, Type, UnsignedInt, Severity, } #ifndef MAGNUM_TARGET_GLES -void DebugMessage::insertImplementationGremedy(Source, Type, UnsignedInt, Severity, const std::string& string) { - glStringMarkerGREMEDY(string.length(), string.data()); +void DebugMessage::insertImplementationGremedy(Source, Type, UnsignedInt, Severity, const Containers::ArrayReference string) { + glStringMarkerGREMEDY(string.size(), string.data()); } #endif +void DebugMessage::setEnabledInternal(const GLenum source, const GLenum type, const GLenum severity, const std::initializer_list ids, const bool enabled) { + Context::current()->state().debug->messageControlImplementation(source, type, severity, ids, enabled); +} + +void DebugMessage::controlImplementationNoOp(GLenum, GLenum, GLenum, std::initializer_list, bool) {} + +void DebugMessage::controlImplementationKhr(const GLenum source, const GLenum type, const GLenum severity, const std::initializer_list ids, const bool enabled) { + /** @todo Re-enable when extension wrangler is available for ES */ + #ifndef MAGNUM_TARGET_GLES + glDebugMessageControl(source, type, severity, ids.size(), ids.begin(), enabled); + #else + static_cast(source); + static_cast(type); + static_cast(severity); + static_cast(ids); + static_cast(enabled); + CORRADE_INTERNAL_ASSERT(false); + //glDebugMessageControlKHR(source, type, severity, ids.size(), ids.begin(), enabled); + #endif +} + void DebugMessage::callbackImplementationNoOp(Callback, const void*) {} void DebugMessage::callbackImplementationKhr(const Callback callback, const void* userParam) { diff --git a/src/Magnum/DebugMessage.h b/src/Magnum/DebugMessage.h index a213a1fb9..041a2cb07 100644 --- a/src/Magnum/DebugMessage.h +++ b/src/Magnum/DebugMessage.h @@ -30,6 +30,7 @@ */ #include +#include #include "Magnum/Magnum.h" #include "Magnum/OpenGL.h" @@ -272,7 +273,63 @@ class MAGNUM_EXPORT DebugMessage { * @fn_gl_extension2{InsertEventMarker,EXT,debug_marker} or * @fn_gl_extension{StringMarker,GREMEDY,string_marker} */ - static void insert(Source source, Type type, UnsignedInt id, Severity severity, const std::string& string); + static void insert(Source source, Type type, UnsignedInt id, Severity severity, const std::string& string) { + insertInternal(source, type, id, severity, {string.data(), string.size()}); + } + + /** @overload */ + template static void insert(Source source, Type type, UnsignedInt id, Severity severity, const char(&string)[size]) { + insertInternal(source, type, id, severity, {string, size - 1}); + } + + /** + * @brief Enable or disable particular message type + * + * @see @ref Renderer::Feature::DebugOutput, @fn_gl{DebugMessageControl} + */ + static void setEnabled(Source source, Type type, std::initializer_list ids, bool enabled) { + setEnabledInternal(GLenum(source), GLenum(type), GL_DONT_CARE, ids, enabled); + } + + /** @overload */ + static void setEnabled(Source source, Type type, Severity severity, bool enabled) { + setEnabledInternal(GLenum(source), GLenum(type), GLenum(severity), {}, enabled); + } + + /** @overload */ + static void setEnabled(Source source, Type type, bool enabled) { + setEnabledInternal(GLenum(source), GLenum(type), GL_DONT_CARE, {}, enabled); + } + + /** @overload */ + static void setEnabled(Source source, Severity severity, bool enabled) { + setEnabledInternal(GLenum(source), GL_DONT_CARE, GLenum(severity), {}, enabled); + } + + /** @overload */ + static void setEnabled(Source source, bool enabled) { + setEnabledInternal(GLenum(source), GL_DONT_CARE, GL_DONT_CARE, {}, enabled); + } + + /** @overload */ + static void setEnabled(Type type, Severity severity, bool enabled) { + setEnabledInternal(GL_DONT_CARE, GLenum(type), GLenum(severity), {}, enabled); + } + + /** @overload */ + static void setEnabled(Type type, bool enabled) { + setEnabledInternal(GL_DONT_CARE, GLenum(type), GL_DONT_CARE, {}, enabled); + } + + /** @overload */ + static void setEnabled(Severity severity, bool enabled) { + setEnabledInternal(GL_DONT_CARE, GL_DONT_CARE, GLenum(severity), {}, enabled); + } + + /** @overload */ + static void setEnabled(bool enabled) { + setEnabledInternal(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, {}, enabled); + } /** * @brief Set debug message callback @@ -306,13 +363,18 @@ class MAGNUM_EXPORT DebugMessage { DebugMessage() = delete; private: - static MAGNUM_LOCAL void insertImplementationNoOp(Source, Type, UnsignedInt, Severity, const std::string&); - static MAGNUM_LOCAL void insertImplementationKhr(Source source, Type type, UnsignedInt id, Severity severity, const std::string& string); - static MAGNUM_LOCAL void insertImplementationExt(Source, Type, UnsignedInt, Severity, const std::string& string); + static void insertInternal(Source source, Type type, UnsignedInt id, Severity severity, Containers::ArrayReference string); + static MAGNUM_LOCAL void insertImplementationNoOp(Source, Type, UnsignedInt, Severity, Containers::ArrayReference); + static MAGNUM_LOCAL void insertImplementationKhr(Source source, Type type, UnsignedInt id, Severity severity, Containers::ArrayReference string); + static MAGNUM_LOCAL void insertImplementationExt(Source, Type, UnsignedInt, Severity, Containers::ArrayReference string); #ifndef MAGNUM_TARGET_GLES - static MAGNUM_LOCAL void insertImplementationGremedy(Source, Type, UnsignedInt, Severity, const std::string& string); + static MAGNUM_LOCAL void insertImplementationGremedy(Source, Type, UnsignedInt, Severity, Containers::ArrayReference string); #endif + static void setEnabledInternal(GLenum source, GLenum type, GLenum severity, std::initializer_list ids, bool enabled); + static MAGNUM_LOCAL void controlImplementationNoOp(GLenum, GLenum, GLenum, std::initializer_list, bool); + static MAGNUM_LOCAL void controlImplementationKhr(GLenum source, GLenum type, GLenum severity, std::initializer_list ids, bool enabled); + static MAGNUM_LOCAL void callbackImplementationNoOp(Callback, const void*); static MAGNUM_LOCAL void callbackImplementationKhr(Callback callback, const void* userParam); }; diff --git a/src/Magnum/DebugTools/Test/ForceRendererTest.cpp b/src/Magnum/DebugTools/Test/ForceRendererTest.cpp index 865f56bd5..15ceb580f 100644 --- a/src/Magnum/DebugTools/Test/ForceRendererTest.cpp +++ b/src/Magnum/DebugTools/Test/ForceRendererTest.cpp @@ -103,7 +103,7 @@ void ForceRendererTest::arbitrary3D() { CORRADE_COMPARE(Vector3::dot(m.right(), m.up()), 0.0f); CORRADE_COMPARE(Vector3::dot(m.right(), m.backward()), 0.0f); /** @todo This shouldn't be too different */ - CORRADE_VERIFY(Math::abs(Vector3::dot(m.up(), m.backward())) < Math::TypeTraits::epsilon()); + CORRADE_VERIFY(Math::abs(Vector3::dot(m.up(), m.backward())) < Math::TypeTraits::epsilon()); } }}}} diff --git a/src/Magnum/DefaultFramebuffer.cpp b/src/Magnum/DefaultFramebuffer.cpp index 2b2d70d57..fefaa37b1 100644 --- a/src/Magnum/DefaultFramebuffer.cpp +++ b/src/Magnum/DefaultFramebuffer.cpp @@ -80,6 +80,7 @@ void DefaultFramebuffer::invalidate(std::initializer_list*Context::current()->state().framebuffer->invalidateImplementation)(attachments.size(), _attachments); } +#ifndef MAGNUM_TARGET_GLES2 void DefaultFramebuffer::invalidate(std::initializer_list attachments, const Range2Di& rectangle) { /** @todo C++14: use VLA to avoid heap allocation */ Containers::Array _attachments(attachments.size()); @@ -88,6 +89,7 @@ void DefaultFramebuffer::invalidate(std::initializer_list*Context::current()->state().framebuffer->invalidateSubImplementation)(attachments.size(), _attachments, rectangle); } +#endif void DefaultFramebuffer::initializeContextBasedFunctionality(Context& context) { Implementation::FramebufferState* state = context.state().framebuffer; diff --git a/src/Magnum/DefaultFramebuffer.h b/src/Magnum/DefaultFramebuffer.h index b859ce9e8..f15def894 100644 --- a/src/Magnum/DefaultFramebuffer.h +++ b/src/Magnum/DefaultFramebuffer.h @@ -404,12 +404,11 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer { * @param rectangle %Rectangle to invalidate * * If extension @extension{ARB,invalidate_subdata} (part of OpenGL - * 4.3), extension @es_extension{EXT,discard_framebuffer} in OpenGL ES - * 2.0 or OpenGL ES 3.0 is not available, this function does nothing. + * 4.3) or OpenGL ES 3.0 is not available, this function does nothing. * The framebuffer is bound to some target before the operation, if not * already. - * @see @fn_gl{InvalidateSubFramebuffer} or @fn_gles_extension{DiscardSubFramebuffer,EXT,discard_framebuffer} - * on OpenGL ES 2.0 + * @see @ref invalidate(std::initializer_list), + * @fn_gl{InvalidateSubFramebuffer} */ void invalidate(std::initializer_list attachments, const Range2Di& rectangle); @@ -431,6 +430,11 @@ extern DefaultFramebuffer MAGNUM_EXPORT defaultFramebuffer; /** @debugoperatorclassenum{Magnum::DefaultFramebuffer,Magnum::DefaultFramebuffer::Status} */ Debug MAGNUM_EXPORT operator<<(Debug debug, DefaultFramebuffer::Status value); +#ifdef MAGNUM_TARGET_GLES2 +/* No-op implementation on ES2 */ +inline void DefaultFramebuffer::invalidate(std::initializer_list, const Range2Di&) {} +#endif + } #endif diff --git a/src/Magnum/Framebuffer.cpp b/src/Magnum/Framebuffer.cpp index eeb530b7a..03aec516a 100644 --- a/src/Magnum/Framebuffer.cpp +++ b/src/Magnum/Framebuffer.cpp @@ -157,6 +157,7 @@ void Framebuffer::invalidate(std::initializer_list attac (this->*Context::current()->state().framebuffer->invalidateImplementation)(attachments.size(), _attachments); } +#ifndef MAGNUM_TARGET_GLES2 void Framebuffer::invalidate(std::initializer_list attachments, const Range2Di& rectangle) { /** @todo C++14: use VLA to avoid heap allocation */ Containers::Array _attachments(attachments.size()); @@ -165,6 +166,7 @@ void Framebuffer::invalidate(std::initializer_list attac (this->*Context::current()->state().framebuffer->invalidateSubImplementation)(attachments.size(), _attachments, rectangle); } +#endif Framebuffer& Framebuffer::attachRenderbuffer(const BufferAttachment attachment, Renderbuffer& renderbuffer) { (this->*Context::current()->state().framebuffer->renderbufferImplementation)(attachment, renderbuffer); @@ -184,13 +186,13 @@ Framebuffer& Framebuffer::attachTexture(const BufferAttachment attachment, Textu } #ifndef MAGNUM_TARGET_GLES -Framebuffer& Framebuffer::attachTexture(const BufferAttachment attachment, RectangleTexture& texture, const Int level) { - (this->*Context::current()->state().framebuffer->texture2DImplementation)(attachment, GL_TEXTURE_RECTANGLE, texture.id(), level); +Framebuffer& Framebuffer::attachTexture(const BufferAttachment attachment, RectangleTexture& texture) { + (this->*Context::current()->state().framebuffer->texture2DImplementation)(attachment, GL_TEXTURE_RECTANGLE, texture.id(), 0); return *this; } -Framebuffer& Framebuffer::attachTexture(const BufferAttachment attachment, MultisampleTexture2D& texture, const Int level) { - (this->*Context::current()->state().framebuffer->texture2DImplementation)(attachment, GL_TEXTURE_2D_MULTISAMPLE, texture.id(), level); +Framebuffer& Framebuffer::attachTexture(const BufferAttachment attachment, MultisampleTexture2D& texture) { + (this->*Context::current()->state().framebuffer->texture2DImplementation)(attachment, GL_TEXTURE_2D_MULTISAMPLE, texture.id(), 0); return *this; } #endif @@ -225,8 +227,8 @@ Framebuffer& Framebuffer::attachTextureLayer(Framebuffer::BufferAttachment attac return *this; } -Framebuffer& Framebuffer::attachTextureLayer(Framebuffer::BufferAttachment attachment, MultisampleTexture2DArray& texture, Int level, Int layer) { - (this->*Context::current()->state().framebuffer->textureLayerImplementation)(attachment, texture.id(), level, layer); +Framebuffer& Framebuffer::attachTextureLayer(Framebuffer::BufferAttachment attachment, MultisampleTexture2DArray& texture, Int layer) { + (this->*Context::current()->state().framebuffer->textureLayerImplementation)(attachment, texture.id(), 0, layer); return *this; } #endif diff --git a/src/Magnum/Framebuffer.h b/src/Magnum/Framebuffer.h index ac18fd033..613878540 100644 --- a/src/Magnum/Framebuffer.h +++ b/src/Magnum/Framebuffer.h @@ -309,8 +309,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje * @brief Max supported color attachment count * * The result is cached, repeated queries don't result in repeated - * OpenGL calls. If ES extension @extension{NV,fbo_color_attachments} - * is not available, returns `0`. + * OpenGL calls. If neither OpenGL ES 3.0 nor ES extension + * @extension{NV,fbo_color_attachments} is available, returns `0`. * @see @ref mapForDraw(), @fn_gl{Get} with @def_gl{MAX_COLOR_ATTACHMENTS} */ static Int maxColorAttachments(); @@ -474,12 +474,11 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje * @param rectangle %Rectangle to invalidate * * If extension @extension{ARB,invalidate_subdata} (part of OpenGL - * 4.3), extension @es_extension{EXT,discard_framebuffer} in OpenGL ES - * 2.0 or OpenGL ES 3.0 is not available, this function does nothing. + * 4.3) or OpenGL ES 3.0 is not available, this function does nothing. * The framebuffer is bound to some target before the operation, if not * already. - * @see @fn_gl{InvalidateFramebuffer} or @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer} - * on OpenGL ES 2.0 + * @see @ref invalidate(std::initializer_list), + * @fn_gl{InvalidateFramebuffer} */ void invalidate(std::initializer_list attachments, const Range2Di& rectangle); @@ -539,13 +538,13 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje * @requires_gl31 %Extension @extension{ARB,texture_rectangle} * @requires_gl Rectangle textures are not available in OpenGL ES. */ - Framebuffer& attachTexture(BufferAttachment attachment, RectangleTexture& texture, Int level); + Framebuffer& attachTexture(BufferAttachment attachment, RectangleTexture& texture); /** @overload * @requires_gl32 %Extension @extension{ARB,texture_multisample} * @requires_gl Multisample textures are not available in OpenGL ES. */ - Framebuffer& attachTexture(BufferAttachment attachment, MultisampleTexture2D& texture, Int level); + Framebuffer& attachTexture(BufferAttachment attachment, MultisampleTexture2D& texture); #endif /** @@ -611,7 +610,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje * @requires_gl32 %Extension @extension{ARB,texture_multisample} * @requires_gl Multisample textures are not available in OpenGL ES. */ - Framebuffer& attachTextureLayer(BufferAttachment attachment, MultisampleTexture2DArray& texture, Int level, Int layer); + Framebuffer& attachTextureLayer(BufferAttachment attachment, MultisampleTexture2DArray& texture, Int layer); #endif #ifdef MAGNUM_BUILD_DEPRECATED @@ -688,6 +687,11 @@ inline Framebuffer& Framebuffer::operator=(Framebuffer&& other) noexcept { return *this; } +#ifdef MAGNUM_TARGET_GLES2 +/* No-op implementation on ES2 */ +inline void Framebuffer::invalidate(std::initializer_list, const Range2Di&) {} +#endif + } #endif diff --git a/src/Magnum/Implementation/DebugState.cpp b/src/Magnum/Implementation/DebugState.cpp index f030a8689..25764ae95 100644 --- a/src/Magnum/Implementation/DebugState.cpp +++ b/src/Magnum/Implementation/DebugState.cpp @@ -38,6 +38,7 @@ DebugState::DebugState(Context& context, std::vector& extensions): getLabelImplementation = &AbstractObject::getLabelImplementationKhr; labelImplementation = &AbstractObject::labelImplementationKhr; messageInsertImplementation = &DebugMessage::insertImplementationKhr; + messageControlImplementation = &DebugMessage::controlImplementationKhr; messageCallbackImplementation = &DebugMessage::callbackImplementationKhr; } else { @@ -63,6 +64,7 @@ DebugState::DebugState(Context& context, std::vector& extensions): #endif } else messageInsertImplementation = &DebugMessage::insertImplementationNoOp; + messageControlImplementation = &DebugMessage::controlImplementationNoOp; messageCallbackImplementation = &DebugMessage::callbackImplementationNoOp; } } diff --git a/src/Magnum/Implementation/DebugState.h b/src/Magnum/Implementation/DebugState.h index dd90ec181..c080a2c3f 100644 --- a/src/Magnum/Implementation/DebugState.h +++ b/src/Magnum/Implementation/DebugState.h @@ -38,7 +38,8 @@ struct DebugState { std::string(*getLabelImplementation)(GLenum, GLuint); void(*labelImplementation)(GLenum, GLuint, Containers::ArrayReference); - void(*messageInsertImplementation)(DebugMessage::Source, DebugMessage::Type, UnsignedInt, DebugMessage::Severity, const std::string&); + void(*messageInsertImplementation)(DebugMessage::Source, DebugMessage::Type, UnsignedInt, DebugMessage::Severity, Containers::ArrayReference); + void(*messageControlImplementation)(GLenum, GLenum, GLenum, std::initializer_list, bool); void(*messageCallbackImplementation)(DebugMessage::Callback, const void*); GLint maxLabelLength, maxLoggedMessages, maxMessageLength; diff --git a/src/Magnum/Implementation/FramebufferState.cpp b/src/Magnum/Implementation/FramebufferState.cpp index 010d23307..0d49ab50a 100644 --- a/src/Magnum/Implementation/FramebufferState.cpp +++ b/src/Magnum/Implementation/FramebufferState.cpp @@ -157,10 +157,8 @@ FramebufferState::FramebufferState(Context& context, std::vector& e extensions.push_back(Extensions::GL::EXT::discard_framebuffer::string()); invalidateImplementation = &AbstractFramebuffer::invalidateImplementationDefault; - invalidateSubImplementation = &AbstractFramebuffer::invalidateImplementationDefault; } else { invalidateImplementation = &AbstractFramebuffer::invalidateImplementationNoOp; - invalidateSubImplementation = &AbstractFramebuffer::invalidateImplementationNoOp; } /* Always available on ES3 */ @@ -168,6 +166,19 @@ FramebufferState::FramebufferState(Context& context, std::vector& e invalidateImplementation = &AbstractFramebuffer::invalidateImplementationDefault; invalidateSubImplementation = &AbstractFramebuffer::invalidateImplementationDefault; #endif + + /* Blit implementation on ES2 */ + #ifdef MAGNUM_TARGET_GLES2 + if(context.isExtensionSupported()) { + extensions.push_back(Extensions::GL::ANGLE::framebuffer_blit::string()); + blitImplementation = &AbstractFramebuffer::blitImplementationANGLE; + + } else if(context.isExtensionSupported()) { + extensions.push_back(Extensions::GL::NV::framebuffer_blit::string()); + blitImplementation = &AbstractFramebuffer::blitImplementationNV; + + } else blitImplementation = nullptr; + #endif } void FramebufferState::reset() { diff --git a/src/Magnum/Implementation/FramebufferState.h b/src/Magnum/Implementation/FramebufferState.h index 29239627d..2745d28bf 100644 --- a/src/Magnum/Implementation/FramebufferState.h +++ b/src/Magnum/Implementation/FramebufferState.h @@ -47,12 +47,17 @@ struct FramebufferState { void reset(); + #ifdef MAGNUM_TARGET_GLES2 + void(*blitImplementation)(const Range2Di&, const Range2Di&, FramebufferBlitMask, FramebufferBlitFilter); + #endif GLenum(AbstractFramebuffer::*checkStatusImplementation)(FramebufferTarget); void(AbstractFramebuffer::*drawBuffersImplementation)(GLsizei, const GLenum*); void(AbstractFramebuffer::*drawBufferImplementation)(GLenum); void(AbstractFramebuffer::*readBufferImplementation)(GLenum); void(AbstractFramebuffer::*invalidateImplementation)(GLsizei, const GLenum*); + #ifndef MAGNUM_TARGET_GLES2 void(AbstractFramebuffer::*invalidateSubImplementation)(GLsizei, const GLenum*, const Range2Di&); + #endif void(Framebuffer::*renderbufferImplementation)(Framebuffer::BufferAttachment, Renderbuffer&); #ifndef MAGNUM_TARGET_GLES diff --git a/src/Magnum/OpenGL.h b/src/Magnum/OpenGL.h index a88ca6d9e..fc7a69b54 100644 --- a/src/Magnum/OpenGL.h +++ b/src/Magnum/OpenGL.h @@ -37,7 +37,7 @@ /* Desktop OpenGL */ #ifndef MAGNUM_TARGET_GLES - #include "MagnumExternal/OpenGL/GL/gl_magnum.h" + #include "MagnumExternal/OpenGL/GL/flextGL.h" /* NaCl has its own gl2.h, the official one causes linker issues. Additionaly to NaCl's gl2ext.h we are including our own to prevent undeclared symbol diff --git a/src/Magnum/Platform/AbstractXApplication.cpp b/src/Magnum/Platform/AbstractXApplication.cpp index bc99f8f37..fdb139e98 100644 --- a/src/Magnum/Platform/AbstractXApplication.cpp +++ b/src/Magnum/Platform/AbstractXApplication.cpp @@ -27,7 +27,7 @@ #include -#include "Magnum/Context.h" +#include "Magnum/Platform/Context.h" #include "Magnum/Version.h" #include "Implementation/AbstractContextHandler.h" @@ -102,7 +102,7 @@ bool AbstractXApplication::tryCreateContext(const Configuration& configuration) /* Set OpenGL context as current */ contextHandler->makeCurrent(); - c = new Context; + c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/AbstractXApplication.h b/src/Magnum/Platform/AbstractXApplication.h index 6ba9ea40e..860007f77 100644 --- a/src/Magnum/Platform/AbstractXApplication.h +++ b/src/Magnum/Platform/AbstractXApplication.h @@ -41,6 +41,7 @@ #include "Magnum/Magnum.h" #include "Magnum/Math/Vector2.h" +#include "Magnum/Platform/Platform.h" #ifdef CORRADE_GCC45_COMPATIBILITY #include "Magnum/Version.h" @@ -191,7 +192,7 @@ class AbstractXApplication { Implementation::AbstractContextHandler* contextHandler; - Context* c; + Platform::Context* c; /** @todo Get this from the created window */ Vector2i viewportSize; diff --git a/src/Magnum/Platform/AndroidApplication.cpp b/src/Magnum/Platform/AndroidApplication.cpp index 5d9e949e0..1cea60956 100644 --- a/src/Magnum/Platform/AndroidApplication.cpp +++ b/src/Magnum/Platform/AndroidApplication.cpp @@ -28,7 +28,7 @@ #include #include -#include "Magnum/Context.h" +#include "Magnum/Platform/Context.h" #include "Implementation/Egl.h" @@ -144,7 +144,7 @@ bool AndroidApplication::tryCreateContext(const Configuration& configuration) { /* Make the context current */ CORRADE_INTERNAL_ASSERT_OUTPUT(eglMakeCurrent(_display, _surface, _surface, _context)); - _c.reset(new Context); + _c.reset(new Platform::Context); return true; } diff --git a/src/Magnum/Platform/AndroidApplication.h b/src/Magnum/Platform/AndroidApplication.h index 72a4883bf..c278133f1 100644 --- a/src/Magnum/Platform/AndroidApplication.h +++ b/src/Magnum/Platform/AndroidApplication.h @@ -308,7 +308,7 @@ class AndroidApplication { EGLSurface _surface; EGLContext _context; - std::unique_ptr _c; + std::unique_ptr _c; std::unique_ptr _logOutput; CORRADE_ENUMSET_FRIEND_OPERATORS(Flags) diff --git a/src/Magnum/Platform/CMakeLists.txt b/src/Magnum/Platform/CMakeLists.txt index 7001bd717..28b59013d 100644 --- a/src/Magnum/Platform/CMakeLists.txt +++ b/src/Magnum/Platform/CMakeLists.txt @@ -25,6 +25,7 @@ # Headers set(MagnumPlatform_HEADERS + Context.h Platform.h Screen.h ScreenedApplication.h @@ -35,6 +36,20 @@ set(MagnumPlatform_FILES ) install(FILES ${MagnumPlatform_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) +# Decide about platform-specific context for cross-platform toolkits +if((WITH_GLUTAPPLICATION OR WITH_SDL2APPLICATION) AND NOT MAGNUM_TARGET_GLES) + if(CORRADE_TARGET_APPLE) + set(NEED_CGLCONTEXT 1) + set(MagnumSomeContext_OBJECTS $) + elseif(CORRADE_TARGET_WINDOWS) + set(NEED_WGLCONTEXT 1) + set(MagnumSomeContext_OBJECTS $) + elseif(CORRADE_TARGET_UNIX) + set(NEED_GLXCONTEXT 1) + set(MagnumSomeContext_OBJECTS $) + endif() +endif() + # Android application if(WITH_ANDROIDAPPLICATION) if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL Android) @@ -71,7 +86,9 @@ if(WITH_GLUTAPPLICATION) message(FATAL_ERROR "GLUT library, required by GlutApplication, was not found. Set WITH_GLUTAPPLICATION to OFF to skip building it.") endif() - set(MagnumGlutApplication_SRCS GlutApplication.cpp) + set(MagnumGlutApplication_SRCS + GlutApplication.cpp + ${MagnumSomeContext_OBJECTS}) set(MagnumGlutApplication_HEADERS GlutApplication.h) add_library(MagnumGlutApplication STATIC @@ -94,7 +111,9 @@ if(WITH_SDL2APPLICATION) include_directories(${SDL2_INCLUDE_DIR}) - set(MagnumSdl2Application_SRCS Sdl2Application.cpp) + set(MagnumSdl2Application_SRCS + Sdl2Application.cpp + ${MagnumSomeContext_OBJECTS}) set(MagnumSdl2Application_HEADERS Sdl2Application.h) add_library(MagnumSdl2Application STATIC @@ -170,12 +189,18 @@ endif() # GLX application if(WITH_GLXAPPLICATION) set(NEED_ABSTRACTXAPPLICATION 1) - set(NEED_GLXCONTEXT 1) + set(NEED_GLXCONTEXTHANDLER 1) + if(NOT MAGNUM_TARGET_GLES) + set(NEED_GLXCONTEXT 1) + endif() set(MagnumGlxApplication_SRCS + GlxApplication.cpp $ - $ - GlxApplication.cpp) + $) + if(NOT MAGNUM_TARGET_GLES) + list(APPEND MagnumWindowlessGlxApplication_SRCS $) + endif() set(MagnumGlxApplication_HEADERS GlxApplication.h) add_library(MagnumGlxApplication STATIC @@ -192,12 +217,12 @@ endif() # X/EGL application if(WITH_XEGLAPPLICATION) set(NEED_ABSTRACTXAPPLICATION 1) - set(NEED_EGLCONTEXT 1) + set(NEED_EGLCONTEXTHANDLER 1) set(MagnumXEglApplication_SRCS + XEglApplication.cpp $ - $ - XEglApplication.cpp) + $) set(MagnumXEglApplication_HEADERS XEglApplication.h) add_library(MagnumXEglApplication STATIC @@ -220,7 +245,14 @@ endif() # Windowless GLX application if(WITH_WINDOWLESSGLXAPPLICATION) + if(NOT MAGNUM_TARGET_GLES) + set(NEED_GLXCONTEXT 1) + endif() + set(MagnumWindowlessGlxApplication_SRCS WindowlessGlxApplication.cpp) + if(NOT MAGNUM_TARGET_GLES) + list(APPEND MagnumWindowlessGlxApplication_SRCS $) + endif() set(MagnumWindowlessGlxApplication_HEADERS WindowlessGlxApplication.h) add_library(MagnumWindowlessGlxApplication STATIC @@ -240,7 +272,11 @@ endif() # Windowless WGL application if(WITH_WINDOWLESSWGLAPPLICATION) - set(MagnumWindowlessWglApplication_SRCS WindowlessWglApplication.cpp) + set(NEED_WGLCONTEXT 1) + + set(MagnumWindowlessWglApplication_SRCS + WindowlessWglApplication.cpp + $) set(MagnumWindowlessWglApplication_HEADERS WindowlessWglApplication.h) add_library(MagnumWindowlessWglApplication STATIC @@ -259,7 +295,11 @@ endif() # Windowless CGL application if(WITH_WINDOWLESSCGLAPPLICATION) - set(MagnumWindowlessCglApplication_SRCS WindowlessCglApplication.cpp) + set(NEED_CGLCONTEXT 1) + + set(MagnumWindowlessCglApplication_SRCS + WindowlessCglApplication.cpp + $) set(MagnumWindowlessCglApplication_HEADERS WindowlessCglApplication.h) add_library(MagnumWindowlessCglApplication STATIC @@ -287,8 +327,8 @@ if(NEED_ABSTRACTXAPPLICATION) install(FILES ${MagnumAbstractXApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform) endif() -# GLX context -if(NEED_GLXCONTEXT) +# GLX context handler +if(NEED_GLXCONTEXTHANDLER) set(MagnumGlxContextHandler_SRCS Implementation/GlxContextHandler.cpp) set(MagnumGlxContextHandler_PRIVATE_HEADERS @@ -302,8 +342,8 @@ if(NEED_GLXCONTEXT) set_target_properties(MagnumGlxContextHandler PROPERTIES COMPILE_FLAGS "-Wno-old-style-cast") endif() -# EGL context -if(NEED_EGLCONTEXT) +# EGL context handler +if(NEED_EGLCONTEXTHANDLER) find_package(EGL) if(NOT EGL_FOUND) message(FATAL_ERROR "EGL library, required by some window contexts, was not found. Set WITH_*EGL*APPLICATION to OFF to skip building them.") @@ -324,6 +364,62 @@ if(NEED_EGLCONTEXT) set_target_properties(MagnumEglContextHandler PROPERTIES COMPILE_FLAGS "-Wno-old-style-cast") endif() +# Platform-specific sources for context library +if(NOT MAGNUM_TARGET_GLES) + set(MagnumContext_SRCS + Implementation/OpenGLFunctionLoader.cpp + ../../MagnumExternal/OpenGL/GL/flextGLPlatform.cpp) +endif() + +# CGL context +if(NEED_CGLCONTEXT OR WITH_CGLCONTEXT) + add_library(MagnumCglContextObjects OBJECT ${MagnumContext_SRCS}) + + # Also create proper static library, if requested + if(WITH_CGLCONTEXT) + # CMake-generated XCode projects had some problems when library + # consisted only of $ entries, thus compiling the + # sources again in this case + add_library(MagnumCglContext STATIC ${MagnumContext_SRCS}) + set_target_properties(MagnumCglContext PROPERTIES DEBUG_POSTFIX "-d") + install(TARGETS MagnumCglContext + RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} + LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR} + ARCHIVE DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}) + endif() +endif() + +# GLX context +if(NEED_GLXCONTEXT OR WITH_GLXCONTEXT) + add_library(MagnumGlxContextObjects OBJECT ${MagnumContext_SRCS}) + set_target_properties(MagnumGlxContextObjects PROPERTIES COMPILE_DEFINITIONS "MAGNUM_PLATFORM_USE_GLX") + + # Also create proper static library, if requested + if(WITH_GLXCONTEXT) + add_library(MagnumGlxContext STATIC $) + set_target_properties(MagnumGlxContext PROPERTIES DEBUG_POSTFIX "-d") + install(TARGETS MagnumGlxContext + RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} + LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR} + ARCHIVE DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}) + endif() +endif() + +# WGL context +if(NEED_WGLCONTEXT OR WITH_WGLCONTEXT) + add_library(MagnumWglContextObjects OBJECT ${MagnumContext_SRCS}) + + # Also create proper static library, if requested + if(WITH_GLXCONTEXT) + add_library(MagnumWglContext STATIC $) + set_target_properties(MagnumWglContext PROPERTIES DEBUG_POSTFIX "-d") + install(TARGETS MagnumWglContext + RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR} + LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR} + ARCHIVE DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}) + endif() +endif() + # Magnum Info if(WITH_MAGNUMINFO) add_executable(magnum-info magnum-info.cpp) diff --git a/src/Magnum/Platform/Context.h b/src/Magnum/Platform/Context.h new file mode 100644 index 000000000..e08615409 --- /dev/null +++ b/src/Magnum/Platform/Context.h @@ -0,0 +1,64 @@ +#ifndef Magnum_Platform_Context_h +#define Magnum_Platform_Context_h +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013, 2014 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +#include + +#include "Magnum/Context.h" +#include "Magnum/OpenGL.h" + +namespace Magnum { namespace Platform { + +/** +@brief Platform-specific context + +In most cases not needed to be used directly as the initialization is done +automatically in `*Application` classes. See @ref platform for more +information. +*/ +class Context: public Magnum::Context { + public: + /** + * @brief Constructor + * + * Does initial setup, loads OpenGL function pointers using + * platform-specific API, detects available features and enables them + * throughout the engine. + * @see @fn_gl{Get} with @def_gl{MAJOR_VERSION}, @def_gl{MINOR_VERSION}, + * @def_gl{CONTEXT_FLAGS}, @def_gl{NUM_EXTENSIONS}, + * @fn_gl{GetString} with @def_gl{EXTENSIONS} + */ + explicit Context(): + #ifndef MAGNUM_TARGET_GLES + Magnum::Context{flextGLInit} {} + #else + Magnum::Context{nullptr} {} + #endif +}; + +}} + +#endif diff --git a/src/Magnum/Platform/GlutApplication.cpp b/src/Magnum/Platform/GlutApplication.cpp index 21cd0e3f9..a3d29bcb7 100644 --- a/src/Magnum/Platform/GlutApplication.cpp +++ b/src/Magnum/Platform/GlutApplication.cpp @@ -27,8 +27,8 @@ #include -#include "Magnum/Context.h" #include "Magnum/Version.h" +#include "Magnum/Platform/Context.h" #include "Magnum/Platform/ScreenedApplication.hpp" namespace Magnum { namespace Platform { @@ -112,7 +112,7 @@ bool GlutApplication::tryCreateContext(const Configuration& configuration) { glutMotionFunc(staticMouseMoveEvent); glutDisplayFunc(staticDrawEvent); - c = new Context; + c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/GlutApplication.h b/src/Magnum/Platform/GlutApplication.h index 2bf623392..92da40f21 100644 --- a/src/Magnum/Platform/GlutApplication.h +++ b/src/Magnum/Platform/GlutApplication.h @@ -277,7 +277,7 @@ class GlutApplication { static GlutApplication* instance; - Context* c; + Platform::Context* c; }; /** diff --git a/src/Magnum/Platform/Implementation/OpenGLFunctionLoader.cpp b/src/Magnum/Platform/Implementation/OpenGLFunctionLoader.cpp new file mode 100644 index 000000000..c86805634 --- /dev/null +++ b/src/Magnum/Platform/Implementation/OpenGLFunctionLoader.cpp @@ -0,0 +1,100 @@ +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013, 2014 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +#include "OpenGLFunctionLoader.h" + +#include + +/* CGL-specific includes */ +#if defined(CORRADE_TARGET_APPLE) +#include + +/* WGL-specific stuff */ +#elif defined(CORRADE_TARGET_WINDOWS) +#ifdef _MSC_VER +#pragma warning(disable: 4055) +#pragma warning(disable: 4054) +#endif + +/* GLX-specific includes */ +#elif defined(CORRADE_TARGET_UNIX) && defined(MAGNUM_PLATFORM_USE_GLX) +#include + +/* Otherwise unsupported */ +#else +#error Unsupported platform +#endif + +namespace Magnum { namespace Platform { namespace Implementation { + +/* CGL-specific implementation */ +#ifdef CORRADE_TARGET_APPLE +OpenGLFunctionLoader::OpenGLFunctionLoader() { + CORRADE_INTERNAL_ASSERT_OUTPUT(library = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY)); +} + +OpenGLFunctionLoader::~OpenGLFunctionLoader() { + dlclose(library); +} + +auto OpenGLFunctionLoader::load(const char* const name) -> FunctionPointer { + return reinterpret_cast(dlsym(library, name)); +} + +/* WGL-specific implementation */ +#elif defined(CORRADE_TARGET_WINDOWS) +OpenGLFunctionLoader::OpenGLFunctionLoader() { + library = GetModuleHandleA("OpenGL32.dll"); +} + +/** @todo closing the library is not needed? */ +OpenGLFunctionLoader::~OpenGLFunctionLoader() = default; + +auto OpenGLFunctionLoader::load(const char* const name) -> FunctionPointer { + /** @todo Is this shit real?! OH MY GOD. */ + const PROC address = wglGetProcAddress(reinterpret_cast(name)); + const auto integerAddress = reinterpret_cast(address); + if(address && integerAddress != 1 && integerAddress != 2 && + integerAddress != 3 && integerAddress != -1) return address; + + return GetProcAddress(library, reinterpret_cast(name)); +} + +/* GLX-specific implementation */ +#elif defined(CORRADE_TARGET_UNIX) && defined(MAGNUM_PLATFORM_USE_GLX) +OpenGLFunctionLoader::OpenGLFunctionLoader() = default; + +OpenGLFunctionLoader::~OpenGLFunctionLoader() = default; + +auto OpenGLFunctionLoader::load(const char* const name) -> FunctionPointer { + return glXGetProcAddressARB(reinterpret_cast(name)); +} + +/* Otherwise unsupported */ +#else +#error Unsupported platform +#endif + +}}} diff --git a/src/Magnum/Platform/Implementation/OpenGLFunctionLoader.h b/src/Magnum/Platform/Implementation/OpenGLFunctionLoader.h new file mode 100644 index 000000000..986f99117 --- /dev/null +++ b/src/Magnum/Platform/Implementation/OpenGLFunctionLoader.h @@ -0,0 +1,70 @@ +#ifndef Magnum_Platform_Implementation_OpenGLFunctionLoader_h +#define Magnum_Platform_Implementation_OpenGLFunctionLoader_h +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013, 2014 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +#include "Magnum/Magnum.h" + +#ifdef CORRADE_TARGET_WINDOWS +#define WIN32_LEAN_AND_MEAN 1 +#include +#endif + +namespace Magnum { namespace Platform { namespace Implementation { + +class OpenGLFunctionLoader { + public: + #ifndef CORRADE_TARGET_WINDOWS + using FunctionPointer = void(*)(); + #else + using FunctionPointer = PROC; + #endif + + explicit OpenGLFunctionLoader(); + ~OpenGLFunctionLoader(); + + FunctionPointer load(const char* name); + + private: + /* CGL-specific handles */ + #ifdef CORRADE_TARGET_APPLE + void* library; + + /* WGL-specific handles */ + #elif defined(CORRADE_TARGET_WINDOWS) + HMODULE library; + + /* GLX-specific handles (nothing needed) */ + #elif defined(CORRADE_TARGET_UNIX) && defined(MAGNUM_PLATFORM_USE_GLX) + + /* Otherwise unsupported */ + #else + #error Unsupported platform + #endif +}; + +}}} + +#endif diff --git a/src/Magnum/Platform/NaClApplication.cpp b/src/Magnum/Platform/NaClApplication.cpp index 63237d41a..4b5f3da51 100644 --- a/src/Magnum/Platform/NaClApplication.cpp +++ b/src/Magnum/Platform/NaClApplication.cpp @@ -126,7 +126,7 @@ bool NaClApplication::tryCreateContext(const Configuration& configuration) { RequestInputEvents(PP_INPUTEVENT_CLASS_MOUSE|PP_INPUTEVENT_CLASS_WHEEL); RequestFilteringInputEvents(PP_INPUTEVENT_CLASS_KEYBOARD); - c = new Context; + c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/NaClApplication.h b/src/Magnum/Platform/NaClApplication.h index 7f736c3f5..dc13c5bef 100644 --- a/src/Magnum/Platform/NaClApplication.h +++ b/src/Magnum/Platform/NaClApplication.h @@ -388,7 +388,7 @@ class NaClApplication: public pp::Instance, public pp::Graphics3DClient, public pp::Graphics3D* graphics; pp::Fullscreen* fullscreen; - Context* c; + Platform::Context* c; Vector2i viewportSize; Flags flags; diff --git a/src/Magnum/Platform/Platform.h b/src/Magnum/Platform/Platform.h index 407586e2d..41e25dd0e 100644 --- a/src/Magnum/Platform/Platform.h +++ b/src/Magnum/Platform/Platform.h @@ -33,6 +33,7 @@ namespace Magnum { namespace Platform { template class BasicScreen; template class BasicScreenedApplication; +class Context; }} diff --git a/src/Magnum/Platform/Sdl2Application.cpp b/src/Magnum/Platform/Sdl2Application.cpp index 69385e01a..8c1f140ae 100644 --- a/src/Magnum/Platform/Sdl2Application.cpp +++ b/src/Magnum/Platform/Sdl2Application.cpp @@ -31,7 +31,7 @@ #include #endif -#include "Magnum/Context.h" +#include "Magnum/Platform/Context.h" #include "Magnum/Version.h" #include "Magnum/Platform/ScreenedApplication.hpp" @@ -214,7 +214,7 @@ bool Sdl2Application::tryCreateContext(const Configuration& configuration) { context = SDL_SetVideoMode(configuration.size().x(), configuration.size().y(), 24, SDL_OPENGL|SDL_HWSURFACE|SDL_DOUBLEBUF); #endif - c = new Context; + c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/Sdl2Application.h b/src/Magnum/Platform/Sdl2Application.h index 8bf643a83..612055301 100644 --- a/src/Magnum/Platform/Sdl2Application.h +++ b/src/Magnum/Platform/Sdl2Application.h @@ -415,7 +415,7 @@ class Sdl2Application { SDL_Surface* context; #endif - Context* c; + Platform::Context* c; Flags flags; }; diff --git a/src/Magnum/Platform/WindowlessCglApplication.cpp b/src/Magnum/Platform/WindowlessCglApplication.cpp index 207e0fd60..6225c9f62 100644 --- a/src/Magnum/Platform/WindowlessCglApplication.cpp +++ b/src/Magnum/Platform/WindowlessCglApplication.cpp @@ -30,7 +30,7 @@ #include #include -#include "Magnum/Context.h" +#include "Magnum/Platform/Context.h" namespace Magnum { namespace Platform { @@ -117,7 +117,7 @@ bool WindowlessCglApplication::tryCreateContext(const Configuration&) { } cglError = CGLSetCurrentContext(context); - c = new Context; + c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/WindowlessCglApplication.h b/src/Magnum/Platform/WindowlessCglApplication.h index f86274ac1..225ed3a53 100644 --- a/src/Magnum/Platform/WindowlessCglApplication.h +++ b/src/Magnum/Platform/WindowlessCglApplication.h @@ -151,7 +151,7 @@ class WindowlessCglApplication { CGLContextObj context; CGLPixelFormatObj pixelFormat; - Context* c; + Platform::Context* c; }; /** diff --git a/src/Magnum/Platform/WindowlessGlxApplication.cpp b/src/Magnum/Platform/WindowlessGlxApplication.cpp index cc2904619..a611ada89 100644 --- a/src/Magnum/Platform/WindowlessGlxApplication.cpp +++ b/src/Magnum/Platform/WindowlessGlxApplication.cpp @@ -28,7 +28,7 @@ #include #include -#include "Magnum/Context.h" +#include "Magnum/Platform/Context.h" #define None 0L // redef Xlib nonsense @@ -120,7 +120,7 @@ bool WindowlessGlxApplication::tryCreateContext(const Configuration&) { return false; } - c = new Context; + c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/WindowlessGlxApplication.h b/src/Magnum/Platform/WindowlessGlxApplication.h index 13b0f4d63..c099de18e 100644 --- a/src/Magnum/Platform/WindowlessGlxApplication.h +++ b/src/Magnum/Platform/WindowlessGlxApplication.h @@ -40,6 +40,7 @@ #undef Status #include "Magnum/Magnum.h" +#include "Magnum/Platform/Context.h" namespace Magnum { namespace Platform { @@ -161,7 +162,7 @@ class WindowlessGlxApplication { GLXContext context; GLXPbuffer pbuffer; - Context* c; + Platform::Context* c; }; /** diff --git a/src/Magnum/Platform/WindowlessNaClApplication.cpp b/src/Magnum/Platform/WindowlessNaClApplication.cpp index a6eed8a3e..e069fbc1d 100644 --- a/src/Magnum/Platform/WindowlessNaClApplication.cpp +++ b/src/Magnum/Platform/WindowlessNaClApplication.cpp @@ -30,7 +30,7 @@ #include #include -#include "Magnum/Context.h" +#include "Magnum/Platform/Context.h" namespace Magnum { namespace Platform { @@ -108,7 +108,7 @@ bool WindowlessNaClApplication::tryCreateContext(const Configuration&) { glSetCurrentContextPPAPI(graphics->pp_resource()); - c = new Context; + c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/WindowlessNaClApplication.h b/src/Magnum/Platform/WindowlessNaClApplication.h index 47950a513..5eadf8aae 100644 --- a/src/Magnum/Platform/WindowlessNaClApplication.h +++ b/src/Magnum/Platform/WindowlessNaClApplication.h @@ -176,7 +176,7 @@ class WindowlessNaClApplication: public pp::Instance, public pp::Graphics3DClien bool Init(std::uint32_t, const char*, const char*) override; pp::Graphics3D* graphics; - Context* c; + Platform::Context* c; ConsoleDebugOutput* debugOutput; }; diff --git a/src/Magnum/Platform/WindowlessWglApplication.cpp b/src/Magnum/Platform/WindowlessWglApplication.cpp index 4ef4ef02c..0d7f14e86 100644 --- a/src/Magnum/Platform/WindowlessWglApplication.cpp +++ b/src/Magnum/Platform/WindowlessWglApplication.cpp @@ -29,7 +29,7 @@ #include #include -#include "Magnum/Context.h" +#include "Magnum/Platform/Context.h" namespace Magnum { namespace Platform { @@ -118,7 +118,7 @@ bool WindowlessWglApplication::tryCreateContext(const Configuration&) { return false; } - _c = new Context; + _c = new Platform::Context; return true; } diff --git a/src/Magnum/Platform/WindowlessWglApplication.h b/src/Magnum/Platform/WindowlessWglApplication.h index b151f1180..a21cf341d 100644 --- a/src/Magnum/Platform/WindowlessWglApplication.h +++ b/src/Magnum/Platform/WindowlessWglApplication.h @@ -29,9 +29,15 @@ * @brief Class @ref Magnum::Platform::WindowlessWglApplication, macro @ref MAGNUM_WINDOWLESSWGLAPPLICATION_MAIN() */ -#include "Magnum/OpenGL.h" +#ifndef DOXYGEN_GENERATING_OUTPUT +#define WIN32_LEAN_AND_MEAN 1 +#define VC_EXTRALEAN +#endif +#include #include "Magnum/Magnum.h" +#include "Magnum/OpenGL.h" +#include "Magnum/Platform/Context.h" namespace Magnum { namespace Platform { @@ -154,7 +160,7 @@ class WindowlessWglApplication { HDC _deviceContext; HGLRC _renderingContext; - Context* _c; + Platform::Context* _c; }; /** diff --git a/src/Magnum/Query.h b/src/Magnum/Query.h index 302bfc955..d1d9f9d23 100644 --- a/src/Magnum/Query.h +++ b/src/Magnum/Query.h @@ -145,6 +145,9 @@ class MAGNUM_EXPORT AbstractQuery: public AbstractObject { */ ~AbstractQuery(); + #ifdef DOXYGEN_GENERATING_OUTPUT + private: + #endif void begin(GLenum target); private: diff --git a/src/Magnum/Renderbuffer.cpp b/src/Magnum/Renderbuffer.cpp index d2a0e8b4e..120795ab6 100644 --- a/src/Magnum/Renderbuffer.cpp +++ b/src/Magnum/Renderbuffer.cpp @@ -124,11 +124,13 @@ void Renderbuffer::storageMultisampleImplementationDefault(const GLsizei samples #else void Renderbuffer::storageMultisampleImplementationANGLE(GLsizei, RenderbufferFormat, const Vector2i&) { CORRADE_INTERNAL_ASSERT(false); + bind(); //glRenderbufferStorageMultisampleANGLE(GL_RENDERBUFFER, samples, internalFormat, size.x(), size.y()); } void Renderbuffer::storageMultisampleImplementationNV(GLsizei, RenderbufferFormat, const Vector2i&) { CORRADE_INTERNAL_ASSERT(false); + bind(); //glRenderbufferStorageMultisampleNV(GL_RENDERBUFFER, samples, internalFormat, size.x(), size.y()); } #endif diff --git a/src/Magnum/Renderbuffer.h b/src/Magnum/Renderbuffer.h index 579a3516b..34a9d5913 100644 --- a/src/Magnum/Renderbuffer.h +++ b/src/Magnum/Renderbuffer.h @@ -79,9 +79,9 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject { * @brief Max supported sample count * * The result is cached, repeated queries don't result in repeated - * OpenGL calls. If ES extension @es_extension{ANGLE,framebuffer_multisample} - * or @es_extension{NV,framebuffer_multisample} is not available, - * returns `0`. + * OpenGL calls. If neither OpenGL ES 3.0 nor ES extension + * @es_extension{ANGLE,framebuffer_multisample} / + * @es_extension{NV,framebuffer_multisample} is available, returns `0`. * @see @ref setStorageMultisample(), @fn_gl{Get} with @def_gl{MAX_SAMPLES} */ static Int maxSamples(); diff --git a/src/Magnum/Renderer.h b/src/Magnum/Renderer.h index 6df8f9513..bbaddfd24 100644 --- a/src/Magnum/Renderer.h +++ b/src/Magnum/Renderer.h @@ -86,7 +86,8 @@ class MAGNUM_EXPORT Renderer { /** * Debug output - * @see @ref DebugMessage, @ref Feature::DebugOutputSynchronous + * @see @ref DebugMessage, @ref DebugMessage::setEnabled(), + * @ref Feature::DebugOutputSynchronous * @requires_gl43 %Extension @extension{KHR,debug} * @requires_es_extension %Extension @es_extension{KHR,debug} */ @@ -451,8 +452,8 @@ class MAGNUM_EXPORT Renderer { * * Initial value is `1.0f`. * @see @ref Feature::ProgramPointSize, @fn_gl{PointSize} - * @requires_gl In OpenGL ES use `gl_PointSize` builtin vertex shader - * variable. + * @requires_gl Use `gl_PointSize` builtin vertex shader variable in + * OpenGL ES instead. */ static void setPointSize(Float size); #endif diff --git a/src/Magnum/SceneGraph/AbstractCamera.h b/src/Magnum/SceneGraph/AbstractCamera.h index 7bb219ae2..1c0e67eb9 100644 --- a/src/Magnum/SceneGraph/AbstractCamera.h +++ b/src/Magnum/SceneGraph/AbstractCamera.h @@ -216,7 +216,7 @@ typedef AbstractBasicCamera3D AbstractCamera3D; typedef AbstractCamera<3, Float> AbstractCamera3D; #endif -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractCamera<2, Float>; extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractCamera<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/AbstractFeature.h b/src/Magnum/SceneGraph/AbstractFeature.h index 9525963b0..2a6b68077 100644 --- a/src/Magnum/SceneGraph/AbstractFeature.h +++ b/src/Magnum/SceneGraph/AbstractFeature.h @@ -353,7 +353,7 @@ typedef AbstractBasicFeature3D AbstractFeature3D; typedef AbstractFeature<3, Float> AbstractFeature3D; #endif -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractFeature<2, Float>; extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractFeature<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/AbstractObject.h b/src/Magnum/SceneGraph/AbstractObject.h index 5ad98a9cf..74bd9a722 100644 --- a/src/Magnum/SceneGraph/AbstractObject.h +++ b/src/Magnum/SceneGraph/AbstractObject.h @@ -323,7 +323,7 @@ typedef AbstractBasicObject3D AbstractObject3D; typedef AbstractObject<3, Float> AbstractObject3D; #endif -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractObject<2, Float>; extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractObject<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/AbstractTransformation.h b/src/Magnum/SceneGraph/AbstractTransformation.h index 5ee23a9f7..609ecb82c 100644 --- a/src/Magnum/SceneGraph/AbstractTransformation.h +++ b/src/Magnum/SceneGraph/AbstractTransformation.h @@ -152,7 +152,7 @@ typedef AbstractBasicTransformation3D AbstractTransformation3D; typedef AbstractTransformation<3, Float> AbstractTransformation3D; #endif -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractTransformation<2, Float>; extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractTransformation<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/Animable.h b/src/Magnum/SceneGraph/Animable.h index 3d699af52..74d7f7acf 100644 --- a/src/Magnum/SceneGraph/Animable.h +++ b/src/Magnum/SceneGraph/Animable.h @@ -390,7 +390,7 @@ typedef BasicAnimable3D Animable3D; typedef Animable<3, Float> Animable3D; #endif -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Animable<2, Float>; extern template class MAGNUM_SCENEGRAPH_EXPORT Animable<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/AnimableGroup.h b/src/Magnum/SceneGraph/AnimableGroup.h index c839504c2..47d7b8663 100644 --- a/src/Magnum/SceneGraph/AnimableGroup.h +++ b/src/Magnum/SceneGraph/AnimableGroup.h @@ -126,7 +126,7 @@ typedef BasicAnimableGroup3D AnimableGroup3D; typedef AnimableGroup<3, Float> AnimableGroup3D; #endif -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT AnimableGroup<2, Float>; extern template class MAGNUM_SCENEGRAPH_EXPORT AnimableGroup<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/Camera2D.h b/src/Magnum/SceneGraph/Camera2D.h index ffde4994c..9ff2466ec 100644 --- a/src/Magnum/SceneGraph/Camera2D.h +++ b/src/Magnum/SceneGraph/Camera2D.h @@ -107,7 +107,7 @@ template class BasicCamera2D: public AbstractCamera<2, T> { */ typedef BasicCamera2D Camera2D; -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT BasicCamera2D; #endif diff --git a/src/Magnum/SceneGraph/Camera3D.h b/src/Magnum/SceneGraph/Camera3D.h index f3fe38b9a..5990b68fc 100644 --- a/src/Magnum/SceneGraph/Camera3D.h +++ b/src/Magnum/SceneGraph/Camera3D.h @@ -143,7 +143,7 @@ template class BasicCamera3D: public AbstractCamera<3, T> { */ typedef BasicCamera3D Camera3D; -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT BasicCamera3D; #endif diff --git a/src/Magnum/SceneGraph/Drawable.h b/src/Magnum/SceneGraph/Drawable.h index 9ea2d5eb1..599a02f47 100644 --- a/src/Magnum/SceneGraph/Drawable.h +++ b/src/Magnum/SceneGraph/Drawable.h @@ -291,7 +291,7 @@ typedef BasicDrawableGroup3D DrawableGroup3D; typedef DrawableGroup<3, Float> DrawableGroup3D; #endif -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Drawable<2, Float>; extern template class MAGNUM_SCENEGRAPH_EXPORT Drawable<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/DualComplexTransformation.h b/src/Magnum/SceneGraph/DualComplexTransformation.h index 9226fe2a8..6610a8f0a 100644 --- a/src/Magnum/SceneGraph/DualComplexTransformation.h +++ b/src/Magnum/SceneGraph/DualComplexTransformation.h @@ -187,7 +187,7 @@ template struct Transformation> { } -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; #endif diff --git a/src/Magnum/SceneGraph/DualQuaternionTransformation.h b/src/Magnum/SceneGraph/DualQuaternionTransformation.h index 5e833330a..8c7d907b7 100644 --- a/src/Magnum/SceneGraph/DualQuaternionTransformation.h +++ b/src/Magnum/SceneGraph/DualQuaternionTransformation.h @@ -204,7 +204,7 @@ template struct Transformation> { } -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; #endif diff --git a/src/Magnum/SceneGraph/FeatureGroup.h b/src/Magnum/SceneGraph/FeatureGroup.h index 6878dabb4..e95f6f829 100644 --- a/src/Magnum/SceneGraph/FeatureGroup.h +++ b/src/Magnum/SceneGraph/FeatureGroup.h @@ -194,7 +194,7 @@ template FeatureGroup; extern template class MAGNUM_SCENEGRAPH_EXPORT AbstractFeatureGroup<3, Float>; #endif diff --git a/src/Magnum/SceneGraph/MatrixTransformation2D.h b/src/Magnum/SceneGraph/MatrixTransformation2D.h index 36a73eda5..f7e6bb262 100644 --- a/src/Magnum/SceneGraph/MatrixTransformation2D.h +++ b/src/Magnum/SceneGraph/MatrixTransformation2D.h @@ -172,7 +172,7 @@ template struct Transformation> { } -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; #endif diff --git a/src/Magnum/SceneGraph/MatrixTransformation3D.h b/src/Magnum/SceneGraph/MatrixTransformation3D.h index 15e3c271c..2eb19af05 100644 --- a/src/Magnum/SceneGraph/MatrixTransformation3D.h +++ b/src/Magnum/SceneGraph/MatrixTransformation3D.h @@ -219,7 +219,7 @@ template struct Transformation> { } -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; #endif diff --git a/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h b/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h index 5fe46b968..b3aa635cd 100644 --- a/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h +++ b/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h @@ -210,7 +210,7 @@ template struct Transformation> { } -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; #endif diff --git a/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h b/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h index 86f59c919..04af62cf3 100644 --- a/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h +++ b/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h @@ -263,7 +263,7 @@ template struct Transformation> { } -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; #endif diff --git a/src/Magnum/SceneGraph/TranslationTransformation.h b/src/Magnum/SceneGraph/TranslationTransformation.h index 5857d32ba..d4de0d0f0 100644 --- a/src/Magnum/SceneGraph/TranslationTransformation.h +++ b/src/Magnum/SceneGraph/TranslationTransformation.h @@ -214,7 +214,7 @@ template struct Transfor } -#ifdef CORRADE_TARGET_WINDOWS +#if defined(CORRADE_TARGET_WINDOWS) && !defined(__MINGW32__) extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; extern template class MAGNUM_SCENEGRAPH_EXPORT Object>; #endif diff --git a/src/Magnum/SceneGraph/instantiation.cpp b/src/Magnum/SceneGraph/instantiation.cpp index a5ef30c63..c8f40fb3f 100644 --- a/src/Magnum/SceneGraph/instantiation.cpp +++ b/src/Magnum/SceneGraph/instantiation.cpp @@ -40,8 +40,9 @@ namespace Magnum { namespace SceneGraph { -/* On Windows the instantiations are already marked with extern template */ -#ifndef CORRADE_TARGET_WINDOWS +/* On non-MinGW Windows the instantiations are already marked with extern + template */ +#if !defined(CORRADE_TARGET_WINDOWS) || defined(__MINGW32__) #define MAGNUM_SCENEGRAPH_EXPORT_HPP MAGNUM_SCENEGRAPH_EXPORT #else #define MAGNUM_SCENEGRAPH_EXPORT_HPP diff --git a/src/Magnum/Shader.cpp b/src/Magnum/Shader.cpp index bcd78ca4b..2c0aee4b3 100644 --- a/src/Magnum/Shader.cpp +++ b/src/Magnum/Shader.cpp @@ -442,8 +442,7 @@ Int Shader::maxUniformBlocks(const Type type) { GL_MAX_VERTEX_UNIFORM_BLOCKS, GL_MAX_FRAGMENT_UNIFORM_BLOCKS, #ifndef MAGNUM_TARGET_GLES - /** @todo Fix this when glLoadGen has `GL_MAX_GEOMETRY_UNIFORM_BLOCKS` enum */ - 0x8A2C, //GL_MAX_GEOMETRY_UNIFORM_BLOCKS, + GL_MAX_GEOMETRY_UNIFORM_BLOCKS, GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS, GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS, GL_MAX_COMPUTE_UNIFORM_BLOCKS @@ -525,8 +524,7 @@ Int Shader::maxCombinedUniformComponents(const Type type) { GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, #ifndef MAGNUM_TARGET_GLES - /** @todo Fix this when glLoadGen has `GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS` enum */ - 0x8A32, //GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, + GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS, GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS, GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS diff --git a/src/Magnum/Shaders/MeshVisualizer.frag b/src/Magnum/Shaders/MeshVisualizer.frag index 607348529..cb011cdf0 100644 --- a/src/Magnum/Shaders/MeshVisualizer.frag +++ b/src/Magnum/Shaders/MeshVisualizer.frag @@ -36,6 +36,10 @@ #define layout(arg) #endif +#if defined(WIREFRAME_RENDERING) && defined(GL_ES) && __VERSION__ < 300 +#extension GL_OES_standard_derivatives : enable +#endif + #ifndef GL_ES layout(location = 2) uniform vec4 color = vec4(1.0, 1.0, 1.0, 1.0); #else @@ -64,12 +68,6 @@ in lowp vec3 barycentric; out lowp vec4 fragmentColor; #endif -/* This is needed also on desktop ES 3.0 emulation on NVidia 330.20 even though - fwidth() is part of GLSL ES 3.0 */ -#if defined(WIREFRAME_RENDERING) && defined(GL_ES) -#extension GL_OES_standard_derivatives : enable -#endif - void main() { #ifdef WIREFRAME_RENDERING #ifndef NO_GEOMETRY_SHADER diff --git a/src/Magnum/Test/AbstractOpenGLTester.h b/src/Magnum/Test/AbstractOpenGLTester.h index 3731007a5..f03975189 100644 --- a/src/Magnum/Test/AbstractOpenGLTester.h +++ b/src/Magnum/Test/AbstractOpenGLTester.h @@ -57,6 +57,9 @@ AbstractOpenGLTester::AbstractOpenGLTester(): Platform::WindowlessApplication({z Renderer::enable(Renderer::Feature::DebugOutput); Renderer::enable(Renderer::Feature::DebugOutputSynchronous); DebugMessage::setDefaultCallback(); + + /* Disable "Buffer detailed info" message on NV (too spammy) */ + DebugMessage::setEnabled(DebugMessage::Source::Api, DebugMessage::Type::Other, {131185}, false); } } diff --git a/src/Magnum/Test/DebugGLTest.cpp b/src/Magnum/Test/DebugGLTest.cpp index 4e25d5112..ebe46004a 100644 --- a/src/Magnum/Test/DebugGLTest.cpp +++ b/src/Magnum/Test/DebugGLTest.cpp @@ -44,6 +44,8 @@ class DebugGLTest: public AbstractOpenGLTester { void insertMessage(); void insertMessageFallback(); + void setMessageEnabled(); + void deprecated(); }; @@ -52,6 +54,8 @@ DebugGLTest::DebugGLTest() { &DebugGLTest::insertMessage, &DebugGLTest::insertMessageFallback, + &DebugGLTest::setMessageEnabled, + #ifdef MAGNUM_BUILD_DEPRECATED &DebugGLTest::deprecated #endif @@ -109,6 +113,18 @@ void DebugGLTest::insertMessageFallback() { MAGNUM_VERIFY_NO_ERROR(); } +void DebugGLTest::setMessageEnabled() { + if(!Context::current()->isExtensionSupported()) + CORRADE_SKIP(Extensions::GL::KHR::debug::string() + std::string(" is not supported")); + + /* Try at least some combinations */ + DebugMessage::setEnabled(DebugMessage::Source::Application, true); + DebugMessage::setEnabled(DebugMessage::Source::Application, DebugMessage::Type::UndefinedBehavior, {3168, 35487, 234487}, false); + DebugMessage::setEnabled(true); + + MAGNUM_VERIFY_NO_ERROR(); +} + #ifdef MAGNUM_BUILD_DEPRECATED void DebugGLTest::deprecated() { #if defined(__GNUC__) && !defined(CORRADE_GCC45_COMPATIBILITY) diff --git a/src/Magnum/Test/FramebufferGLTest.cpp b/src/Magnum/Test/FramebufferGLTest.cpp index e5d610f60..dd0625072 100644 --- a/src/Magnum/Test/FramebufferGLTest.cpp +++ b/src/Magnum/Test/FramebufferGLTest.cpp @@ -43,6 +43,7 @@ #ifndef MAGNUM_TARGET_GLES #include "Magnum/CubeMapTextureArray.h" +#include "Magnum/MultisampleTexture.h" #include "Magnum/RectangleTexture.h" #endif @@ -92,6 +93,11 @@ class FramebufferGLTest: public AbstractOpenGLTester { void readBuffer(); #endif void blit(); + + #ifdef MAGNUM_TARGET_GLES2 + private: + TextureFormat rgbaFormatES2, depthStencilFormatES2; + #endif }; FramebufferGLTest::FramebufferGLTest() { @@ -135,6 +141,16 @@ FramebufferGLTest::FramebufferGLTest() { &FramebufferGLTest::readBuffer, #endif &FramebufferGLTest::blit}); + + #ifdef MAGNUM_TARGET_GLES2 + if(Context::current()->isExtensionSupported()) { + rgbaFormatES2 = TextureFormat::RGBA8; + depthStencilFormatES2 = TextureFormat::Depth24Stencil8; + } else { + rgbaFormatES2 = TextureFormat::RGBA; + depthStencilFormatES2 = TextureFormat::DepthStencil; + } + #endif } void FramebufferGLTest::construct() { @@ -346,7 +362,7 @@ void FramebufferGLTest::attachTexture2D() { #ifndef MAGNUM_TARGET_GLES2 color.setStorage(1, TextureFormat::RGBA8, Vector2i(128)); #else - color.setStorage(1, TextureFormat::RGBA, Vector2i(128)); + color.setStorage(1, rgbaFormatES2, Vector2i(128)); #endif MAGNUM_VERIFY_NO_ERROR(); @@ -363,12 +379,13 @@ void FramebufferGLTest::attachTexture2D() { Debug() << "Using" << Extensions::GL::OES::packed_depth_stencil::string(); #endif + /** @todo Is there any better way to select proper sized/unsized format on ES2? */ Texture2D depthStencil; #ifndef MAGNUM_TARGET_GLES2 depthStencil.setStorage(1, TextureFormat::Depth24Stencil8, Vector2i(128)); framebuffer.attachTexture(Framebuffer::BufferAttachment::DepthStencil, depthStencil, 0); #else - depthStencil.setStorage(1, TextureFormat::DepthStencil, Vector2i(128)); + depthStencil.setStorage(1, depthStencilFormatES2, Vector2i(128)); framebuffer.attachTexture(Framebuffer::BufferAttachment::Depth, depthStencil, 0) .attachTexture(Framebuffer::BufferAttachment::Stencil, depthStencil, 0); #endif @@ -401,7 +418,7 @@ void FramebufferGLTest::attachTexture3D() { #ifndef MAGNUM_TARGET_GLES2 color.setStorage(1, TextureFormat::RGBA8, Vector3i(128)); #else - color.setStorage(1, TextureFormat::RGBA4, Vector3i(128)); + color.setStorage(1, rgbaFormatES2, Vector3i(128)); #endif Framebuffer framebuffer({{}, Vector2i(128)}); @@ -457,11 +474,43 @@ void FramebufferGLTest::attachTexture2DArray() { #ifndef MAGNUM_TARGET_GLES void FramebufferGLTest::attachTexture2DMultisample() { - CORRADE_SKIP("Multisample textures are not implemented yet."); + if(!Context::current()->isExtensionSupported()) + CORRADE_SKIP(Extensions::GL::ARB::framebuffer_object::string() + std::string(" is not available.")); + if(!Context::current()->isExtensionSupported()) + CORRADE_SKIP(Extensions::GL::ARB::texture_multisample::string() + std::string(" is not available.")); + + MultisampleTexture2D color; + color.setStorage(4, TextureFormat::RGBA8, {128, 128}); + + MultisampleTexture2D depthStencil; + depthStencil.setStorage(4, TextureFormat::Depth24Stencil8, {128, 128}); + + Framebuffer framebuffer({{}, Vector2i(128)}); + framebuffer.attachTexture(Framebuffer::ColorAttachment(0), color) + .attachTexture(Framebuffer::BufferAttachment::DepthStencil, depthStencil); + + MAGNUM_VERIFY_NO_ERROR(); + CORRADE_COMPARE(framebuffer.checkStatus(FramebufferTarget::ReadDraw), Framebuffer::Status::Complete); } void FramebufferGLTest::attachTexture2DMultisampleArray() { - CORRADE_SKIP("Multisample textures are not implemented yet."); + if(!Context::current()->isExtensionSupported()) + CORRADE_SKIP(Extensions::GL::ARB::framebuffer_object::string() + std::string(" is not available.")); + if(!Context::current()->isExtensionSupported()) + CORRADE_SKIP(Extensions::GL::ARB::texture_multisample::string() + std::string(" is not available.")); + + MultisampleTexture2DArray color; + color.setStorage(4, TextureFormat::RGBA8, {128, 128, 8}); + + MultisampleTexture2DArray depthStencil; + depthStencil.setStorage(4, TextureFormat::Depth24Stencil8, {128, 128, 8}); + + Framebuffer framebuffer({{}, Vector2i(128)}); + framebuffer.attachTextureLayer(Framebuffer::ColorAttachment(0), color, 3) + .attachTextureLayer(Framebuffer::BufferAttachment::DepthStencil, depthStencil, 3); + + MAGNUM_VERIFY_NO_ERROR(); + CORRADE_COMPARE(framebuffer.checkStatus(FramebufferTarget::ReadDraw), Framebuffer::Status::Complete); } void FramebufferGLTest::attachRectangleTexture() { @@ -477,8 +526,8 @@ void FramebufferGLTest::attachRectangleTexture() { depthStencil.setStorage(TextureFormat::Depth24Stencil8, Vector2i(128)); Framebuffer framebuffer({{}, Vector2i(128)}); - framebuffer.attachTexture(Framebuffer::ColorAttachment(0), color, 0) - .attachTexture(Framebuffer::BufferAttachment::DepthStencil, depthStencil, 0); + framebuffer.attachTexture(Framebuffer::ColorAttachment(0), color) + .attachTexture(Framebuffer::BufferAttachment::DepthStencil, depthStencil); MAGNUM_VERIFY_NO_ERROR(); CORRADE_COMPARE(framebuffer.checkStatus(FramebufferTarget::ReadDraw), Framebuffer::Status::Complete); @@ -497,7 +546,7 @@ void FramebufferGLTest::attachCubeMapTexture() { #ifndef MAGNUM_TARGET_GLES2 color.setStorage(1, TextureFormat::RGBA8, Vector2i(128)); #else - color.setStorage(1, TextureFormat::RGBA, Vector2i(128)); + color.setStorage(1, rgbaFormatES2, Vector2i(128)); #endif framebuffer.attachCubeMapTexture(Framebuffer::ColorAttachment(0), color, CubeMapTexture::Coordinate::NegativeZ, 0); @@ -515,7 +564,7 @@ void FramebufferGLTest::attachCubeMapTexture() { depthStencil.setStorage(1, TextureFormat::Depth24Stencil8, Vector2i(128)); framebuffer.attachCubeMapTexture(Framebuffer::BufferAttachment::DepthStencil, depthStencil, CubeMapTexture::Coordinate::NegativeZ, 0); #else - depthStencil.setStorage(1, TextureFormat::DepthStencil, Vector2i(128)); + depthStencil.setStorage(1, depthStencilFormatES2, Vector2i(128)); framebuffer.attachCubeMapTexture(Framebuffer::BufferAttachment::Depth, depthStencil, CubeMapTexture::Coordinate::NegativeZ, 0) .attachCubeMapTexture(Framebuffer::BufferAttachment::Stencil, depthStencil, CubeMapTexture::Coordinate::NegativeZ, 0); #endif @@ -569,14 +618,14 @@ void FramebufferGLTest::multipleColorOutputs() { #ifndef MAGNUM_TARGET_GLES2 color1.setStorage(1, TextureFormat::RGBA8, Vector2i(128)); #else - color1.setStorage(1, TextureFormat::RGBA, Vector2i(128)); + color1.setStorage(1, rgbaFormatES2, Vector2i(128)); #endif Texture2D color2; #ifndef MAGNUM_TARGET_GLES2 color2.setStorage(1, TextureFormat::RGBA8, Vector2i(128)); #else - color2.setStorage(1, TextureFormat::RGBA, Vector2i(128)); + color2.setStorage(1, rgbaFormatES2, Vector2i(128)); #endif Renderbuffer depth; diff --git a/src/Magnum/Test/MeshGLTest.cpp b/src/Magnum/Test/MeshGLTest.cpp index 4eadd934b..bf5a34c2a 100644 --- a/src/Magnum/Test/MeshGLTest.cpp +++ b/src/Magnum/Test/MeshGLTest.cpp @@ -735,7 +735,13 @@ void MeshGLTest::addVertexBufferMatrixNxNd() { RenderbufferFormat::RGBA16, mesh).get>(ColorFormat::RGB, ColorType::UnsignedShort); MAGNUM_VERIFY_NO_ERROR(); - CORRADE_COMPARE(value, Math::Vector3(315, 65201, 2576)); + + { + CORRADE_EXPECT_FAIL("Somehow only first two values are extracted"); + CORRADE_COMPARE(value, Math::Vector3(315, 65201, 2576)); + } + /* This is wrong, but check if it's still the right wrong */ + CORRADE_COMPARE(value, Math::Vector3(315, 65201, 0)); } #endif @@ -792,7 +798,13 @@ void MeshGLTest::addVertexBufferMatrixMxNd() { RenderbufferFormat::RGBA16, mesh).get>(ColorFormat::RGB, ColorType::UnsignedShort); MAGNUM_VERIFY_NO_ERROR(); - CORRADE_COMPARE(value, Math::Vector3(315, 65201, 2576)); + + { + CORRADE_EXPECT_FAIL("Somehow only first two values are extracted"); + CORRADE_COMPARE(value, Math::Vector3(315, 65201, 2576)); + } + /* This is wrong, but check if it's still the right wrong */ + CORRADE_COMPARE(value, Math::Vector3(315, 65201, 0)); } #endif diff --git a/src/Magnum/Text/GlyphCache.cpp b/src/Magnum/Text/GlyphCache.cpp index 2c07ebf9b..ec0a8db35 100644 --- a/src/Magnum/Text/GlyphCache.cpp +++ b/src/Magnum/Text/GlyphCache.cpp @@ -58,12 +58,15 @@ void GlyphCache::initialize(const Vector2i& size) { MAGNUM_ASSERT_EXTENSION_SUPPORTED(Extensions::GL::ARB::texture_rg); #endif - #if !defined(MAGNUM_TARGET_GLES) || defined(MAGNUM_TARGET_GLES3) + /** @todo Is there any better way to select proper sized/unsized format on ES2? */ + #ifndef MAGNUM_TARGET_GLES2 const TextureFormat internalFormat = TextureFormat::R8; #else - const TextureFormat internalFormat = - Context::current()->isExtensionSupported() ? - TextureFormat::Red : TextureFormat::Luminance; + TextureFormat internalFormat; + if(Context::current()->isExtensionSupported()) { + internalFormat = Context::current()->isExtensionSupported() ? + TextureFormat::R8 : TextureFormat::Red; + } else internalFormat = TextureFormat::Luminance; #endif initialize(internalFormat, size); diff --git a/src/Magnum/TextureArray.h b/src/Magnum/TextureArray.h index 1399a5929..52d2debc0 100644 --- a/src/Magnum/TextureArray.h +++ b/src/Magnum/TextureArray.h @@ -400,13 +400,19 @@ template class TextureArray: public AbstractTexture { /** @brief One-dimensional texture array +@requires_gl30 %Extension @extension{EXT,texture_array} @requires_gl Only @ref Magnum::Texture2DArray "Texture2DArray" is available in OpenGL ES. */ typedef TextureArray<1> Texture1DArray; #endif -/** @brief Two-dimensional texture array */ +/** +@brief Two-dimensional texture array + +@requires_gl30 %Extension @extension{EXT,texture_array} +@requires_gles30 %Array textures are not available in OpenGL ES 2.0. +*/ typedef TextureArray<2> Texture2DArray; } diff --git a/src/Magnum/TextureFormat.h b/src/Magnum/TextureFormat.h index a4f08a97d..88f89e70c 100644 --- a/src/Magnum/TextureFormat.h +++ b/src/Magnum/TextureFormat.h @@ -49,7 +49,8 @@ enum class TextureFormat: GLenum { /** * Red component, normalized unsigned, size implementation-dependent. Not * allowed in unemulated @ref Texture::setStorage() "*Texture::setStorage()" - * calls. + * calls, in that case use @ref TextureFormat::R8 "TextureFormat::R8" + * instead. * @requires_gl30 %Extension @extension{ARB,texture_rg} * @requires_gles30 %Extension @es_extension{EXT,texture_rg} in OpenGL ES * 2.0 @@ -62,20 +63,25 @@ enum class TextureFormat: GLenum { Red = GL_RED_EXT, #endif - #ifndef MAGNUM_TARGET_GLES2 /** * Red component, normalized unsigned byte. * @requires_gl30 %Extension @extension{ARB,texture_rg} - * @requires_gles30 Use @ref Magnum::TextureFormat::Red "TextureFormat::Red" - * in OpenGL ES 2.0 instead. + * @requires_gles30 %Extension @es_extension{EXT,texture_rg} and + * @es_extension{EXT,texture_storage} in OpenGL ES 2.0. For texture + * storage only, for image specification use + * @ref Magnum::TextureFormat::Red "TextureFormat::Red" instead. */ + #ifndef MAGNUM_TARGET_GLES2 R8 = GL_R8, + #else + R8 = GL_R8_EXT, #endif /** * Red and green component, normalized unsigned, size * implementation-dependent. Not allowed in unemulated - * @ref Texture::setStorage() "*Texture::setStorage()" calls. + * @ref Texture::setStorage() "*Texture::setStorage()" calls, in that case + * use @ref TextureFormat::RG8 "TextureFormat::RG8" instead. * @requires_gl30 %Extension @extension{ARB,texture_rg} * @requires_gles30 %Extension @es_extension{EXT,texture_rg} in OpenGL ES * 2.0 @@ -88,19 +94,24 @@ enum class TextureFormat: GLenum { RG = GL_RG_EXT, #endif - #ifndef MAGNUM_TARGET_GLES2 /** * Red and green component, each normalized unsigned byte. * @requires_gl30 %Extension @extension{ARB,texture_rg} - * @requires_gles30 Use @ref Magnum::TextureFormat::RG "TextureFormat::RG" - * in OpenGL ES 2.0 instead. + * @requires_gles30 %Extension @es_extension{EXT,texture_rg} and + * @es_extension{EXT,texture_storage} in OpenGL ES 2.0. For texture + * storage only, for image specification use + * @ref Magnum::TextureFormat::RG "TextureFormat::RG" instead. */ + #ifndef MAGNUM_TARGET_GLES2 RG8 = GL_RG8, + #else + RG8 = GL_RG8_EXT, #endif /** * RGB, normalized unsigned, size implementation-dependent. Not allowed in - * unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls. + * unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls, in + * that case use @ref TextureFormat::RGB8 "TextureFormat::RGB8" instead. * @deprecated_gl Prefer to use the exactly specified version of this * format, e.g. @ref Magnum::TextureFormat::RGB8 "TextureFormat::RGB8". */ @@ -109,7 +120,8 @@ enum class TextureFormat: GLenum { /** * RGB, each component normalized unsigned byte. * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * in OpenGL ES 2.0 + * (for image specification) or @es_extension{EXT,texture_storage} + * (for texture storage) in OpenGL ES 2.0 */ #ifndef MAGNUM_TARGET_GLES2 RGB8 = GL_RGB8, @@ -119,7 +131,8 @@ enum class TextureFormat: GLenum { /** * RGBA, normalized unsigned, size implementation-dependent. Not allowed in - * unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls. + * unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls, in + * that case use @ref TextureFormat::RGBA8 "TextureFormat::RGBA8" instead. * @deprecated_gl Prefer to use the exactly specified version of this * format, e.g. @ref Magnum::TextureFormat::RGBA8 "TextureFormat::RGBA8". */ @@ -128,7 +141,8 @@ enum class TextureFormat: GLenum { /** * RGBA, each component normalized unsigned byte. * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * in OpenGL ES 2.0 + * (for image specification) or @es_extension{EXT,texture_storage} + * (for texture storage) in OpenGL ES 2.0 */ #ifndef MAGNUM_TARGET_GLES2 RGBA8 = GL_RGBA8, @@ -491,7 +505,8 @@ enum class TextureFormat: GLenum { #if defined(MAGNUM_TARGET_GLES2) || defined(DOXYGEN_GENERATING_OUTPUT) /** * Luminance, normalized unsigned, single value used for all RGB channels. - * Size implementation-dependent. + * Size implementation-dependent. Not allowed in unemulated + * @ref Texture::setStorage() "*Texture::setStorage()" calls. * @requires_gles20 Not available in ES 3.0 or desktop OpenGL. Use * @ref Magnum::TextureFormat::R8 "TextureFormat::R8" instead. * @deprecated_gl Included for compatibility reasons only, use @@ -502,7 +517,8 @@ enum class TextureFormat: GLenum { /** * Floating-point luminance and alpha channel. First value is used for all * RGB channels, second value is used for alpha channel. Size - * implementation-dependent. + * implementation-dependent. Not allowed in unemulated + * @ref Texture::setStorage() "*Texture::setStorage()" calls. * @requires_gles20 Not available in ES 3.0 or desktop OpenGL. Use * @ref Magnum::TextureFormat::RG8 "TextureFormat::RG8" instead. * @deprecated_gl Included for compatibility reasons only, use @@ -536,20 +552,27 @@ enum class TextureFormat: GLenum { /** * RGB, normalized unsigned, red and blue component 5bit, green 6bit. * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * in OpenGL ES 2.0 + * (for image specification) or @es_extension{EXT,texture_storage} + * (for texture storage) in OpenGL ES 2.0 */ RGB565 = GL_RGB565, + #ifndef MAGNUM_TARGET_GLES3 /** * RGB, each component normalized unsigned 10bit. - * @requires_es_extension %Extension @es_extension{OES,required_internalformat} - * and @es_extension{EXT,texture_type_2_10_10_10_REV} + * @requires_es_extension %Extension @es_extension{EXT,texture_type_2_10_10_10_REV} + * and either @es_extension{OES,required_internalformat} (for image + * specification) or @es_extension{EXT,texture_storage} (for texture + * storage) in OpenGL ES 2.0. Included for compatibility reasons only, + * use @ref Magnum::TextureFormat::RGB10A2 "TextureFormat::RGB10A2" in + * OpenGL ES 3.0 instead. */ #ifndef MAGNUM_TARGET_GLES RGB10 = GL_RGB10, #else RGB10 = GL_RGB10_EXT, #endif + #endif #ifndef MAGNUM_TARGET_GLES /** @@ -578,7 +601,9 @@ enum class TextureFormat: GLenum { #endif /** - * sRGB, normalized unsigned, size implementation-dependent. + * sRGB, normalized unsigned, size implementation-dependent. Not allowed in + * unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls, in + * that case use @ref TextureFormat::SRGB8 "TextureFormat::SRGB8" instead. * @requires_es_extension %Extension @es_extension{EXT,sRGB} * @deprecated_gl Prefer to use the exactly specified version of this * format, i.e. @ref Magnum::TextureFormat::SRGB8 "TextureFormat::SRGB8". @@ -610,21 +635,25 @@ enum class TextureFormat: GLenum { /** * RGBA, normalized unsigned, each component 4bit. * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * in OpenGL ES 2.0 + * (for image specification) or @es_extension{EXT,texture_storage} + * (for texture storage) in OpenGL ES 2.0 */ RGBA4 = GL_RGBA4, /** * RGBA, normalized unsigned, each RGB component 5bit, alpha 1bit. * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * in OpenGL ES 2.0 + * (for image specification) or @es_extension{EXT,texture_storage} + * (for texture storage) in OpenGL ES 2.0 */ RGB5A1 = GL_RGB5_A1, /** * RGBA, normalized unsigned, each RGB component 10bit, alpha 2bit. - * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * and @es_extension{EXT,texture_type_2_10_10_10_REV} in OpenGL ES 2.0 + * @requires_gles30 %Extension @es_extension{EXT,texture_type_2_10_10_10_REV} + * and either @es_extension{OES,required_internalformat} (for image + * specification) or @es_extension{EXT,texture_storage} (for texture + * storage) in OpenGL ES 2.0 */ #ifndef MAGNUM_TARGET_GLES2 RGB10A2 = GL_RGB10_A2, @@ -651,7 +680,9 @@ enum class TextureFormat: GLenum { #endif /** - * sRGBA, normalized unsigned, size implementation-dependent. + * sRGBA, normalized unsigned, size implementation-dependent. Not allowed in + * unemulated @ref Texture::setStorage() "*Texture::setStorage()" calls, in + * that case use @ref TextureFormat::SRGB8Alpha8 "TextureFormat::SRGB8Alpha8" instead. * @requires_es_extension %Extension @es_extension{EXT,sRGB} * @deprecated_gl Prefer to use the exactly specified version of this * format, i.e. @ref Magnum::TextureFormat::SRGB8Alpha8 "TextureFormat::SRGB8Alpha8". @@ -770,20 +801,23 @@ enum class TextureFormat: GLenum { /** * Depth component, size implementation-dependent. Not supported in 3D - * textures, not allowed in unemulated @ref Texture::setStorage() - * "*Texture::setStorage()" calls. + * textures. Not allowed in unemulated @ref Texture::setStorage() + * "*Texture::setStorage()" calls, in that case use e.g. + * @ref TextureFormat::DepthComponent24 "TextureFormat::DepthComponent24" instead. * @requires_gles30 %Extension @es_extension{OES,depth_texture} or * @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0 * @deprecated_gl Prefer to use the exactly specified version of this - * format, e.g. @ref Magnum::TextureFormat::DepthComponent16 "TextureFormat::DepthComponent16". + * format, e.g. @ref Magnum::TextureFormat::DepthComponent24 "TextureFormat::DepthComponent24". */ DepthComponent = GL_DEPTH_COMPONENT, /** * Depth component, 16bit. Not supported in 3D textures. - * @requires_gles30 %Extension (@es_extension{OES,required_internalformat} - * and @es_extension{OES,depth_texture}) or (@es_extension{EXT,texture_storage} - * and @es_extension{ANGLE,depth_texture}) in OpenGL ES 2.0 + * @requires_gles30 %Extension @es_extension{OES,depth_texture} or + * @es_extension{ANGLE,depth_texture} and either + * @es_extension{OES,required_internalformat} (for image + * specification) or @es_extension{EXT,texture_storage} (for texture + * storage) in OpenGL ES 2.0 */ DepthComponent16 = GL_DEPTH_COMPONENT16, @@ -801,9 +835,11 @@ enum class TextureFormat: GLenum { /** * Depth component, 32bit. Not supported in 3D textures. - * @requires_es_extension %Extension (@es_extension{OES,required_internalformat}, - * @es_extension{OES,depth_texture} and @es_extension{OES,depth32}) or - * (@es_extension{EXT,texture_storage} and @es_extension{ANGLE,depth_texture}) + * @requires_es_extension %Extension @es_extension{OES,depth_texture} or + * @es_extension{ANGLE,depth_texture} and @es_extension{OES,depth32} + * and @es_extension{OES,required_internalformat} (for image + * specification) or @es_extension{EXT,texture_storage} (for texture + * storage) in OpenGL ES 2.0 */ #ifndef MAGNUM_TARGET_GLES DepthComponent32 = GL_DEPTH_COMPONENT32, @@ -832,8 +868,10 @@ enum class TextureFormat: GLenum { /** * Depth and stencil component, size implementation-dependent. Not - * supported in 3D textures, not allowed in unemulated - * @ref Texture::setStorage() "*Texture::setStorage()" calls. + * supported in 3D textures. Not allowed in unemulated + * @ref Texture::setStorage() "*Texture::setStorage()" calls, in that case + * use e.g. @ref TextureFormat::Depth24Stencil8 "TextureFormat::Depth24Stencil8" + * instead. * @see @ref Texture::setDepthStencilMode() "*Texture::setDepthStencilMode()" * @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil} or * @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0 @@ -850,10 +888,11 @@ enum class TextureFormat: GLenum { * 24bit depth and 8bit stencil component. Not supported in 3D textures. * @see @ref Texture::setDepthStencilMode() "*Texture::setDepthStencilMode()" * @requires_gl30 %Extension @extension{ARB,framebuffer_object} - * @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil} and - * (@es_extension{OES,required_internalformat} or - * (@es_extension{EXT,texture_storage} and @es_extension{ANGLE,depth_texture})) - * in OpenGL ES 2.0 + * @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil} or + * @es_extension{ANGLE,depth_texture} and either + * @es_extension{OES,required_internalformat} (for image + * specification) or @es_extension{EXT,texture_storage} (for texture + * storage) in OpenGL ES 2.0 */ #ifdef MAGNUM_TARGET_GLES2 Depth24Stencil8 = GL_DEPTH24_STENCIL8_OES diff --git a/src/MagnumExternal/OpenGL/GL/CMakeLists.txt b/src/MagnumExternal/OpenGL/GL/CMakeLists.txt index 450b9cca6..e9976019f 100644 --- a/src/MagnumExternal/OpenGL/GL/CMakeLists.txt +++ b/src/MagnumExternal/OpenGL/GL/CMakeLists.txt @@ -23,12 +23,13 @@ # DEALINGS IN THE SOFTWARE. # -add_library(MagnumGLLoadGenObjects OBJECT gl_magnum.c) +# flextGLPlatform.cpp is compiled as part of Magnum*Context libraries in Platform +add_library(MagnumFlextGLObjects OBJECT flextGL.cpp) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") - set_target_properties(MagnumGLLoadGenObjects PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -fvisibility=hidden -DGLLoadGen_EXPORTS") + set_target_properties(MagnumFlextGLObjects PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -fvisibility=hidden -DFlextGL_EXPORTS") else() - set_target_properties(MagnumGLLoadGenObjects PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -DGLLoadGen_EXPORTS") + set_target_properties(MagnumFlextGLObjects PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -DFlextGL_EXPORTS") endif() -install(FILES gl_magnum.h DESTINATION ${MAGNUM_EXTERNAL_INCLUDE_INSTALL_DIR}/OpenGL/GL) +install(FILES flextGL.h DESTINATION ${MAGNUM_EXTERNAL_INCLUDE_INSTALL_DIR}/OpenGL/GL) diff --git a/src/MagnumExternal/OpenGL/GL/README.md b/src/MagnumExternal/OpenGL/GL/README.md index c1d29cfd4..3e57e6550 100644 --- a/src/MagnumExternal/OpenGL/GL/README.md +++ b/src/MagnumExternal/OpenGL/GL/README.md @@ -1,12 +1,11 @@ -OpenGL header and extension loader is generated using glLoadGen, originally -from [BitBucket](https://bitbucket.org/alfonse/glloadgen), with Magnum-related -changes at [](https://github.com/mosra/glloadgen.git). +OpenGL header and extension loader is generated using flextGL, get it at +[](https://github.com/ginkgo/flextGL). -See `extensions.txt` for a list of requested non-core extensions. Copy the file -into glLoadGen directory and generate the files using Lua: +See [](extensions.txt) for requested version and a list of non-core extensions. +Call `flextGLgen.py` in this directory with the following arguments: - lua LoadGen.lua -style=pointer_c -indent=space -spec=gl -version=4.4 -profile=core -extfile=extensions.txt magnum + .../flextGLgen.py -D . -t . extensions.txt -Then copy generated `gl_magnum.c` and `gl_magnum.h` to this directory. You may -want to remove trailing spaces to make the diff cleaner. Be sure to check the -diff for suspicious changes. +It will generate `flextGL.h`, `flextGL.cpp` and `flextGLPlatform.cpp` files. As +usual, be sure to check the diff for suspicious changes and whitespace-at-EOL +(although there shouldn't be any). diff --git a/src/MagnumExternal/OpenGL/GL/extensions.txt b/src/MagnumExternal/OpenGL/GL/extensions.txt index 9b9733d36..5fbd0749d 100644 --- a/src/MagnumExternal/OpenGL/GL/extensions.txt +++ b/src/MagnumExternal/OpenGL/GL/extensions.txt @@ -1,15 +1,16 @@ -// The following output is taken from `magnum-info` with removed `GL_` -// suffixes. Only vendor extensions are needed, everything else is pulled in -// with OpenGL 4.4. +# The following output is taken from `magnum-info` with removed `GL_` prefixes. +# Only vendor extensions are needed, everything else is pulled in with GL 4.4. - AMD_vertex_shader_layer - AMD_shader_trinary_minmax - ARB_robustness - ATI_texture_mirror_once - EXT_texture_filter_anisotropic - EXT_texture_mirror_clamp - EXT_direct_state_access - EXT_texture_sRGB_decode - EXT_debug_label - EXT_debug_marker - GREMEDY_string_marker +version 4.4 core + +extension AMD_vertex_shader_layer optional +extension AMD_shader_trinary_minmax optional +extension ARB_robustness optional +extension ATI_texture_mirror_once optional +extension EXT_texture_filter_anisotropic optional +extension EXT_texture_mirror_clamp optional +extension EXT_direct_state_access optional +extension EXT_texture_sRGB_decode optional +extension EXT_debug_label optional +extension EXT_debug_marker optional +extension GREMEDY_string_marker optional diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.cpp b/src/MagnumExternal/OpenGL/GL/flextGL.cpp new file mode 100644 index 000000000..7f45fa612 --- /dev/null +++ b/src/MagnumExternal/OpenGL/GL/flextGL.cpp @@ -0,0 +1,812 @@ +#include "flextGL.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* GL_VERSION_1_2 */ +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; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; + +/* GL_VERSION_1_3 */ +FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, 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 *flextglCompressedTexImage1D)(GLenum, GLint, GLenum, 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 *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTexImage)(GLenum, GLint, void *) = nullptr; + +/* GL_VERSION_1_4 */ +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; +FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum) = nullptr; + +/* GL_VERSION_1_5 */ +FLEXTGL_EXPORT void(APIENTRY *flextglGenQueries)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueries)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQuery)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBeginQuery)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEndQuery)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryiv)(GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectiv)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuiv)(GLuint, GLenum, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindBuffer)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(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 *flextglGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, void *) = nullptr; +FLEXTGL_EXPORT void *(APIENTRY *flextglMapBuffer)(GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBuffer)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointerv)(GLenum, GLenum, void **) = nullptr; + +/* GL_VERSION_2_0 */ +FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffers)(GLsizei, const GLenum *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglStencilMaskSeparate)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglAttachShader)(GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *) = 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 *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 *flextglGetProgramiv)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(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 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 *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 void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **) = 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 *flextglUseProgram)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const 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 *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 *flextglUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4fv)(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 *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegeri_v)(GLenum, GLuint, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBeginTransformFeedback)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEndTransformFeedback)(void) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferBase)(GLenum, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglClampColor)(GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBeginConditionalRender)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEndConditionalRender)(void) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIiv)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexAttribIuiv)(GLuint, GLenum, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1i)(GLuint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2i)(GLuint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3i)(GLuint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1ui)(GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2ui)(GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1iv)(GLuint, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2iv)(GLuint, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3iv)(GLuint, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4iv)(GLuint, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1uiv)(GLuint, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2uiv)(GLuint, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3uiv)(GLuint, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4uiv)(GLuint, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4bv)(GLuint, const GLbyte *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4sv)(GLuint, const GLshort *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ubv)(GLuint, const GLubyte *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4usv)(GLuint, const GLushort *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformuiv)(GLuint, GLint, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocation)(GLuint, GLuint, const GLchar *) = nullptr; +FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataLocation)(GLuint, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1ui)(GLint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2ui)(GLint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3ui)(GLint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1uiv)(GLint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2uiv)(GLint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3uiv)(GLint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform4uiv)(GLint, GLsizei, const GLuint *) = 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 *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *) = 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 *flextglClearBufferfv)(GLenum, GLint, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfi)(GLenum, GLint, GLfloat, GLint) = nullptr; +FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetStringi)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum) = 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 *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArray)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArrays)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArrays)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArray)(GLuint) = nullptr; + +/* GL_VERSION_3_1 */ +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 *flextglTexBuffer)(GLenum, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveRestartIndex)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetUniformBlockIndex)(GLuint, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniformBlockBinding)(GLuint, GLuint, GLuint) = nullptr; + +/* GL_VERSION_3_2 */ +FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint) = 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 GLsync(APIENTRY *flextglFenceSync)(GLenum, GLbitfield) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSync)(GLsync) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSync)(GLsync) = nullptr; +FLEXTGL_EXPORT GLenum(APIENTRY *flextglClientWaitSync)(GLsync, GLbitfield, GLuint64) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglWaitSync)(GLsync, GLbitfield, GLuint64) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64v)(GLenum, GLint64 *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64i_v)(GLenum, GLuint, GLint64 *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteri64v)(GLenum, GLenum, GLint64 *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint) = 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 *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield) = nullptr; + +/* GL_VERSION_3_3 */ +FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *) = nullptr; +FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataIndex)(GLuint, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenSamplers)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSamplers)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSampler)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindSampler)(GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteri)(GLuint, GLenum, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameteriv)(GLuint, GLenum, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterf)(GLuint, GLenum, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterfv)(GLuint, GLenum, const GLfloat *) = 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 *flextglGetSamplerParameteriv)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterfv)(GLuint, GLenum, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounter)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64v)(GLuint, GLenum, GLint64 *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *) = 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 *flextglMinSampleShading)(GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawArraysIndirect)(GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsIndirect)(GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1d)(GLint, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2d)(GLint, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3d)(GLint, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform1dv)(GLint, GLsizei, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform2dv)(GLint, GLsizei, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniform3dv)(GLint, GLsizei, const 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 *flextglUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4dv)(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 *flextglUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4dv)(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 *flextglGetUniformdv)(GLuint, GLint, GLdouble *) = nullptr; +FLEXTGL_EXPORT GLint(APIENTRY *flextglGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *) = nullptr; +FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetSubroutineIndex)(GLuint, GLenum, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformSubroutineuiv)(GLenum, GLint, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameterfv)(GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindTransformFeedback)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTransformFeedbacks)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenTransformFeedbacks)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTransformFeedback)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPauseTransformFeedback)(void) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglResumeTransformFeedback)(void) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedback)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackStream)(GLenum, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryIndexed)(GLenum, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryIndexed)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *) = nullptr; + +/* GL_VERSION_4_1 */ +FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, 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 *flextglUseProgramStages)(GLuint, GLbitfield, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *) = 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 *flextglProgramUniform1f)(GLuint, GLint, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *) = 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 *flextglProgramUniform1ui)(GLuint, GLint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *) = 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 *flextglProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *) = 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 *flextglProgramUniform2ui)(GLuint, GLint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *) = 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 *flextglProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *) = 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 *flextglProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *) = 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 *flextglProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *) = 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 *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 *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1d)(GLuint, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2d)(GLuint, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1dv)(GLuint, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2dv)(GLuint, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3dv)(GLuint, const 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 *flextglGetVertexAttribLdv)(GLuint, GLenum, GLdouble *) = 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; +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 *flextglDepthRangeArrayv)(GLuint, GLsizei, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangeIndexed)(GLuint, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetFloati_v)(GLenum, GLuint, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublei_v)(GLenum, GLuint, GLdouble *) = nullptr; + +/* GL_VERSION_4_2 */ +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 *flextglGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum) = 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; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei) = nullptr; + +/* GL_VERSION_4_3 */ +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 *flextglDispatchCompute)(GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr) = 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 *flextglFramebufferParameteri)(GLenum, GLenum, GLint) = 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 *flextglInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateTexImage)(GLuint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferData)(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 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 *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(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 GLint(APIENTRY *flextglGetProgramResourceLocation)(GLuint, GLenum, const GLchar *) = nullptr; +FLEXTGL_EXPORT GLint(APIENTRY *flextglGetProgramResourceLocationIndex)(GLuint, GLenum, 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 *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei) = 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 *flextglVertexAttribBinding)(GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint) = 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 *flextglDebugMessageCallback)(GLDEBUGPROC, const void *) = nullptr; +FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerv)(GLenum, void **) = nullptr; + +/* GL_VERSION_4_4 */ +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; +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 *flextglBindTextures)(GLuint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindSamplers)(GLuint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTextures)(GLuint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *) = nullptr; + +/* GL_ARB_robustness */ +FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusARB)(void) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *) = 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 *flextglGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnMapdvARB)(GLenum, GLenum, GLsizei, GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnMapfvARB)(GLenum, GLenum, GLsizei, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnMapivARB)(GLenum, GLenum, GLsizei, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnPixelMapfvARB)(GLenum, GLsizei, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnPixelMapuivARB)(GLenum, GLsizei, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnPixelMapusvARB)(GLenum, GLsizei, GLushort *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnPolygonStippleARB)(GLsizei, GLubyte *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnColorTableARB)(GLenum, GLenum, GLenum, GLsizei, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnConvolutionFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnSeparableFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *, GLsizei, void *, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnHistogramARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetnMinmaxARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *) = nullptr; + +/* GL_EXT_direct_state_access */ +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadfEXT)(GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoaddEXT)(GLenum, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultfEXT)(GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultdEXT)(GLenum, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadIdentityEXT)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixRotatefEXT)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixRotatedEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixScalefEXT)(GLenum, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixScaledEXT)(GLenum, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixTranslatefEXT)(GLenum, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixTranslatedEXT)(GLenum, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixFrustumEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixOrthoEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixPopEXT)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixPushEXT)(GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglClientAttribDefaultEXT)(GLbitfield) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPushClientAttribDefaultEXT)(GLbitfield) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterfEXT)(GLuint, GLenum, GLenum, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterfvEXT)(GLuint, GLenum, GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameteriEXT)(GLuint, GLenum, GLenum, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterivEXT)(GLuint, GLenum, GLenum, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureImage2DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureImageEXT)(GLuint, GLenum, GLint, GLenum, GLenum, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterfvEXT)(GLuint, GLenum, GLenum, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterivEXT)(GLuint, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameterfvEXT)(GLuint, GLenum, GLint, GLenum, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameterivEXT)(GLuint, GLenum, GLint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureImage3DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglBindMultiTextureEXT)(GLenum, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexCoordPointerEXT)(GLenum, GLint, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnvfEXT)(GLenum, GLenum, GLenum, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnviEXT)(GLenum, GLenum, GLenum, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnvivEXT)(GLenum, GLenum, GLenum, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGendEXT)(GLenum, GLenum, GLenum, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGendvEXT)(GLenum, GLenum, GLenum, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGenfEXT)(GLenum, GLenum, GLenum, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGenfvEXT)(GLenum, GLenum, GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGeniEXT)(GLenum, GLenum, GLenum, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGenivEXT)(GLenum, GLenum, GLenum, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexEnvivEXT)(GLenum, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexGendvEXT)(GLenum, GLenum, GLenum, GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexGenfvEXT)(GLenum, GLenum, GLenum, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexGenivEXT)(GLenum, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameteriEXT)(GLenum, GLenum, GLenum, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterivEXT)(GLenum, GLenum, GLenum, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterfEXT)(GLenum, GLenum, GLenum, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexImageEXT)(GLenum, GLenum, GLint, GLenum, GLenum, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterivEXT)(GLenum, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexLevelParameterfvEXT)(GLenum, GLenum, GLint, GLenum, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexLevelParameterivEXT)(GLenum, GLenum, GLint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEnableClientStateIndexedEXT)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDisableClientStateIndexedEXT)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetFloatIndexedvEXT)(GLenum, GLuint, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetDoubleIndexedvEXT)(GLenum, GLuint, GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerIndexedvEXT)(GLenum, GLuint, void **) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEnableIndexedEXT)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDisableIndexedEXT)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledIndexedEXT)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegerIndexedvEXT)(GLenum, GLuint, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureImage3DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTextureImageEXT)(GLuint, GLenum, GLint, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedMultiTexImageEXT)(GLenum, GLenum, GLint, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadTransposefEXT)(GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadTransposedEXT)(GLenum, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultTransposefEXT)(GLenum, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultTransposedEXT)(GLenum, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferDataEXT)(GLuint, GLsizeiptr, const void *, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, const void *) = nullptr; +FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBufferEXT)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapNamedBufferEXT)(GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferParameterivEXT)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferPointervEXT)(GLuint, GLenum, void **) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const 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 *flextglProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureBufferEXT)(GLuint, GLenum, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexBufferEXT)(GLenum, GLenum, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIivEXT)(GLuint, GLenum, GLenum, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIuivEXT)(GLuint, GLenum, GLenum, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIivEXT)(GLuint, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIuivEXT)(GLuint, GLenum, GLenum, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiEXT)(GLuint, GLint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameters4fvEXT)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4iEXT)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4ivEXT)(GLuint, GLenum, GLuint, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParametersI4ivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4uiEXT)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4uivEXT)(GLuint, GLenum, GLuint, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParametersI4uivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterIivEXT)(GLuint, GLenum, GLuint, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterIuivEXT)(GLuint, GLenum, GLuint, GLuint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEnableClientStateiEXT)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDisableClientStateiEXT)(GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetFloati_vEXT)(GLenum, GLuint, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublei_vEXT)(GLenum, GLuint, GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetPointeri_vEXT)(GLenum, GLuint, void **) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLsizei, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4dEXT)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4dvEXT)(GLuint, GLenum, GLuint, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4fEXT)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4fvEXT)(GLuint, GLenum, GLuint, const GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterdvEXT)(GLuint, GLenum, GLuint, GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterfvEXT)(GLuint, GLenum, GLuint, GLfloat *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramivEXT)(GLuint, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramStringEXT)(GLuint, GLenum, GLenum, void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageEXT)(GLuint, GLenum, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedRenderbufferParameterivEXT)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageMultisampleEXT)(GLuint, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckNamedFramebufferStatusEXT)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture1DEXT)(GLuint, GLenum, GLenum, GLuint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture2DEXT)(GLuint, GLenum, GLenum, GLuint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture3DEXT)(GLuint, GLenum, GLenum, GLuint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferRenderbufferEXT)(GLuint, GLenum, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferAttachmentParameterivEXT)(GLuint, GLenum, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenerateTextureMipmapEXT)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMultiTexMipmapEXT)(GLenum, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferDrawBufferEXT)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferDrawBuffersEXT)(GLuint, GLsizei, const GLenum *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferReadBufferEXT)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameterivEXT)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedCopyBufferSubDataEXT)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureEXT)(GLuint, GLenum, GLuint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureLayerEXT)(GLuint, GLenum, GLuint, GLint, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureFaceEXT)(GLuint, GLenum, GLuint, GLint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureRenderbufferEXT)(GLuint, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexRenderbufferEXT)(GLenum, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayEdgeFlagOffsetEXT)(GLuint, GLuint, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayIndexOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayNormalOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayTexCoordOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayMultiTexCoordOffsetEXT)(GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayFogCoordOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArraySecondaryColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribIOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexArrayEXT)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexArrayEXT)(GLuint, GLenum) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexArrayAttribEXT)(GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexArrayAttribEXT)(GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIntegervEXT)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayPointervEXT)(GLuint, GLenum, void **) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIntegeri_vEXT)(GLuint, GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayPointeri_vEXT)(GLuint, GLuint, GLenum, void **) = nullptr; +FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr, GLbitfield) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferStorageEXT)(GLuint, GLsizeiptr, const void *, GLbitfield) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferDataEXT)(GLuint, GLenum, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferSubDataEXT)(GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, const void *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferParameteriEXT)(GLuint, GLenum, GLint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferParameterivEXT)(GLuint, GLenum, GLint *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1dEXT)(GLuint, GLint, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2dEXT)(GLuint, GLint, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureBufferRangeEXT)(GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage1DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayBindVertexBufferEXT)(GLuint, GLuint, GLuint, GLintptr, GLsizei) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribFormatEXT)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribIFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribLFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribBindingEXT)(GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBindingDivisorEXT)(GLuint, GLuint, GLuint) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribLOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglTexturePageCommitmentEXT)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribDivisorEXT)(GLuint, GLuint, GLuint) = nullptr; + +/* GL_EXT_debug_label */ +FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = nullptr; + +/* GL_EXT_debug_marker */ +FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *) = nullptr; +FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void) = nullptr; + +/* GL_GREMEDY_string_marker */ +FLEXTGL_EXPORT void(APIENTRY *flextglStringMarkerGREMEDY)(GLsizei, const void *) = nullptr; + +#ifdef __cplusplus +} +#endif diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.cpp.template b/src/MagnumExternal/OpenGL/GL/flextGL.cpp.template new file mode 100644 index 000000000..67396ee8d --- /dev/null +++ b/src/MagnumExternal/OpenGL/GL/flextGL.cpp.template @@ -0,0 +1,20 @@ +@require(passthru, functions, enums, options, version, extensions) +#include "flextGL.h" + +#ifdef __cplusplus +extern "C" { +#endif +@for category,funcs in functions: +@if len(funcs) > 0 and category not in ['VERSION_1_0', 'VERSION_1_1','VERSION_1_0_DEPRECATED', 'VERSION_1_1_DEPRECATED' ]: + +/* GL_@category */ +@for f in funcs: +FLEXTGL_EXPORT @f.returntype\ +(APIENTRY *flextgl@f.name)(@f.param_type_list_string()) = nullptr; +@end +@end +@end + +#ifdef __cplusplus +} +#endif diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.h b/src/MagnumExternal/OpenGL/GL/flextGL.h new file mode 100644 index 000000000..941e89324 --- /dev/null +++ b/src/MagnumExternal/OpenGL/GL/flextGL.h @@ -0,0 +1,3213 @@ +#ifndef _flextgl_h_ +#define _flextgl_h_ + +/* Defensive include guards */ + +#if defined(__glew_h__) || defined(__GLEW_H__) +#error Attempt to include auto-generated header after including glew.h +#endif +#if defined(__gl_h_) || defined(__GL_H__) +#error Attempt to include auto-generated header after including gl.h +#endif +#if defined(__glext_h_) || defined(__GLEXT_H_) +#error Attempt to include auto-generated header after including glext.h +#endif +#if defined(__gltypes_h_) +#error Attempt to include auto-generated header after gltypes.h +#endif +#if defined(__gl_ATI_h_) +#error Attempt to include auto-generated header after including glATI.h +#endif + +#define __glew_h__ +#define __GLEW_H__ +#define __gl_h_ +#define __GL_H__ +#define __glext_h_ +#define __GLEXT_H_ +#define __gltypes_h_ +#define __gl_ATI_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +void flextGLInit(); + +/* Function declaration macros */ + +#ifdef _WIN32 + #ifdef FlextGL_EXPORTS + #define FLEXTGL_EXPORT __declspec(dllexport) + #else + #define FLEXTGL_EXPORT __declspec(dllimport) + #endif +#else + #define FLEXTGL_EXPORT __attribute__ ((visibility ("default"))) +#endif + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#define WIN32_LEAN_AND_MEAN 1 +#ifndef WINAPI +#define WINAPI __stdcall +#endif +#define APIENTRY WINAPI +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef GLAPI +#define GLAPI extern +#endif + +/* Data types */ + +#include +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glxext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GL_EXT_timer_query extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(__sun__) || defined(__digital__) +#include +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) || defined(__sgi) +#include +#elif defined(__SCO__) || defined(__USLC__) +#include +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include +#endif +#endif +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef void GLvoid; +typedef signed char GLbyte; +typedef short GLshort; +typedef int GLint; +typedef unsigned char GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef int GLsizei; +typedef float GLfloat; +typedef float GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef char GLchar; +typedef unsigned short GLhalf; +typedef ptrdiff_t GLintptr; +typedef ptrdiff_t GLsizeiptr; +typedef int64_t GLint64; +typedef uint64_t GLuint64; +typedef struct __GLsync *GLsync; +typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); + +/* Enums */ + +/* GL_VERSION_1_1 */ + +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_FALSE 0 +#define GL_TRUE 1 +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_NONE 0 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_RIGHT 0x0403 +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_CW 0x0900 +#define GL_CCW 0x0901 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_VIEWPORT 0x0BA2 +#define GL_DITHER 0x0BD0 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND 0x0BE2 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_DRAW_BUFFER 0x0C01 +#define GL_READ_BUFFER 0x0C02 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_STEREO 0x0C33 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_DOUBLE 0x140A +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F +#define GL_TEXTURE 0x1702 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_STENCIL_INDEX 0x1901 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_POINT 0x1B00 +#define GL_LINE 0x1B01 +#define GL_FILL 0x1B02 +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_REPEAT 0x2901 +#define GL_R3_G3_B2 0x2A10 +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB8 0x8051 +#define GL_RGB10 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGBA2 0x8055 +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B + +/* GL_VERSION_1_2 */ + +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E + +/* GL_VERSION_1_3 */ + +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_CLAMP_TO_BORDER 0x812D + +/* GL_VERSION_1_4 */ + +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_FUNC_ADD 0x8006 +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 + +/* GL_VERSION_1_5 */ + +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_READ_ONLY 0x88B8 +#define GL_WRITE_ONLY 0x88B9 +#define GL_READ_WRITE 0x88BA +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_SAMPLES_PASSED 0x8914 +#define GL_SRC1_ALPHA 0x8589 + +/* GL_VERSION_2_0 */ + +#define GL_BLEND_EQUATION_RGB 0x8009 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 + +/* GL_VERSION_2_1 */ + +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 + +/* GL_VERSION_3_0 */ + +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_CLIP_DISTANCE0 0x3000 +#define GL_CLIP_DISTANCE1 0x3001 +#define GL_CLIP_DISTANCE2 0x3002 +#define GL_CLIP_DISTANCE3 0x3003 +#define GL_CLIP_DISTANCE4 0x3004 +#define GL_CLIP_DISTANCE5 0x3005 +#define GL_CLIP_DISTANCE6 0x3006 +#define GL_CLIP_DISTANCE7 0x3007 +#define GL_MAX_CLIP_DISTANCES 0x0D32 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#define GL_HALF_FLOAT 0x140B +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#define GL_VERTEX_ARRAY_BINDING 0x85B5 + +/* GL_VERSION_3_1 */ + +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFFu + +/* GL_VERSION_3_2 */ + +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 +#define GL_DEPTH_CLAMP 0x864F +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 + +/* GL_VERSION_3_3 */ + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_SAMPLER_BINDING 0x8919 +#define GL_RGB10_A2UI 0x906F +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 +#define GL_INT_2_10_10_10_REV 0x8D9F + +/* GL_VERSION_4_0 */ + +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F +#define GL_DRAW_INDIRECT_BUFFER 0x8F3F +#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_MAX_VERTEX_STREAMS 0x8E71 +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E +#define GL_ACTIVE_SUBROUTINES 0x8DE5 +#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 +#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 +#define GL_MAX_SUBROUTINES 0x8DE7 +#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 +#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A +#define GL_COMPATIBLE_SUBROUTINES 0x8E4B +#define GL_PATCHES 0x000E +#define GL_PATCH_VERTICES 0x8E72 +#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 +#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 +#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 +#define GL_TESS_GEN_MODE 0x8E76 +#define GL_TESS_GEN_SPACING 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 +#define GL_TESS_GEN_POINT_MODE 0x8E79 +#define GL_ISOLINES 0x8E7A +#define GL_QUADS 0x0007 +#define GL_FRACTIONAL_ODD 0x8E7B +#define GL_FRACTIONAL_EVEN 0x8E7C +#define GL_MAX_PATCH_VERTICES 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 +#define GL_TESS_EVALUATION_SHADER 0x8E87 +#define GL_TESS_CONTROL_SHADER 0x8E88 +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 +#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 +#define GL_MAX_VERTEX_STREAMS 0x8E71 + +/* GL_VERSION_4_1 */ + +#define GL_FIXED 0x140C +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 +#define GL_SHADER_COMPILER 0x8DFA +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_RGB565 0x8D62 +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF +#define GL_VERTEX_SHADER_BIT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT 0x00000002 +#define GL_GEOMETRY_SHADER_BIT 0x00000004 +#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 +#define GL_ALL_SHADER_BITS 0xFFFFFFFF +#define GL_PROGRAM_SEPARABLE 0x8258 +#define GL_ACTIVE_PROGRAM 0x8259 +#define GL_PROGRAM_PIPELINE_BINDING 0x825A +#define GL_MAX_VIEWPORTS 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE 0x825D +#define GL_LAYER_PROVOKING_VERTEX 0x825E +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F +#define GL_UNDEFINED_VERTEX 0x8260 + +/* GL_VERSION_4_2 */ + +#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 +#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 +#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 +#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A +#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B +#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C +#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D +#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E +#define GL_NUM_SAMPLE_COUNTS 0x9380 +#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC +#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 +#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 +#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 +#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 +#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB +#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF +#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 +#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 +#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 +#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC +#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 +#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 +#define GL_COMMAND_BARRIER_BIT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 +#define GL_ALL_BARRIER_BITS 0xFFFFFFFF +#define GL_MAX_IMAGE_UNITS 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 +#define GL_IMAGE_BINDING_NAME 0x8F3A +#define GL_IMAGE_BINDING_LEVEL 0x8F3B +#define GL_IMAGE_BINDING_LAYERED 0x8F3C +#define GL_IMAGE_BINDING_LAYER 0x8F3D +#define GL_IMAGE_BINDING_ACCESS 0x8F3E +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C +#define GL_MAX_IMAGE_SAMPLES 0x906D +#define GL_IMAGE_BINDING_FORMAT 0x906E +#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 +#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD +#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE +#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F + +/* GL_VERSION_4_3 */ + +#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 +#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E +#define GL_COMPRESSED_RGB8_ETC2 0x9274 +#define GL_COMPRESSED_SRGB8_ETC2 0x9275 +#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 +#define GL_COMPRESSED_R11_EAC 0x9270 +#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define GL_COMPRESSED_RG11_EAC 0x9272 +#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A +#define GL_MAX_ELEMENT_INDEX 0x8D6B +#define GL_COMPUTE_SHADER 0x91B9 +#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB +#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC +#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD +#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 +#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 +#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 +#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 +#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 +#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB +#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE +#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF +#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED +#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE +#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF +#define GL_COMPUTE_SHADER_BIT 0x00000020 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 +#define GL_DEBUG_SOURCE_API 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION 0x824A +#define GL_DEBUG_SOURCE_OTHER 0x824B +#define GL_DEBUG_TYPE_ERROR 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E +#define GL_DEBUG_TYPE_PORTABILITY 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 +#define GL_DEBUG_TYPE_OTHER 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES 0x9145 +#define GL_DEBUG_SEVERITY_HIGH 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 +#define GL_DEBUG_SEVERITY_LOW 0x9148 +#define GL_DEBUG_TYPE_MARKER 0x8268 +#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 +#define GL_DEBUG_TYPE_POP_GROUP 0x826A +#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C +#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D +#define GL_BUFFER 0x82E0 +#define GL_SHADER 0x82E1 +#define GL_PROGRAM 0x82E2 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_QUERY 0x82E3 +#define GL_PROGRAM_PIPELINE 0x82E4 +#define GL_SAMPLER 0x82E6 +#define GL_MAX_LABEL_LENGTH 0x82E8 +#define GL_DEBUG_OUTPUT 0x92E0 +#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 +#define GL_MAX_UNIFORM_LOCATIONS 0x826E +#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 +#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 +#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 +#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 +#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 +#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 +#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 +#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 +#define GL_INTERNALFORMAT_SUPPORTED 0x826F +#define GL_INTERNALFORMAT_PREFERRED 0x8270 +#define GL_INTERNALFORMAT_RED_SIZE 0x8271 +#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 +#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 +#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 +#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 +#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 +#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 +#define GL_INTERNALFORMAT_RED_TYPE 0x8278 +#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 +#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A +#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B +#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C +#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D +#define GL_MAX_WIDTH 0x827E +#define GL_MAX_HEIGHT 0x827F +#define GL_MAX_DEPTH 0x8280 +#define GL_MAX_LAYERS 0x8281 +#define GL_MAX_COMBINED_DIMENSIONS 0x8282 +#define GL_COLOR_COMPONENTS 0x8283 +#define GL_DEPTH_COMPONENTS 0x8284 +#define GL_STENCIL_COMPONENTS 0x8285 +#define GL_COLOR_RENDERABLE 0x8286 +#define GL_DEPTH_RENDERABLE 0x8287 +#define GL_STENCIL_RENDERABLE 0x8288 +#define GL_FRAMEBUFFER_RENDERABLE 0x8289 +#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A +#define GL_FRAMEBUFFER_BLEND 0x828B +#define GL_READ_PIXELS 0x828C +#define GL_READ_PIXELS_FORMAT 0x828D +#define GL_READ_PIXELS_TYPE 0x828E +#define GL_TEXTURE_IMAGE_FORMAT 0x828F +#define GL_TEXTURE_IMAGE_TYPE 0x8290 +#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 +#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 +#define GL_MIPMAP 0x8293 +#define GL_MANUAL_GENERATE_MIPMAP 0x8294 +#define GL_AUTO_GENERATE_MIPMAP 0x8295 +#define GL_COLOR_ENCODING 0x8296 +#define GL_SRGB_READ 0x8297 +#define GL_SRGB_WRITE 0x8298 +#define GL_FILTER 0x829A +#define GL_VERTEX_TEXTURE 0x829B +#define GL_TESS_CONTROL_TEXTURE 0x829C +#define GL_TESS_EVALUATION_TEXTURE 0x829D +#define GL_GEOMETRY_TEXTURE 0x829E +#define GL_FRAGMENT_TEXTURE 0x829F +#define GL_COMPUTE_TEXTURE 0x82A0 +#define GL_TEXTURE_SHADOW 0x82A1 +#define GL_TEXTURE_GATHER 0x82A2 +#define GL_TEXTURE_GATHER_SHADOW 0x82A3 +#define GL_SHADER_IMAGE_LOAD 0x82A4 +#define GL_SHADER_IMAGE_STORE 0x82A5 +#define GL_SHADER_IMAGE_ATOMIC 0x82A6 +#define GL_IMAGE_TEXEL_SIZE 0x82A7 +#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 +#define GL_IMAGE_PIXEL_FORMAT 0x82A9 +#define GL_IMAGE_PIXEL_TYPE 0x82AA +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF +#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 +#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 +#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 +#define GL_CLEAR_BUFFER 0x82B4 +#define GL_TEXTURE_VIEW 0x82B5 +#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 +#define GL_FULL_SUPPORT 0x82B7 +#define GL_CAVEAT_SUPPORT 0x82B8 +#define GL_IMAGE_CLASS_4_X_32 0x82B9 +#define GL_IMAGE_CLASS_2_X_32 0x82BA +#define GL_IMAGE_CLASS_1_X_32 0x82BB +#define GL_IMAGE_CLASS_4_X_16 0x82BC +#define GL_IMAGE_CLASS_2_X_16 0x82BD +#define GL_IMAGE_CLASS_1_X_16 0x82BE +#define GL_IMAGE_CLASS_4_X_8 0x82BF +#define GL_IMAGE_CLASS_2_X_8 0x82C0 +#define GL_IMAGE_CLASS_1_X_8 0x82C1 +#define GL_IMAGE_CLASS_11_11_10 0x82C2 +#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 +#define GL_VIEW_CLASS_128_BITS 0x82C4 +#define GL_VIEW_CLASS_96_BITS 0x82C5 +#define GL_VIEW_CLASS_64_BITS 0x82C6 +#define GL_VIEW_CLASS_48_BITS 0x82C7 +#define GL_VIEW_CLASS_32_BITS 0x82C8 +#define GL_VIEW_CLASS_24_BITS 0x82C9 +#define GL_VIEW_CLASS_16_BITS 0x82CA +#define GL_VIEW_CLASS_8_BITS 0x82CB +#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC +#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD +#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE +#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF +#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 +#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 +#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 +#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 +#define GL_UNIFORM 0x92E1 +#define GL_UNIFORM_BLOCK 0x92E2 +#define GL_PROGRAM_INPUT 0x92E3 +#define GL_PROGRAM_OUTPUT 0x92E4 +#define GL_BUFFER_VARIABLE 0x92E5 +#define GL_SHADER_STORAGE_BLOCK 0x92E6 +#define GL_VERTEX_SUBROUTINE 0x92E8 +#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 +#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA +#define GL_GEOMETRY_SUBROUTINE 0x92EB +#define GL_FRAGMENT_SUBROUTINE 0x92EC +#define GL_COMPUTE_SUBROUTINE 0x92ED +#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE +#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF +#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 +#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 +#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 +#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 +#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 +#define GL_ACTIVE_RESOURCES 0x92F5 +#define GL_MAX_NAME_LENGTH 0x92F6 +#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 +#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 +#define GL_NAME_LENGTH 0x92F9 +#define GL_TYPE 0x92FA +#define GL_ARRAY_SIZE 0x92FB +#define GL_OFFSET 0x92FC +#define GL_BLOCK_INDEX 0x92FD +#define GL_ARRAY_STRIDE 0x92FE +#define GL_MATRIX_STRIDE 0x92FF +#define GL_IS_ROW_MAJOR 0x9300 +#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 +#define GL_BUFFER_BINDING 0x9302 +#define GL_BUFFER_DATA_SIZE 0x9303 +#define GL_NUM_ACTIVE_VARIABLES 0x9304 +#define GL_ACTIVE_VARIABLES 0x9305 +#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 +#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 +#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A +#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B +#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C +#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D +#define GL_LOCATION 0x930E +#define GL_LOCATION_INDEX 0x930F +#define GL_IS_PER_PATCH 0x92E7 +#define GL_SHADER_STORAGE_BUFFER 0x90D2 +#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 +#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 +#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 +#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 +#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA +#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB +#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC +#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD +#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE +#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF +#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 +#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 +#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA +#define GL_TEXTURE_BUFFER_OFFSET 0x919D +#define GL_TEXTURE_BUFFER_SIZE 0x919E +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F +#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF +#define GL_VERTEX_ATTRIB_BINDING 0x82D4 +#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 +#define GL_VERTEX_BINDING_DIVISOR 0x82D6 +#define GL_VERTEX_BINDING_OFFSET 0x82D7 +#define GL_VERTEX_BINDING_STRIDE 0x82D8 +#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 +#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_VERTEX_BINDING_BUFFER 0x8F4F +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_STACK_OVERFLOW 0x0503 + +/* GL_VERSION_4_4 */ + +#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 +#define GL_TEXTURE_BUFFER_BINDING 0x8C2A +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_PERSISTENT_BIT 0x0040 +#define GL_MAP_COHERENT_BIT 0x0080 +#define GL_DYNAMIC_STORAGE_BIT 0x0100 +#define GL_CLIENT_STORAGE_BIT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F +#define GL_BUFFER_STORAGE_FLAGS 0x8220 +#define GL_CLEAR_TEXTURE 0x9365 +#define GL_LOCATION_COMPONENT 0x934A +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B +#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C +#define GL_QUERY_BUFFER 0x9192 +#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 +#define GL_QUERY_BUFFER_BINDING 0x9193 +#define GL_QUERY_RESULT_NO_WAIT 0x9194 +#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 +#define GL_STENCIL_INDEX 0x1901 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B + +/* GL_ARB_robustness */ + +#define GL_NO_ERROR 0 +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 + +/* GL_ATI_texture_mirror_once */ + +#define GL_MIRROR_CLAMP_ATI 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 + +/* GL_EXT_texture_filter_anisotropic */ + +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF + +/* GL_EXT_texture_mirror_clamp */ + +#define GL_MIRROR_CLAMP_EXT 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 +#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 + +/* GL_EXT_direct_state_access */ + +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F + +/* GL_EXT_texture_sRGB_decode */ + +#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 +#define GL_DECODE_EXT 0x8A49 +#define GL_SKIP_DECODE_EXT 0x8A4A + +/* GL_EXT_debug_label */ + +#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F +#define GL_PROGRAM_OBJECT_EXT 0x8B40 +#define GL_SHADER_OBJECT_EXT 0x8B48 +#define GL_BUFFER_OBJECT_EXT 0x9151 +#define GL_QUERY_OBJECT_EXT 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 +#define GL_SAMPLER 0x82E6 +#define GL_TRANSFORM_FEEDBACK 0x8E22 + +/* Function prototypes */ + +/* GL_VERSION_1_0 */ + +GLAPI FLEXTGL_EXPORT void APIENTRY glCullFace(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glFrontFace(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glHint(GLenum, GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glLineWidth(GLfloat); +GLAPI FLEXTGL_EXPORT void APIENTRY glPointSize(GLfloat); +GLAPI FLEXTGL_EXPORT void APIENTRY glPolygonMode(GLenum, GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glScissor(GLint, GLint, GLsizei, GLsizei); +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 glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); +GLAPI FLEXTGL_EXPORT void APIENTRY glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); +GLAPI FLEXTGL_EXPORT void APIENTRY glDrawBuffer(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glClear(GLbitfield); +GLAPI FLEXTGL_EXPORT void APIENTRY glClearColor(GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI FLEXTGL_EXPORT void APIENTRY glClearStencil(GLint); +GLAPI FLEXTGL_EXPORT void APIENTRY glClearDepth(GLdouble); +GLAPI FLEXTGL_EXPORT void APIENTRY glStencilMask(GLuint); +GLAPI FLEXTGL_EXPORT void APIENTRY glColorMask(GLboolean, GLboolean, GLboolean, GLboolean); +GLAPI FLEXTGL_EXPORT void APIENTRY glDepthMask(GLboolean); +GLAPI FLEXTGL_EXPORT void APIENTRY glDisable(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glEnable(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glFinish(void); +GLAPI FLEXTGL_EXPORT void APIENTRY glFlush(void); +GLAPI FLEXTGL_EXPORT void APIENTRY glBlendFunc(GLenum, GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glLogicOp(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glStencilFunc(GLenum, GLint, GLuint); +GLAPI FLEXTGL_EXPORT void APIENTRY glStencilOp(GLenum, GLenum, GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glDepthFunc(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glPixelStoref(GLenum, GLfloat); +GLAPI FLEXTGL_EXPORT void APIENTRY glPixelStorei(GLenum, GLint); +GLAPI FLEXTGL_EXPORT void APIENTRY glReadBuffer(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); +GLAPI FLEXTGL_EXPORT void APIENTRY glGetBooleanv(GLenum, GLboolean *); +GLAPI FLEXTGL_EXPORT void APIENTRY glGetDoublev(GLenum, GLdouble *); +GLAPI FLEXTGL_EXPORT GLenum APIENTRY glGetError(void); +GLAPI FLEXTGL_EXPORT void APIENTRY glGetFloatv(GLenum, GLfloat *); +GLAPI FLEXTGL_EXPORT void APIENTRY glGetIntegerv(GLenum, GLint *); +GLAPI FLEXTGL_EXPORT const GLubyte * APIENTRY glGetString(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexImage(GLenum, GLint, GLenum, GLenum, void *); +GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexParameterfv(GLenum, GLenum, GLfloat *); +GLAPI FLEXTGL_EXPORT void APIENTRY glGetTexParameteriv(GLenum, GLenum, GLint *); +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 glIsEnabled(GLenum); +GLAPI FLEXTGL_EXPORT void APIENTRY glDepthRange(GLdouble, GLdouble); +GLAPI FLEXTGL_EXPORT void APIENTRY glViewport(GLint, GLint, GLsizei, GLsizei); + +/* GL_VERSION_1_1 */ + +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 glPolygonOffset(GLfloat, GLfloat); +GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexImage1D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexSubImage1D(GLenum, GLint, GLint, GLint, GLint, GLsizei); +GLAPI FLEXTGL_EXPORT void APIENTRY glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +GLAPI FLEXTGL_EXPORT void APIENTRY glTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); +GLAPI FLEXTGL_EXPORT void APIENTRY glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); +GLAPI FLEXTGL_EXPORT void APIENTRY glBindTexture(GLenum, GLuint); +GLAPI FLEXTGL_EXPORT void APIENTRY glDeleteTextures(GLsizei, const GLuint *); +GLAPI FLEXTGL_EXPORT void APIENTRY glGenTextures(GLsizei, GLuint *); +GLAPI FLEXTGL_EXPORT GLboolean APIENTRY glIsTexture(GLuint); + +/* GL_VERSION_1_2 */ + +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 +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#define glCopyTexSubImage3D flextglCopyTexSubImage3D + +/* GL_VERSION_1_3 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveTexture)(GLenum); +#define glActiveTexture flextglActiveTexture +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleCoverage)(GLfloat, GLboolean); +#define glSampleCoverage flextglSampleCoverage +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); +#define glCompressedTexImage3D flextglCompressedTexImage3D +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); +#define glCompressedTexImage2D flextglCompressedTexImage2D +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); +#define glCompressedTexImage1D flextglCompressedTexImage1D +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 *flextglCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedTexSubImage2D flextglCompressedTexSubImage2D +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedTexSubImage1D flextglCompressedTexSubImage1D +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTexImage)(GLenum, GLint, void *); +#define glGetCompressedTexImage flextglGetCompressedTexImage + +/* GL_VERSION_1_4 */ + +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 +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); +#define glBlendColor flextglBlendColor +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquation)(GLenum); +#define glBlendEquation flextglBlendEquation + +/* GL_VERSION_1_5 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenQueries)(GLsizei, GLuint *); +#define glGenQueries flextglGenQueries +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteQueries)(GLsizei, const GLuint *); +#define glDeleteQueries flextglDeleteQueries +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsQuery)(GLuint); +#define glIsQuery flextglIsQuery +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQuery)(GLenum, GLuint); +#define glBeginQuery flextglBeginQuery +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQuery)(GLenum); +#define glEndQuery flextglEndQuery +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryiv)(GLenum, GLenum, GLint *); +#define glGetQueryiv flextglGetQueryiv +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 *flextglBindBuffer)(GLenum, GLuint); +#define glBindBuffer flextglBindBuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteBuffers)(GLsizei, const GLuint *); +#define glDeleteBuffers flextglDeleteBuffers +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenBuffers)(GLsizei, GLuint *); +#define glGenBuffers flextglGenBuffers +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsBuffer)(GLuint); +#define glIsBuffer flextglIsBuffer +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 *flextglGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, void *); +#define glGetBufferSubData flextglGetBufferSubData +GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBuffer)(GLenum, GLenum); +#define glMapBuffer flextglMapBuffer +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBuffer)(GLenum); +#define glUnmapBuffer flextglUnmapBuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteriv)(GLenum, GLenum, GLint *); +#define glGetBufferParameteriv flextglGetBufferParameteriv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointerv)(GLenum, GLenum, void **); +#define glGetBufferPointerv flextglGetBufferPointerv + +/* GL_VERSION_2_0 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparate)(GLenum, GLenum); +#define glBlendEquationSeparate flextglBlendEquationSeparate +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawBuffers)(GLsizei, const GLenum *); +#define glDrawBuffers flextglDrawBuffers +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); +#define glStencilOpSeparate flextglStencilOpSeparate +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 *flextglAttachShader)(GLuint, GLuint); +#define glAttachShader flextglAttachShader +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindAttribLocation)(GLuint, GLuint, const GLchar *); +#define glBindAttribLocation flextglBindAttribLocation +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 *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 *flextglGetProgramiv)(GLuint, GLenum, GLint *); +#define glGetProgramiv flextglGetProgramiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetProgramInfoLog flextglGetProgramInfoLog +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderiv)(GLuint, GLenum, GLint *); +#define glGetShaderiv flextglGetShaderiv +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 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 *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 void(APIENTRY *flextglGetVertexAttribPointerv)(GLuint, GLenum, void **); +#define glGetVertexAttribPointerv flextglGetVertexAttribPointerv +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 *flextglUseProgram)(GLuint); +#define glUseProgram flextglUseProgram +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1f)(GLint, GLfloat); +#define glUniform1f flextglUniform1f +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2f)(GLint, GLfloat, GLfloat); +#define glUniform2f flextglUniform2f +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3f)(GLint, GLfloat, GLfloat, GLfloat); +#define glUniform3f flextglUniform3f +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); +#define glUniform4f flextglUniform4f +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1i)(GLint, GLint); +#define glUniform1i flextglUniform1i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2i)(GLint, GLint, GLint); +#define glUniform2i flextglUniform2i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3i)(GLint, GLint, GLint, GLint); +#define glUniform3i flextglUniform3i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4i)(GLint, GLint, GLint, GLint, GLint); +#define glUniform4i flextglUniform4i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1fv)(GLint, GLsizei, const GLfloat *); +#define glUniform1fv flextglUniform1fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2fv)(GLint, GLsizei, const GLfloat *); +#define glUniform2fv flextglUniform2fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3fv)(GLint, GLsizei, const GLfloat *); +#define glUniform3fv flextglUniform3fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4fv)(GLint, GLsizei, const GLfloat *); +#define glUniform4fv flextglUniform4fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1iv)(GLint, GLsizei, const GLint *); +#define glUniform1iv flextglUniform1iv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2iv)(GLint, GLsizei, const GLint *); +#define glUniform2iv flextglUniform2iv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3iv)(GLint, GLsizei, const GLint *); +#define glUniform3iv flextglUniform3iv +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 *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 + +/* GL_VERSION_2_1 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); +#define glUniformMatrix2x3fv flextglUniformMatrix2x3fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); +#define glUniformMatrix3x2fv flextglUniformMatrix3x2fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); +#define glUniformMatrix2x4fv flextglUniformMatrix2x4fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); +#define glUniformMatrix4x2fv flextglUniformMatrix4x2fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); +#define glUniformMatrix3x4fv flextglUniformMatrix3x4fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); +#define glUniformMatrix4x3fv flextglUniformMatrix4x3fv + +/* GL_VERSION_3_0 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +#define glColorMaski flextglColorMaski +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleani_v)(GLenum, GLuint, GLboolean *); +#define glGetBooleani_v flextglGetBooleani_v +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegeri_v)(GLenum, GLuint, GLint *); +#define glGetIntegeri_v flextglGetIntegeri_v +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnablei)(GLenum, GLuint); +#define glEnablei flextglEnablei +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisablei)(GLenum, GLuint); +#define glDisablei flextglDisablei +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledi)(GLenum, GLuint); +#define glIsEnabledi flextglIsEnabledi +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginTransformFeedback)(GLenum); +#define glBeginTransformFeedback flextglBeginTransformFeedback +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndTransformFeedback)(void); +#define glEndTransformFeedback flextglEndTransformFeedback +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +#define glBindBufferRange flextglBindBufferRange +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindBufferBase)(GLenum, GLuint, GLuint); +#define glBindBufferBase flextglBindBufferBase +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum); +#define glTransformFeedbackVaryings flextglTransformFeedbackVaryings +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); +#define glGetTransformFeedbackVarying flextglGetTransformFeedbackVarying +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClampColor)(GLenum, GLenum); +#define glClampColor flextglClampColor +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginConditionalRender)(GLuint, GLenum); +#define glBeginConditionalRender flextglBeginConditionalRender +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndConditionalRender)(void); +#define glEndConditionalRender flextglEndConditionalRender +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *); +#define glVertexAttribIPointer flextglVertexAttribIPointer +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 *flextglVertexAttribI1i)(GLuint, GLint); +#define glVertexAttribI1i flextglVertexAttribI1i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2i)(GLuint, GLint, GLint); +#define glVertexAttribI2i flextglVertexAttribI2i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3i)(GLuint, GLint, GLint, GLint); +#define glVertexAttribI3i flextglVertexAttribI3i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint); +#define glVertexAttribI4i flextglVertexAttribI4i +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1ui)(GLuint, GLuint); +#define glVertexAttribI1ui flextglVertexAttribI1ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2ui)(GLuint, GLuint, GLuint); +#define glVertexAttribI2ui flextglVertexAttribI2ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint); +#define glVertexAttribI3ui flextglVertexAttribI3ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint); +#define glVertexAttribI4ui flextglVertexAttribI4ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1iv)(GLuint, const GLint *); +#define glVertexAttribI1iv flextglVertexAttribI1iv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2iv)(GLuint, const GLint *); +#define glVertexAttribI2iv flextglVertexAttribI2iv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3iv)(GLuint, const GLint *); +#define glVertexAttribI3iv flextglVertexAttribI3iv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4iv)(GLuint, const GLint *); +#define glVertexAttribI4iv flextglVertexAttribI4iv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI1uiv)(GLuint, const GLuint *); +#define glVertexAttribI1uiv flextglVertexAttribI1uiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI2uiv)(GLuint, const GLuint *); +#define glVertexAttribI2uiv flextglVertexAttribI2uiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI3uiv)(GLuint, const GLuint *); +#define glVertexAttribI3uiv flextglVertexAttribI3uiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4uiv)(GLuint, const GLuint *); +#define glVertexAttribI4uiv flextglVertexAttribI4uiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribI4bv)(GLuint, const GLbyte *); +#define glVertexAttribI4bv flextglVertexAttribI4bv +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 *flextglVertexAttribI4usv)(GLuint, const GLushort *); +#define glVertexAttribI4usv flextglVertexAttribI4usv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformuiv)(GLuint, GLint, GLuint *); +#define glGetUniformuiv flextglGetUniformuiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocation)(GLuint, GLuint, const GLchar *); +#define glBindFragDataLocation flextglBindFragDataLocation +GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataLocation)(GLuint, const GLchar *); +#define glGetFragDataLocation flextglGetFragDataLocation +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1ui)(GLint, GLuint); +#define glUniform1ui flextglUniform1ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2ui)(GLint, GLuint, GLuint); +#define glUniform2ui flextglUniform2ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3ui)(GLint, GLuint, GLuint, GLuint); +#define glUniform3ui flextglUniform3ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint); +#define glUniform4ui flextglUniform4ui +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1uiv)(GLint, GLsizei, const GLuint *); +#define glUniform1uiv flextglUniform1uiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2uiv)(GLint, GLsizei, const GLuint *); +#define glUniform2uiv flextglUniform2uiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3uiv)(GLint, GLsizei, const GLuint *); +#define glUniform3uiv flextglUniform3uiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4uiv)(GLint, GLsizei, const GLuint *); +#define glUniform4uiv flextglUniform4uiv +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 *flextglGetTexParameterIiv)(GLenum, GLenum, GLint *); +#define glGetTexParameterIiv flextglGetTexParameterIiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuiv)(GLenum, GLenum, GLuint *); +#define glGetTexParameterIuiv flextglGetTexParameterIuiv +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 *flextglClearBufferfv)(GLenum, GLint, const GLfloat *); +#define glClearBufferfv flextglClearBufferfv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearBufferfi)(GLenum, GLint, GLfloat, GLint); +#define glClearBufferfi flextglClearBufferfi +GLAPI FLEXTGL_EXPORT const GLubyte *(APIENTRY *flextglGetStringi)(GLenum, GLuint); +#define glGetStringi flextglGetStringi +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsRenderbuffer)(GLuint); +#define glIsRenderbuffer flextglIsRenderbuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindRenderbuffer)(GLenum, GLuint); +#define glBindRenderbuffer flextglBindRenderbuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteRenderbuffers)(GLsizei, const GLuint *); +#define glDeleteRenderbuffers flextglDeleteRenderbuffers +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenRenderbuffers)(GLsizei, GLuint *); +#define glGenRenderbuffers flextglGenRenderbuffers +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); +#define glRenderbufferStorage flextglRenderbufferStorage +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetRenderbufferParameteriv)(GLenum, GLenum, GLint *); +#define glGetRenderbufferParameteriv flextglGetRenderbufferParameteriv +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsFramebuffer)(GLuint); +#define glIsFramebuffer flextglIsFramebuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFramebuffer)(GLenum, GLuint); +#define glBindFramebuffer flextglBindFramebuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteFramebuffers)(GLsizei, const GLuint *); +#define glDeleteFramebuffers flextglDeleteFramebuffers +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenFramebuffers)(GLsizei, GLuint *); +#define glGenFramebuffers flextglGenFramebuffers +GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckFramebufferStatus)(GLenum); +#define glCheckFramebufferStatus flextglCheckFramebufferStatus +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 *flextglFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); +#define glFramebufferRenderbuffer flextglFramebufferRenderbuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); +#define glGetFramebufferAttachmentParameteriv flextglGetFramebufferAttachmentParameteriv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMipmap)(GLenum); +#define glGenerateMipmap flextglGenerateMipmap +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +#define glBlitFramebuffer flextglBlitFramebuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#define glRenderbufferStorageMultisample flextglRenderbufferStorageMultisample +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint); +#define glFramebufferTextureLayer flextglFramebufferTextureLayer +GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield); +#define glMapBufferRange flextglMapBufferRange +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr); +#define glFlushMappedBufferRange flextglFlushMappedBufferRange +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexArray)(GLuint); +#define glBindVertexArray flextglBindVertexArray +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteVertexArrays)(GLsizei, const GLuint *); +#define glDeleteVertexArrays flextglDeleteVertexArrays +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenVertexArrays)(GLsizei, GLuint *); +#define glGenVertexArrays flextglGenVertexArrays +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsVertexArray)(GLuint); +#define glIsVertexArray flextglIsVertexArray + +/* GL_VERSION_3_1 */ + +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 *flextglTexBuffer)(GLenum, GLenum, GLuint); +#define glTexBuffer flextglTexBuffer +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveRestartIndex)(GLuint); +#define glPrimitiveRestartIndex flextglPrimitiveRestartIndex +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); +#define glCopyBufferSubData flextglCopyBufferSubData +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *); +#define glGetUniformIndices flextglGetUniformIndices +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *); +#define glGetActiveUniformsiv flextglGetActiveUniformsiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetActiveUniformName flextglGetActiveUniformName +GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetUniformBlockIndex)(GLuint, const GLchar *); +#define glGetUniformBlockIndex flextglGetUniformBlockIndex +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *); +#define glGetActiveUniformBlockiv flextglGetActiveUniformBlockiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetActiveUniformBlockName flextglGetActiveUniformBlockName +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformBlockBinding)(GLuint, GLuint, GLuint); +#define glUniformBlockBinding flextglUniformBlockBinding + +/* GL_VERSION_3_2 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); +#define glDrawElementsBaseVertex flextglDrawElementsBaseVertex +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); +#define glDrawRangeElementsBaseVertex flextglDrawRangeElementsBaseVertex +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); +#define glDrawElementsInstancedBaseVertex flextglDrawElementsInstancedBaseVertex +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 GLsync(APIENTRY *flextglFenceSync)(GLenum, GLbitfield); +#define glFenceSync flextglFenceSync +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSync)(GLsync); +#define glIsSync flextglIsSync +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSync)(GLsync); +#define glDeleteSync flextglDeleteSync +GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglClientWaitSync)(GLsync, GLbitfield, GLuint64); +#define glClientWaitSync flextglClientWaitSync +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglWaitSync)(GLsync, GLbitfield, GLuint64); +#define glWaitSync flextglWaitSync +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64v)(GLenum, GLint64 *); +#define glGetInteger64v flextglGetInteger64v +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *); +#define glGetSynciv flextglGetSynciv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetInteger64i_v)(GLenum, GLuint, GLint64 *); +#define glGetInteger64i_v flextglGetInteger64i_v +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferParameteri64v)(GLenum, GLenum, GLint64 *); +#define glGetBufferParameteri64v flextglGetBufferParameteri64v +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTexture)(GLenum, GLenum, GLuint, GLint); +#define glFramebufferTexture flextglFramebufferTexture +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 *flextglGetMultisamplefv)(GLenum, GLuint, GLfloat *); +#define glGetMultisamplefv flextglGetMultisamplefv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSampleMaski)(GLuint, GLbitfield); +#define glSampleMaski flextglSampleMaski + +/* GL_VERSION_3_3 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *); +#define glBindFragDataLocationIndexed flextglBindFragDataLocationIndexed +GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetFragDataIndex)(GLuint, const GLchar *); +#define glGetFragDataIndex flextglGetFragDataIndex +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenSamplers)(GLsizei, GLuint *); +#define glGenSamplers flextglGenSamplers +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteSamplers)(GLsizei, const GLuint *); +#define glDeleteSamplers flextglDeleteSamplers +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsSampler)(GLuint); +#define glIsSampler flextglIsSampler +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindSampler)(GLuint, GLuint); +#define glBindSampler flextglBindSampler +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 *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 *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 *flextglGetSamplerParameteriv)(GLuint, GLenum, GLint *); +#define glGetSamplerParameteriv flextglGetSamplerParameteriv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIiv)(GLuint, GLenum, GLint *); +#define glGetSamplerParameterIiv flextglGetSamplerParameterIiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterfv)(GLuint, GLenum, GLfloat *); +#define glGetSamplerParameterfv flextglGetSamplerParameterfv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); +#define glGetSamplerParameterIuiv flextglGetSamplerParameterIuiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglQueryCounter)(GLuint, GLenum); +#define glQueryCounter flextglQueryCounter +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 *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 + +/* GL_VERSION_4_0 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShading)(GLfloat); +#define glMinSampleShading flextglMinSampleShading +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationi)(GLuint, GLenum); +#define glBlendEquationi flextglBlendEquationi +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparatei)(GLuint, GLenum, GLenum); +#define glBlendEquationSeparatei flextglBlendEquationSeparatei +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunci)(GLuint, GLenum, GLenum); +#define glBlendFunci flextglBlendFunci +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); +#define glBlendFuncSeparatei flextglBlendFuncSeparatei +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 *flextglUniform1d)(GLint, GLdouble); +#define glUniform1d flextglUniform1d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2d)(GLint, GLdouble, GLdouble); +#define glUniform2d flextglUniform2d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3d)(GLint, GLdouble, GLdouble, GLdouble); +#define glUniform3d flextglUniform3d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble); +#define glUniform4d flextglUniform4d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform1dv)(GLint, GLsizei, const GLdouble *); +#define glUniform1dv flextglUniform1dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform2dv)(GLint, GLsizei, const GLdouble *); +#define glUniform2dv flextglUniform2dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniform3dv)(GLint, GLsizei, const GLdouble *); +#define glUniform3dv flextglUniform3dv +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 *flextglUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *); +#define glUniformMatrix3dv flextglUniformMatrix3dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *); +#define glUniformMatrix4dv flextglUniformMatrix4dv +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 *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 *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 *flextglGetUniformdv)(GLuint, GLint, GLdouble *); +#define glGetUniformdv flextglGetUniformdv +GLAPI FLEXTGL_EXPORT GLint(APIENTRY *flextglGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *); +#define glGetSubroutineUniformLocation flextglGetSubroutineUniformLocation +GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetSubroutineIndex)(GLuint, GLenum, const GLchar *); +#define glGetSubroutineIndex flextglGetSubroutineIndex +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *); +#define glGetActiveSubroutineUniformiv flextglGetActiveSubroutineUniformiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetActiveSubroutineUniformName flextglGetActiveSubroutineUniformName +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetActiveSubroutineName flextglGetActiveSubroutineName +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *); +#define glUniformSubroutinesuiv flextglUniformSubroutinesuiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetUniformSubroutineuiv)(GLenum, GLint, GLuint *); +#define glGetUniformSubroutineuiv flextglGetUniformSubroutineuiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *); +#define glGetProgramStageiv flextglGetProgramStageiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteri)(GLenum, GLint); +#define glPatchParameteri flextglPatchParameteri +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameterfv)(GLenum, const GLfloat *); +#define glPatchParameterfv flextglPatchParameterfv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindTransformFeedback)(GLenum, GLuint); +#define glBindTransformFeedback flextglBindTransformFeedback +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteTransformFeedbacks)(GLsizei, const GLuint *); +#define glDeleteTransformFeedbacks flextglDeleteTransformFeedbacks +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenTransformFeedbacks)(GLsizei, GLuint *); +#define glGenTransformFeedbacks flextglGenTransformFeedbacks +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsTransformFeedback)(GLuint); +#define glIsTransformFeedback flextglIsTransformFeedback +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 *flextglDrawTransformFeedback)(GLenum, GLuint); +#define glDrawTransformFeedback flextglDrawTransformFeedback +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDrawTransformFeedbackStream)(GLenum, GLuint, GLuint); +#define glDrawTransformFeedbackStream flextglDrawTransformFeedbackStream +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBeginQueryIndexed)(GLenum, GLuint, GLuint); +#define glBeginQueryIndexed flextglBeginQueryIndexed +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEndQueryIndexed)(GLenum, GLuint); +#define glEndQueryIndexed flextglEndQueryIndexed +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *); +#define glGetQueryIndexediv flextglGetQueryIndexediv + +/* GL_VERSION_4_1 */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReleaseShaderCompiler)(void); +#define glReleaseShaderCompiler flextglReleaseShaderCompiler +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); +#define glShaderBinary flextglShaderBinary +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); +#define glGetShaderPrecisionFormat flextglGetShaderPrecisionFormat +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDepthRangef)(GLfloat, GLfloat); +#define glDepthRangef flextglDepthRangef +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearDepthf)(GLfloat); +#define glClearDepthf flextglClearDepthf +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *); +#define glGetProgramBinary flextglGetProgramBinary +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 *flextglUseProgramStages)(GLuint, GLbitfield, GLuint); +#define glUseProgramStages flextglUseProgramStages +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglActiveShaderProgram)(GLuint, GLuint); +#define glActiveShaderProgram flextglActiveShaderProgram +GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); +#define glCreateShaderProgramv flextglCreateShaderProgramv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindProgramPipeline)(GLuint); +#define glBindProgramPipeline flextglBindProgramPipeline +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDeleteProgramPipelines)(GLsizei, const GLuint *); +#define glDeleteProgramPipelines flextglDeleteProgramPipelines +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenProgramPipelines)(GLsizei, GLuint *); +#define glGenProgramPipelines flextglGenProgramPipelines +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsProgramPipeline)(GLuint); +#define glIsProgramPipeline flextglIsProgramPipeline +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineiv)(GLuint, GLenum, GLint *); +#define glGetProgramPipelineiv flextglGetProgramPipelineiv +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 *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 *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 *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 *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 *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 *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 *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 *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 *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 *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 *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 *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 *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 *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 *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 *flextglProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix3fv flextglProgramUniformMatrix3fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix4fv flextglProgramUniformMatrix4fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix2dv flextglProgramUniformMatrix2dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix3dv flextglProgramUniformMatrix3dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix4dv flextglProgramUniformMatrix4dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix2x3fv flextglProgramUniformMatrix2x3fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix3x2fv flextglProgramUniformMatrix3x2fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix2x4fv flextglProgramUniformMatrix2x4fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix4x2fv flextglProgramUniformMatrix4x2fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix3x4fv flextglProgramUniformMatrix3x4fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix4x3fv flextglProgramUniformMatrix4x3fv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix2x3dv flextglProgramUniformMatrix2x3dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix3x2dv flextglProgramUniformMatrix3x2dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix2x4dv flextglProgramUniformMatrix2x4dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix4x2dv flextglProgramUniformMatrix4x2dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix3x4dv flextglProgramUniformMatrix3x4dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix4x3dv flextglProgramUniformMatrix4x3dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglValidateProgramPipeline)(GLuint); +#define glValidateProgramPipeline flextglValidateProgramPipeline +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetProgramPipelineInfoLog flextglGetProgramPipelineInfoLog +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1d)(GLuint, GLdouble); +#define glVertexAttribL1d flextglVertexAttribL1d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2d)(GLuint, GLdouble, GLdouble); +#define glVertexAttribL2d flextglVertexAttribL2d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble); +#define glVertexAttribL3d flextglVertexAttribL3d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +#define glVertexAttribL4d flextglVertexAttribL4d +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1dv)(GLuint, const GLdouble *); +#define glVertexAttribL1dv flextglVertexAttribL1dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL2dv)(GLuint, const GLdouble *); +#define glVertexAttribL2dv flextglVertexAttribL2dv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL3dv)(GLuint, const GLdouble *); +#define glVertexAttribL3dv flextglVertexAttribL3dv +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 *flextglGetVertexAttribLdv)(GLuint, GLenum, GLdouble *); +#define glGetVertexAttribLdv flextglGetVertexAttribLdv +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 +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 *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 *flextglGetFloati_v)(GLenum, GLuint, GLfloat *); +#define glGetFloati_v flextglGetFloati_v +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublei_v)(GLenum, GLuint, GLdouble *); +#define glGetDoublei_v flextglGetDoublei_v + +/* GL_VERSION_4_2 */ + +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 *flextglGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *); +#define glGetInternalformativ flextglGetInternalformativ +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *); +#define glGetActiveAtomicCounterBufferiv flextglGetActiveAtomicCounterBufferiv +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); +#define glBindImageTexture flextglBindImageTexture +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 +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 + +/* GL_VERSION_4_3 */ + +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 *flextglDispatchCompute)(GLuint, GLuint, GLuint); +#define glDispatchCompute flextglDispatchCompute +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeIndirect)(GLintptr); +#define glDispatchComputeIndirect flextglDispatchComputeIndirect +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 *flextglFramebufferParameteri)(GLenum, GLenum, GLint); +#define glFramebufferParameteri flextglFramebufferParameteri +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 *flextglInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); +#define glInvalidateTexSubImage flextglInvalidateTexSubImage +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateTexImage)(GLuint, GLint); +#define glInvalidateTexImage flextglInvalidateTexImage +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr); +#define glInvalidateBufferSubData flextglInvalidateBufferSubData +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInvalidateBufferData)(GLuint); +#define glInvalidateBufferData flextglInvalidateBufferData +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 *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 *flextglGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); +#define glGetProgramInterfaceiv flextglGetProgramInterfaceiv +GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetProgramResourceIndex)(GLuint, GLenum, const GLchar *); +#define glGetProgramResourceIndex flextglGetProgramResourceIndex +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 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 *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 *flextglBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); +#define glBindVertexBuffer flextglBindVertexBuffer +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 *flextglVertexAttribBinding)(GLuint, GLuint); +#define glVertexAttribBinding flextglVertexAttribBinding +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint); +#define glVertexBindingDivisor flextglVertexBindingDivisor +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 *flextglDebugMessageCallback)(GLDEBUGPROC, const void *); +#define glDebugMessageCallback flextglDebugMessageCallback +GLAPI FLEXTGL_EXPORT GLuint(APIENTRY *flextglGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); +#define glGetDebugMessageLog flextglGetDebugMessageLog +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); +#define glPushDebugGroup flextglPushDebugGroup +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopDebugGroup)(void); +#define glPopDebugGroup flextglPopDebugGroup +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); +#define glObjectLabel flextglObjectLabel +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetObjectLabel flextglGetObjectLabel +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabel)(const void *, GLsizei, const GLchar *); +#define glObjectPtrLabel flextglObjectPtrLabel +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 + +/* GL_VERSION_4_4 */ + +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 +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 *flextglBindTextures)(GLuint, GLsizei, const GLuint *); +#define glBindTextures flextglBindTextures +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindSamplers)(GLuint, GLsizei, const GLuint *); +#define glBindSamplers flextglBindSamplers +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindImageTextures)(GLuint, GLsizei, const GLuint *); +#define glBindImageTextures flextglBindImageTextures +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *); +#define glBindVertexBuffers flextglBindVertexBuffers + +/* GL_AMD_vertex_shader_layer */ + + +/* GL_AMD_shader_trinary_minmax */ + + +/* GL_ARB_robustness */ + +GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusARB)(void); +#define glGetGraphicsResetStatusARB flextglGetGraphicsResetStatusARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, void *); +#define glGetnTexImageARB flextglGetnTexImageARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); +#define glReadnPixelsARB flextglReadnPixelsARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *); +#define glGetnCompressedTexImageARB flextglGetnCompressedTexImageARB +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 *flextglGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *); +#define glGetnUniformdvARB flextglGetnUniformdvARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnMapdvARB)(GLenum, GLenum, GLsizei, GLdouble *); +#define glGetnMapdvARB flextglGetnMapdvARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnMapfvARB)(GLenum, GLenum, GLsizei, GLfloat *); +#define glGetnMapfvARB flextglGetnMapfvARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnMapivARB)(GLenum, GLenum, GLsizei, GLint *); +#define glGetnMapivARB flextglGetnMapivARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnPixelMapfvARB)(GLenum, GLsizei, GLfloat *); +#define glGetnPixelMapfvARB flextglGetnPixelMapfvARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnPixelMapuivARB)(GLenum, GLsizei, GLuint *); +#define glGetnPixelMapuivARB flextglGetnPixelMapuivARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnPixelMapusvARB)(GLenum, GLsizei, GLushort *); +#define glGetnPixelMapusvARB flextglGetnPixelMapusvARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnPolygonStippleARB)(GLsizei, GLubyte *); +#define glGetnPolygonStippleARB flextglGetnPolygonStippleARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnColorTableARB)(GLenum, GLenum, GLenum, GLsizei, void *); +#define glGetnColorTableARB flextglGetnColorTableARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnConvolutionFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *); +#define glGetnConvolutionFilterARB flextglGetnConvolutionFilterARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnSeparableFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *, GLsizei, void *, void *); +#define glGetnSeparableFilterARB flextglGetnSeparableFilterARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnHistogramARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *); +#define glGetnHistogramARB flextglGetnHistogramARB +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnMinmaxARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *); +#define glGetnMinmaxARB flextglGetnMinmaxARB + +/* GL_ATI_texture_mirror_once */ + + +/* GL_EXT_texture_filter_anisotropic */ + + +/* GL_EXT_texture_mirror_clamp */ + + +/* GL_EXT_direct_state_access */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadfEXT)(GLenum, const GLfloat *); +#define glMatrixLoadfEXT flextglMatrixLoadfEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoaddEXT)(GLenum, const GLdouble *); +#define glMatrixLoaddEXT flextglMatrixLoaddEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultfEXT)(GLenum, const GLfloat *); +#define glMatrixMultfEXT flextglMatrixMultfEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultdEXT)(GLenum, const GLdouble *); +#define glMatrixMultdEXT flextglMatrixMultdEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadIdentityEXT)(GLenum); +#define glMatrixLoadIdentityEXT flextglMatrixLoadIdentityEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixRotatefEXT)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat); +#define glMatrixRotatefEXT flextglMatrixRotatefEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixRotatedEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble); +#define glMatrixRotatedEXT flextglMatrixRotatedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixScalefEXT)(GLenum, GLfloat, GLfloat, GLfloat); +#define glMatrixScalefEXT flextglMatrixScalefEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixScaledEXT)(GLenum, GLdouble, GLdouble, GLdouble); +#define glMatrixScaledEXT flextglMatrixScaledEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixTranslatefEXT)(GLenum, GLfloat, GLfloat, GLfloat); +#define glMatrixTranslatefEXT flextglMatrixTranslatefEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixTranslatedEXT)(GLenum, GLdouble, GLdouble, GLdouble); +#define glMatrixTranslatedEXT flextglMatrixTranslatedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixFrustumEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +#define glMatrixFrustumEXT flextglMatrixFrustumEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixOrthoEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +#define glMatrixOrthoEXT flextglMatrixOrthoEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixPopEXT)(GLenum); +#define glMatrixPopEXT flextglMatrixPopEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixPushEXT)(GLenum); +#define glMatrixPushEXT flextglMatrixPushEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClientAttribDefaultEXT)(GLbitfield); +#define glClientAttribDefaultEXT flextglClientAttribDefaultEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushClientAttribDefaultEXT)(GLbitfield); +#define glPushClientAttribDefaultEXT flextglPushClientAttribDefaultEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterfEXT)(GLuint, GLenum, GLenum, GLfloat); +#define glTextureParameterfEXT flextglTextureParameterfEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterfvEXT)(GLuint, GLenum, GLenum, const GLfloat *); +#define glTextureParameterfvEXT flextglTextureParameterfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameteriEXT)(GLuint, GLenum, GLenum, GLint); +#define glTextureParameteriEXT flextglTextureParameteriEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterivEXT)(GLuint, GLenum, GLenum, const GLint *); +#define glTextureParameterivEXT flextglTextureParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); +#define glTextureImage1DEXT flextglTextureImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureImage2DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); +#define glTextureImage2DEXT flextglTextureImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); +#define glTextureSubImage1DEXT flextglTextureSubImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); +#define glTextureSubImage2DEXT flextglTextureSubImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +#define glCopyTextureImage1DEXT flextglCopyTextureImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +#define glCopyTextureImage2DEXT flextglCopyTextureImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei); +#define glCopyTextureSubImage1DEXT flextglCopyTextureSubImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#define glCopyTextureSubImage2DEXT flextglCopyTextureSubImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureImageEXT)(GLuint, GLenum, GLint, GLenum, GLenum, void *); +#define glGetTextureImageEXT flextglGetTextureImageEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterfvEXT)(GLuint, GLenum, GLenum, GLfloat *); +#define glGetTextureParameterfvEXT flextglGetTextureParameterfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterivEXT)(GLuint, GLenum, GLenum, GLint *); +#define glGetTextureParameterivEXT flextglGetTextureParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameterfvEXT)(GLuint, GLenum, GLint, GLenum, GLfloat *); +#define glGetTextureLevelParameterfvEXT flextglGetTextureLevelParameterfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureLevelParameterivEXT)(GLuint, GLenum, GLint, GLenum, GLint *); +#define glGetTextureLevelParameterivEXT flextglGetTextureLevelParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureImage3DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); +#define glTextureImage3DEXT flextglTextureImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); +#define glTextureSubImage3DEXT flextglTextureSubImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#define glCopyTextureSubImage3DEXT flextglCopyTextureSubImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBindMultiTextureEXT)(GLenum, GLenum, GLuint); +#define glBindMultiTextureEXT flextglBindMultiTextureEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexCoordPointerEXT)(GLenum, GLint, GLenum, GLsizei, const void *); +#define glMultiTexCoordPointerEXT flextglMultiTexCoordPointerEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnvfEXT)(GLenum, GLenum, GLenum, GLfloat); +#define glMultiTexEnvfEXT flextglMultiTexEnvfEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, const GLfloat *); +#define glMultiTexEnvfvEXT flextglMultiTexEnvfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnviEXT)(GLenum, GLenum, GLenum, GLint); +#define glMultiTexEnviEXT flextglMultiTexEnviEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexEnvivEXT)(GLenum, GLenum, GLenum, const GLint *); +#define glMultiTexEnvivEXT flextglMultiTexEnvivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGendEXT)(GLenum, GLenum, GLenum, GLdouble); +#define glMultiTexGendEXT flextglMultiTexGendEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGendvEXT)(GLenum, GLenum, GLenum, const GLdouble *); +#define glMultiTexGendvEXT flextglMultiTexGendvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGenfEXT)(GLenum, GLenum, GLenum, GLfloat); +#define glMultiTexGenfEXT flextglMultiTexGenfEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGenfvEXT)(GLenum, GLenum, GLenum, const GLfloat *); +#define glMultiTexGenfvEXT flextglMultiTexGenfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGeniEXT)(GLenum, GLenum, GLenum, GLint); +#define glMultiTexGeniEXT flextglMultiTexGeniEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexGenivEXT)(GLenum, GLenum, GLenum, const GLint *); +#define glMultiTexGenivEXT flextglMultiTexGenivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, GLfloat *); +#define glGetMultiTexEnvfvEXT flextglGetMultiTexEnvfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexEnvivEXT)(GLenum, GLenum, GLenum, GLint *); +#define glGetMultiTexEnvivEXT flextglGetMultiTexEnvivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexGendvEXT)(GLenum, GLenum, GLenum, GLdouble *); +#define glGetMultiTexGendvEXT flextglGetMultiTexGendvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexGenfvEXT)(GLenum, GLenum, GLenum, GLfloat *); +#define glGetMultiTexGenfvEXT flextglGetMultiTexGenfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexGenivEXT)(GLenum, GLenum, GLenum, GLint *); +#define glGetMultiTexGenivEXT flextglGetMultiTexGenivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameteriEXT)(GLenum, GLenum, GLenum, GLint); +#define glMultiTexParameteriEXT flextglMultiTexParameteriEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterivEXT)(GLenum, GLenum, GLenum, const GLint *); +#define glMultiTexParameterivEXT flextglMultiTexParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterfEXT)(GLenum, GLenum, GLenum, GLfloat); +#define glMultiTexParameterfEXT flextglMultiTexParameterfEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, const GLfloat *); +#define glMultiTexParameterfvEXT flextglMultiTexParameterfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); +#define glMultiTexImage1DEXT flextglMultiTexImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); +#define glMultiTexImage2DEXT flextglMultiTexImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); +#define glMultiTexSubImage1DEXT flextglMultiTexSubImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); +#define glMultiTexSubImage2DEXT flextglMultiTexSubImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +#define glCopyMultiTexImage1DEXT flextglCopyMultiTexImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +#define glCopyMultiTexImage2DEXT flextglCopyMultiTexImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei); +#define glCopyMultiTexSubImage1DEXT flextglCopyMultiTexSubImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#define glCopyMultiTexSubImage2DEXT flextglCopyMultiTexSubImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexImageEXT)(GLenum, GLenum, GLint, GLenum, GLenum, void *); +#define glGetMultiTexImageEXT flextglGetMultiTexImageEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, GLfloat *); +#define glGetMultiTexParameterfvEXT flextglGetMultiTexParameterfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterivEXT)(GLenum, GLenum, GLenum, GLint *); +#define glGetMultiTexParameterivEXT flextglGetMultiTexParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexLevelParameterfvEXT)(GLenum, GLenum, GLint, GLenum, GLfloat *); +#define glGetMultiTexLevelParameterfvEXT flextglGetMultiTexLevelParameterfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexLevelParameterivEXT)(GLenum, GLenum, GLint, GLenum, GLint *); +#define glGetMultiTexLevelParameterivEXT flextglGetMultiTexLevelParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); +#define glMultiTexImage3DEXT flextglMultiTexImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); +#define glMultiTexSubImage3DEXT flextglMultiTexSubImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#define glCopyMultiTexSubImage3DEXT flextglCopyMultiTexSubImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableClientStateIndexedEXT)(GLenum, GLuint); +#define glEnableClientStateIndexedEXT flextglEnableClientStateIndexedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableClientStateIndexedEXT)(GLenum, GLuint); +#define glDisableClientStateIndexedEXT flextglDisableClientStateIndexedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFloatIndexedvEXT)(GLenum, GLuint, GLfloat *); +#define glGetFloatIndexedvEXT flextglGetFloatIndexedvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetDoubleIndexedvEXT)(GLenum, GLuint, GLdouble *); +#define glGetDoubleIndexedvEXT flextglGetDoubleIndexedvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointerIndexedvEXT)(GLenum, GLuint, void **); +#define glGetPointerIndexedvEXT flextglGetPointerIndexedvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableIndexedEXT)(GLenum, GLuint); +#define glEnableIndexedEXT flextglEnableIndexedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableIndexedEXT)(GLenum, GLuint); +#define glDisableIndexedEXT flextglDisableIndexedEXT +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnabledIndexedEXT)(GLenum, GLuint); +#define glIsEnabledIndexedEXT flextglIsEnabledIndexedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetIntegerIndexedvEXT)(GLenum, GLuint, GLint *); +#define glGetIntegerIndexedvEXT flextglGetIntegerIndexedvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *); +#define glGetBooleanIndexedvEXT flextglGetBooleanIndexedvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureImage3DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); +#define glCompressedTextureImage3DEXT flextglCompressedTextureImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); +#define glCompressedTextureImage2DEXT flextglCompressedTextureImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); +#define glCompressedTextureImage1DEXT flextglCompressedTextureImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedTextureSubImage3DEXT flextglCompressedTextureSubImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedTextureSubImage2DEXT flextglCompressedTextureSubImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedTextureSubImage1DEXT flextglCompressedTextureSubImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedTextureImageEXT)(GLuint, GLenum, GLint, void *); +#define glGetCompressedTextureImageEXT flextglGetCompressedTextureImageEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); +#define glCompressedMultiTexImage3DEXT flextglCompressedMultiTexImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); +#define glCompressedMultiTexImage2DEXT flextglCompressedMultiTexImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); +#define glCompressedMultiTexImage1DEXT flextglCompressedMultiTexImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedMultiTexSubImage3DEXT flextglCompressedMultiTexSubImage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedMultiTexSubImage2DEXT flextglCompressedMultiTexSubImage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCompressedMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); +#define glCompressedMultiTexSubImage1DEXT flextglCompressedMultiTexSubImage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetCompressedMultiTexImageEXT)(GLenum, GLenum, GLint, void *); +#define glGetCompressedMultiTexImageEXT flextglGetCompressedMultiTexImageEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadTransposefEXT)(GLenum, const GLfloat *); +#define glMatrixLoadTransposefEXT flextglMatrixLoadTransposefEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixLoadTransposedEXT)(GLenum, const GLdouble *); +#define glMatrixLoadTransposedEXT flextglMatrixLoadTransposedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultTransposefEXT)(GLenum, const GLfloat *); +#define glMatrixMultTransposefEXT flextglMatrixMultTransposefEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMatrixMultTransposedEXT)(GLenum, const GLdouble *); +#define glMatrixMultTransposedEXT flextglMatrixMultTransposedEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferDataEXT)(GLuint, GLsizeiptr, const void *, GLenum); +#define glNamedBufferDataEXT flextglNamedBufferDataEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, const void *); +#define glNamedBufferSubDataEXT flextglNamedBufferSubDataEXT +GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBufferEXT)(GLuint, GLenum); +#define glMapNamedBufferEXT flextglMapNamedBufferEXT +GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapNamedBufferEXT)(GLuint); +#define glUnmapNamedBufferEXT flextglUnmapNamedBufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferParameterivEXT)(GLuint, GLenum, GLint *); +#define glGetNamedBufferParameterivEXT flextglGetNamedBufferParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferPointervEXT)(GLuint, GLenum, void **); +#define glGetNamedBufferPointervEXT flextglGetNamedBufferPointervEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, void *); +#define glGetNamedBufferSubDataEXT flextglGetNamedBufferSubDataEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fEXT)(GLuint, GLint, GLfloat); +#define glProgramUniform1fEXT flextglProgramUniform1fEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); +#define glProgramUniform2fEXT flextglProgramUniform2fEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); +#define glProgramUniform3fEXT flextglProgramUniform3fEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); +#define glProgramUniform4fEXT flextglProgramUniform4fEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1iEXT)(GLuint, GLint, GLint); +#define glProgramUniform1iEXT flextglProgramUniform1iEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); +#define glProgramUniform2iEXT flextglProgramUniform2iEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); +#define glProgramUniform3iEXT flextglProgramUniform3iEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); +#define glProgramUniform4iEXT flextglProgramUniform4iEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); +#define glProgramUniform1fvEXT flextglProgramUniform1fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); +#define glProgramUniform2fvEXT flextglProgramUniform2fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); +#define glProgramUniform3fvEXT flextglProgramUniform3fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); +#define glProgramUniform4fvEXT flextglProgramUniform4fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); +#define glProgramUniform1ivEXT flextglProgramUniform1ivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); +#define glProgramUniform2ivEXT flextglProgramUniform2ivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); +#define glProgramUniform3ivEXT flextglProgramUniform3ivEXT +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 *flextglProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix2x3fvEXT flextglProgramUniformMatrix2x3fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix3x2fvEXT flextglProgramUniformMatrix3x2fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix2x4fvEXT flextglProgramUniformMatrix2x4fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix4x2fvEXT flextglProgramUniformMatrix4x2fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix3x4fvEXT flextglProgramUniformMatrix3x4fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +#define glProgramUniformMatrix4x3fvEXT flextglProgramUniformMatrix4x3fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureBufferEXT)(GLuint, GLenum, GLenum, GLuint); +#define glTextureBufferEXT flextglTextureBufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexBufferEXT)(GLenum, GLenum, GLenum, GLuint); +#define glMultiTexBufferEXT flextglMultiTexBufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIivEXT)(GLuint, GLenum, GLenum, const GLint *); +#define glTextureParameterIivEXT flextglTextureParameterIivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureParameterIuivEXT)(GLuint, GLenum, GLenum, const GLuint *); +#define glTextureParameterIuivEXT flextglTextureParameterIuivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIivEXT)(GLuint, GLenum, GLenum, GLint *); +#define glGetTextureParameterIivEXT flextglGetTextureParameterIivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTextureParameterIuivEXT)(GLuint, GLenum, GLenum, GLuint *); +#define glGetTextureParameterIuivEXT flextglGetTextureParameterIuivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, const GLint *); +#define glMultiTexParameterIivEXT flextglMultiTexParameterIivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, const GLuint *); +#define glMultiTexParameterIuivEXT flextglMultiTexParameterIuivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, GLint *); +#define glGetMultiTexParameterIivEXT flextglGetMultiTexParameterIivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, GLuint *); +#define glGetMultiTexParameterIuivEXT flextglGetMultiTexParameterIuivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uiEXT)(GLuint, GLint, GLuint); +#define glProgramUniform1uiEXT flextglProgramUniform1uiEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint); +#define glProgramUniform2uiEXT flextglProgramUniform2uiEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint); +#define glProgramUniform3uiEXT flextglProgramUniform3uiEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); +#define glProgramUniform4uiEXT flextglProgramUniform4uiEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *); +#define glProgramUniform1uivEXT flextglProgramUniform1uivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *); +#define glProgramUniform2uivEXT flextglProgramUniform2uivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *); +#define glProgramUniform3uivEXT flextglProgramUniform3uivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *); +#define glProgramUniform4uivEXT flextglProgramUniform4uivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameters4fvEXT)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *); +#define glNamedProgramLocalParameters4fvEXT flextglNamedProgramLocalParameters4fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4iEXT)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint); +#define glNamedProgramLocalParameterI4iEXT flextglNamedProgramLocalParameterI4iEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4ivEXT)(GLuint, GLenum, GLuint, const GLint *); +#define glNamedProgramLocalParameterI4ivEXT flextglNamedProgramLocalParameterI4ivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParametersI4ivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLint *); +#define glNamedProgramLocalParametersI4ivEXT flextglNamedProgramLocalParametersI4ivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4uiEXT)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +#define glNamedProgramLocalParameterI4uiEXT flextglNamedProgramLocalParameterI4uiEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameterI4uivEXT)(GLuint, GLenum, GLuint, const GLuint *); +#define glNamedProgramLocalParameterI4uivEXT flextglNamedProgramLocalParameterI4uivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParametersI4uivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLuint *); +#define glNamedProgramLocalParametersI4uivEXT flextglNamedProgramLocalParametersI4uivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterIivEXT)(GLuint, GLenum, GLuint, GLint *); +#define glGetNamedProgramLocalParameterIivEXT flextglGetNamedProgramLocalParameterIivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterIuivEXT)(GLuint, GLenum, GLuint, GLuint *); +#define glGetNamedProgramLocalParameterIuivEXT flextglGetNamedProgramLocalParameterIuivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableClientStateiEXT)(GLenum, GLuint); +#define glEnableClientStateiEXT flextglEnableClientStateiEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableClientStateiEXT)(GLenum, GLuint); +#define glDisableClientStateiEXT flextglDisableClientStateiEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFloati_vEXT)(GLenum, GLuint, GLfloat *); +#define glGetFloati_vEXT flextglGetFloati_vEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetDoublei_vEXT)(GLenum, GLuint, GLdouble *); +#define glGetDoublei_vEXT flextglGetDoublei_vEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointeri_vEXT)(GLenum, GLuint, void **); +#define glGetPointeri_vEXT flextglGetPointeri_vEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLsizei, const void *); +#define glNamedProgramStringEXT flextglNamedProgramStringEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4dEXT)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +#define glNamedProgramLocalParameter4dEXT flextglNamedProgramLocalParameter4dEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4dvEXT)(GLuint, GLenum, GLuint, const GLdouble *); +#define glNamedProgramLocalParameter4dvEXT flextglNamedProgramLocalParameter4dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4fEXT)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +#define glNamedProgramLocalParameter4fEXT flextglNamedProgramLocalParameter4fEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedProgramLocalParameter4fvEXT)(GLuint, GLenum, GLuint, const GLfloat *); +#define glNamedProgramLocalParameter4fvEXT flextglNamedProgramLocalParameter4fvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterdvEXT)(GLuint, GLenum, GLuint, GLdouble *); +#define glGetNamedProgramLocalParameterdvEXT flextglGetNamedProgramLocalParameterdvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramLocalParameterfvEXT)(GLuint, GLenum, GLuint, GLfloat *); +#define glGetNamedProgramLocalParameterfvEXT flextglGetNamedProgramLocalParameterfvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramivEXT)(GLuint, GLenum, GLenum, GLint *); +#define glGetNamedProgramivEXT flextglGetNamedProgramivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedProgramStringEXT)(GLuint, GLenum, GLenum, void *); +#define glGetNamedProgramStringEXT flextglGetNamedProgramStringEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageEXT)(GLuint, GLenum, GLsizei, GLsizei); +#define glNamedRenderbufferStorageEXT flextglNamedRenderbufferStorageEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedRenderbufferParameterivEXT)(GLuint, GLenum, GLint *); +#define glGetNamedRenderbufferParameterivEXT flextglGetNamedRenderbufferParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageMultisampleEXT)(GLuint, GLsizei, GLenum, GLsizei, GLsizei); +#define glNamedRenderbufferStorageMultisampleEXT flextglNamedRenderbufferStorageMultisampleEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei); +#define glNamedRenderbufferStorageMultisampleCoverageEXT flextglNamedRenderbufferStorageMultisampleCoverageEXT +GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglCheckNamedFramebufferStatusEXT)(GLuint, GLenum); +#define glCheckNamedFramebufferStatusEXT flextglCheckNamedFramebufferStatusEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture1DEXT)(GLuint, GLenum, GLenum, GLuint, GLint); +#define glNamedFramebufferTexture1DEXT flextglNamedFramebufferTexture1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture2DEXT)(GLuint, GLenum, GLenum, GLuint, GLint); +#define glNamedFramebufferTexture2DEXT flextglNamedFramebufferTexture2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTexture3DEXT)(GLuint, GLenum, GLenum, GLuint, GLint, GLint); +#define glNamedFramebufferTexture3DEXT flextglNamedFramebufferTexture3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferRenderbufferEXT)(GLuint, GLenum, GLenum, GLuint); +#define glNamedFramebufferRenderbufferEXT flextglNamedFramebufferRenderbufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferAttachmentParameterivEXT)(GLuint, GLenum, GLenum, GLint *); +#define glGetNamedFramebufferAttachmentParameterivEXT flextglGetNamedFramebufferAttachmentParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenerateTextureMipmapEXT)(GLuint, GLenum); +#define glGenerateTextureMipmapEXT flextglGenerateTextureMipmapEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGenerateMultiTexMipmapEXT)(GLenum, GLenum); +#define glGenerateMultiTexMipmapEXT flextglGenerateMultiTexMipmapEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferDrawBufferEXT)(GLuint, GLenum); +#define glFramebufferDrawBufferEXT flextglFramebufferDrawBufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferDrawBuffersEXT)(GLuint, GLsizei, const GLenum *); +#define glFramebufferDrawBuffersEXT flextglFramebufferDrawBuffersEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferReadBufferEXT)(GLuint, GLenum); +#define glFramebufferReadBufferEXT flextglFramebufferReadBufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetFramebufferParameterivEXT)(GLuint, GLenum, GLint *); +#define glGetFramebufferParameterivEXT flextglGetFramebufferParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedCopyBufferSubDataEXT)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr); +#define glNamedCopyBufferSubDataEXT flextglNamedCopyBufferSubDataEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureEXT)(GLuint, GLenum, GLuint, GLint); +#define glNamedFramebufferTextureEXT flextglNamedFramebufferTextureEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureLayerEXT)(GLuint, GLenum, GLuint, GLint, GLint); +#define glNamedFramebufferTextureLayerEXT flextglNamedFramebufferTextureLayerEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferTextureFaceEXT)(GLuint, GLenum, GLuint, GLint, GLenum); +#define glNamedFramebufferTextureFaceEXT flextglNamedFramebufferTextureFaceEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureRenderbufferEXT)(GLuint, GLenum, GLuint); +#define glTextureRenderbufferEXT flextglTextureRenderbufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiTexRenderbufferEXT)(GLenum, GLenum, GLuint); +#define glMultiTexRenderbufferEXT flextglMultiTexRenderbufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +#define glVertexArrayVertexOffsetEXT flextglVertexArrayVertexOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +#define glVertexArrayColorOffsetEXT flextglVertexArrayColorOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayEdgeFlagOffsetEXT)(GLuint, GLuint, GLsizei, GLintptr); +#define glVertexArrayEdgeFlagOffsetEXT flextglVertexArrayEdgeFlagOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayIndexOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr); +#define glVertexArrayIndexOffsetEXT flextglVertexArrayIndexOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayNormalOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr); +#define glVertexArrayNormalOffsetEXT flextglVertexArrayNormalOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayTexCoordOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +#define glVertexArrayTexCoordOffsetEXT flextglVertexArrayTexCoordOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayMultiTexCoordOffsetEXT)(GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr); +#define glVertexArrayMultiTexCoordOffsetEXT flextglVertexArrayMultiTexCoordOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayFogCoordOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr); +#define glVertexArrayFogCoordOffsetEXT flextglVertexArrayFogCoordOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArraySecondaryColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +#define glVertexArraySecondaryColorOffsetEXT flextglVertexArraySecondaryColorOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr); +#define glVertexArrayVertexAttribOffsetEXT flextglVertexArrayVertexAttribOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribIOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +#define glVertexArrayVertexAttribIOffsetEXT flextglVertexArrayVertexAttribIOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexArrayEXT)(GLuint, GLenum); +#define glEnableVertexArrayEXT flextglEnableVertexArrayEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexArrayEXT)(GLuint, GLenum); +#define glDisableVertexArrayEXT flextglDisableVertexArrayEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableVertexArrayAttribEXT)(GLuint, GLuint); +#define glEnableVertexArrayAttribEXT flextglEnableVertexArrayAttribEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableVertexArrayAttribEXT)(GLuint, GLuint); +#define glDisableVertexArrayAttribEXT flextglDisableVertexArrayAttribEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIntegervEXT)(GLuint, GLenum, GLint *); +#define glGetVertexArrayIntegervEXT flextglGetVertexArrayIntegervEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayPointervEXT)(GLuint, GLenum, void **); +#define glGetVertexArrayPointervEXT flextglGetVertexArrayPointervEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayIntegeri_vEXT)(GLuint, GLuint, GLenum, GLint *); +#define glGetVertexArrayIntegeri_vEXT flextglGetVertexArrayIntegeri_vEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetVertexArrayPointeri_vEXT)(GLuint, GLuint, GLenum, void **); +#define glGetVertexArrayPointeri_vEXT flextglGetVertexArrayPointeri_vEXT +GLAPI FLEXTGL_EXPORT void *(APIENTRY *flextglMapNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr, GLbitfield); +#define glMapNamedBufferRangeEXT flextglMapNamedBufferRangeEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFlushMappedNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr); +#define glFlushMappedNamedBufferRangeEXT flextglFlushMappedNamedBufferRangeEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedBufferStorageEXT)(GLuint, GLsizeiptr, const void *, GLbitfield); +#define glNamedBufferStorageEXT flextglNamedBufferStorageEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferDataEXT)(GLuint, GLenum, GLenum, GLenum, const void *); +#define glClearNamedBufferDataEXT flextglClearNamedBufferDataEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglClearNamedBufferSubDataEXT)(GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, const void *); +#define glClearNamedBufferSubDataEXT flextglClearNamedBufferSubDataEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglNamedFramebufferParameteriEXT)(GLuint, GLenum, GLint); +#define glNamedFramebufferParameteriEXT flextglNamedFramebufferParameteriEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetNamedFramebufferParameterivEXT)(GLuint, GLenum, GLint *); +#define glGetNamedFramebufferParameterivEXT flextglGetNamedFramebufferParameterivEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1dEXT)(GLuint, GLint, GLdouble); +#define glProgramUniform1dEXT flextglProgramUniform1dEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2dEXT)(GLuint, GLint, GLdouble, GLdouble); +#define glProgramUniform2dEXT flextglProgramUniform2dEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble); +#define glProgramUniform3dEXT flextglProgramUniform3dEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); +#define glProgramUniform4dEXT flextglProgramUniform4dEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform1dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); +#define glProgramUniform1dvEXT flextglProgramUniform1dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform2dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); +#define glProgramUniform2dvEXT flextglProgramUniform2dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform3dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); +#define glProgramUniform3dvEXT flextglProgramUniform3dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniform4dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); +#define glProgramUniform4dvEXT flextglProgramUniform4dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix2dvEXT flextglProgramUniformMatrix2dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix3dvEXT flextglProgramUniformMatrix3dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix4dvEXT flextglProgramUniformMatrix4dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix2x3dvEXT flextglProgramUniformMatrix2x3dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix2x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix2x4dvEXT flextglProgramUniformMatrix2x4dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix3x2dvEXT flextglProgramUniformMatrix3x2dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix3x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix3x4dvEXT flextglProgramUniformMatrix3x4dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix4x2dvEXT flextglProgramUniformMatrix4x2dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglProgramUniformMatrix4x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); +#define glProgramUniformMatrix4x3dvEXT flextglProgramUniformMatrix4x3dvEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureBufferRangeEXT)(GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); +#define glTextureBufferRangeEXT flextglTextureBufferRangeEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage1DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei); +#define glTextureStorage1DEXT flextglTextureStorage1DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#define glTextureStorage2DEXT flextglTextureStorage2DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +#define glTextureStorage3DEXT flextglTextureStorage3DEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage2DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); +#define glTextureStorage2DMultisampleEXT flextglTextureStorage2DMultisampleEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTextureStorage3DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); +#define glTextureStorage3DMultisampleEXT flextglTextureStorage3DMultisampleEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayBindVertexBufferEXT)(GLuint, GLuint, GLuint, GLintptr, GLsizei); +#define glVertexArrayBindVertexBufferEXT flextglVertexArrayBindVertexBufferEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribFormatEXT)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint); +#define glVertexArrayVertexAttribFormatEXT flextglVertexArrayVertexAttribFormatEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribIFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint); +#define glVertexArrayVertexAttribIFormatEXT flextglVertexArrayVertexAttribIFormatEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribLFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint); +#define glVertexArrayVertexAttribLFormatEXT flextglVertexArrayVertexAttribLFormatEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribBindingEXT)(GLuint, GLuint, GLuint); +#define glVertexArrayVertexAttribBindingEXT flextglVertexArrayVertexAttribBindingEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBindingDivisorEXT)(GLuint, GLuint, GLuint); +#define glVertexArrayVertexBindingDivisorEXT flextglVertexArrayVertexBindingDivisorEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribLOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); +#define glVertexArrayVertexAttribLOffsetEXT flextglVertexArrayVertexAttribLOffsetEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexturePageCommitmentEXT)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean); +#define glTexturePageCommitmentEXT flextglTexturePageCommitmentEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexAttribDivisorEXT)(GLuint, GLuint, GLuint); +#define glVertexArrayVertexAttribDivisorEXT flextglVertexArrayVertexAttribDivisorEXT + +/* GL_EXT_texture_sRGB_decode */ + + +/* GL_EXT_debug_label */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); +#define glLabelObjectEXT flextglLabelObjectEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); +#define glGetObjectLabelEXT flextglGetObjectLabelEXT + +/* GL_EXT_debug_marker */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglInsertEventMarkerEXT)(GLsizei, const GLchar *); +#define glInsertEventMarkerEXT flextglInsertEventMarkerEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPushGroupMarkerEXT)(GLsizei, const GLchar *); +#define glPushGroupMarkerEXT flextglPushGroupMarkerEXT +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void); +#define glPopGroupMarkerEXT flextglPopGroupMarkerEXT + +/* GL_GREMEDY_string_marker */ + +GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStringMarkerGREMEDY)(GLsizei, const void *); +#define glStringMarkerGREMEDY flextglStringMarkerGREMEDY + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.h.template b/src/MagnumExternal/OpenGL/GL/flextGL.h.template new file mode 100644 index 000000000..d7d546f08 --- /dev/null +++ b/src/MagnumExternal/OpenGL/GL/flextGL.h.template @@ -0,0 +1,96 @@ +@require(passthru, functions, enums, options, version, extensions) +#ifndef _flextgl_h_ +#define _flextgl_h_ + +/* Defensive include guards */ + +#if defined(__glew_h__) || defined(__GLEW_H__) +#error Attempt to include auto-generated header after including glew.h +#endif +#if defined(__gl_h_) || defined(__GL_H__) +#error Attempt to include auto-generated header after including gl.h +#endif +#if defined(__glext_h_) || defined(__GLEXT_H_) +#error Attempt to include auto-generated header after including glext.h +#endif +#if defined(__gltypes_h_) +#error Attempt to include auto-generated header after gltypes.h +#endif +#if defined(__gl_ATI_h_) +#error Attempt to include auto-generated header after including glATI.h +#endif + +#define __glew_h__ +#define __GLEW_H__ +#define __gl_h_ +#define __GL_H__ +#define __glext_h_ +#define __GLEXT_H_ +#define __gltypes_h_ +#define __gl_ATI_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +void flextGLInit(); + +/* Function declaration macros */ + +#ifdef _WIN32 + #ifdef FlextGL_EXPORTS + #define FLEXTGL_EXPORT __declspec(dllexport) + #else + #define FLEXTGL_EXPORT __declspec(dllimport) + #endif +#else + #define FLEXTGL_EXPORT __attribute__ ((visibility ("default"))) +#endif + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#define WIN32_LEAN_AND_MEAN 1 +#ifndef WINAPI +#define WINAPI __stdcall +#endif +#define APIENTRY WINAPI +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef GLAPI +#define GLAPI extern +#endif + +/* Data types */ + +@passthru + +/* Enums */ + +@enums + +/* Function prototypes */ +@for cat,funcs in functions: + +/* GL_@cat */ + + @if cat in ['VERSION_1_0', 'VERSION_1_1','VERSION_1_0_DEPRECATED', 'VERSION_1_1_DEPRECATED']: + @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 + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp new file mode 100644 index 000000000..b666b8db8 --- /dev/null +++ b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp @@ -0,0 +1,825 @@ +#include "flextGL.h" + +#include +#include + +#include "Magnum/Platform/Implementation/OpenGLFunctionLoader.h" + +void flextGLInit() { + Magnum::Platform::Implementation::OpenGLFunctionLoader loader; + + /* GL_VERSION_1_2 */ + flextglDrawRangeElements = reinterpret_cast(loader.load("glDrawRangeElements")); + flextglTexImage3D = reinterpret_cast(loader.load("glTexImage3D")); + flextglTexSubImage3D = reinterpret_cast(loader.load("glTexSubImage3D")); + flextglCopyTexSubImage3D = reinterpret_cast(loader.load("glCopyTexSubImage3D")); + + /* GL_VERSION_1_3 */ + flextglActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); + flextglSampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); + flextglCompressedTexImage3D = reinterpret_cast(loader.load("glCompressedTexImage3D")); + flextglCompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); + flextglCompressedTexImage1D = reinterpret_cast(loader.load("glCompressedTexImage1D")); + flextglCompressedTexSubImage3D = reinterpret_cast(loader.load("glCompressedTexSubImage3D")); + flextglCompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); + flextglCompressedTexSubImage1D = reinterpret_cast(loader.load("glCompressedTexSubImage1D")); + flextglGetCompressedTexImage = reinterpret_cast(loader.load("glGetCompressedTexImage")); + + /* GL_VERSION_1_4 */ + 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")); + flextglBlendColor = reinterpret_cast(loader.load("glBlendColor")); + flextglBlendEquation = reinterpret_cast(loader.load("glBlendEquation")); + + /* GL_VERSION_1_5 */ + flextglGenQueries = reinterpret_cast(loader.load("glGenQueries")); + flextglDeleteQueries = reinterpret_cast(loader.load("glDeleteQueries")); + flextglIsQuery = reinterpret_cast(loader.load("glIsQuery")); + flextglBeginQuery = reinterpret_cast(loader.load("glBeginQuery")); + flextglEndQuery = reinterpret_cast(loader.load("glEndQuery")); + flextglGetQueryiv = reinterpret_cast(loader.load("glGetQueryiv")); + flextglGetQueryObjectiv = reinterpret_cast(loader.load("glGetQueryObjectiv")); + flextglGetQueryObjectuiv = reinterpret_cast(loader.load("glGetQueryObjectuiv")); + flextglBindBuffer = reinterpret_cast(loader.load("glBindBuffer")); + flextglDeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); + flextglGenBuffers = reinterpret_cast(loader.load("glGenBuffers")); + flextglIsBuffer = reinterpret_cast(loader.load("glIsBuffer")); + flextglBufferData = reinterpret_cast(loader.load("glBufferData")); + flextglBufferSubData = reinterpret_cast(loader.load("glBufferSubData")); + flextglGetBufferSubData = reinterpret_cast(loader.load("glGetBufferSubData")); + flextglMapBuffer = reinterpret_cast(loader.load("glMapBuffer")); + flextglUnmapBuffer = reinterpret_cast(loader.load("glUnmapBuffer")); + flextglGetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); + flextglGetBufferPointerv = reinterpret_cast(loader.load("glGetBufferPointerv")); + + /* GL_VERSION_2_0 */ + flextglBlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); + flextglDrawBuffers = reinterpret_cast(loader.load("glDrawBuffers")); + flextglStencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); + flextglStencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); + flextglStencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); + flextglAttachShader = reinterpret_cast(loader.load("glAttachShader")); + flextglBindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); + 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")); + 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")); + flextglGetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); + flextglGetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); + flextglGetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); + flextglGetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); + flextglGetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); + flextglGetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); + flextglGetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); + flextglGetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); + flextglGetVertexAttribdv = reinterpret_cast(loader.load("glGetVertexAttribdv")); + flextglGetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); + flextglGetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); + flextglGetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); + flextglIsProgram = reinterpret_cast(loader.load("glIsProgram")); + flextglIsShader = reinterpret_cast(loader.load("glIsShader")); + flextglLinkProgram = reinterpret_cast(loader.load("glLinkProgram")); + flextglShaderSource = reinterpret_cast(loader.load("glShaderSource")); + flextglUseProgram = reinterpret_cast(loader.load("glUseProgram")); + flextglUniform1f = reinterpret_cast(loader.load("glUniform1f")); + flextglUniform2f = reinterpret_cast(loader.load("glUniform2f")); + flextglUniform3f = reinterpret_cast(loader.load("glUniform3f")); + flextglUniform4f = reinterpret_cast(loader.load("glUniform4f")); + flextglUniform1i = reinterpret_cast(loader.load("glUniform1i")); + flextglUniform2i = reinterpret_cast(loader.load("glUniform2i")); + flextglUniform3i = reinterpret_cast(loader.load("glUniform3i")); + flextglUniform4i = reinterpret_cast(loader.load("glUniform4i")); + flextglUniform1fv = reinterpret_cast(loader.load("glUniform1fv")); + flextglUniform2fv = reinterpret_cast(loader.load("glUniform2fv")); + flextglUniform3fv = reinterpret_cast(loader.load("glUniform3fv")); + flextglUniform4fv = reinterpret_cast(loader.load("glUniform4fv")); + flextglUniform1iv = reinterpret_cast(loader.load("glUniform1iv")); + flextglUniform2iv = reinterpret_cast(loader.load("glUniform2iv")); + flextglUniform3iv = reinterpret_cast(loader.load("glUniform3iv")); + flextglUniform4iv = reinterpret_cast(loader.load("glUniform4iv")); + flextglUniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); + flextglUniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); + flextglUniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); + 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")); + + /* GL_VERSION_2_1 */ + flextglUniformMatrix2x3fv = reinterpret_cast(loader.load("glUniformMatrix2x3fv")); + flextglUniformMatrix3x2fv = reinterpret_cast(loader.load("glUniformMatrix3x2fv")); + flextglUniformMatrix2x4fv = reinterpret_cast(loader.load("glUniformMatrix2x4fv")); + flextglUniformMatrix4x2fv = reinterpret_cast(loader.load("glUniformMatrix4x2fv")); + flextglUniformMatrix3x4fv = reinterpret_cast(loader.load("glUniformMatrix3x4fv")); + flextglUniformMatrix4x3fv = reinterpret_cast(loader.load("glUniformMatrix4x3fv")); + + /* GL_VERSION_3_0 */ + flextglColorMaski = reinterpret_cast(loader.load("glColorMaski")); + flextglGetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); + flextglGetIntegeri_v = reinterpret_cast(loader.load("glGetIntegeri_v")); + flextglEnablei = reinterpret_cast(loader.load("glEnablei")); + flextglDisablei = reinterpret_cast(loader.load("glDisablei")); + flextglIsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); + flextglBeginTransformFeedback = reinterpret_cast(loader.load("glBeginTransformFeedback")); + flextglEndTransformFeedback = reinterpret_cast(loader.load("glEndTransformFeedback")); + flextglBindBufferRange = reinterpret_cast(loader.load("glBindBufferRange")); + flextglBindBufferBase = reinterpret_cast(loader.load("glBindBufferBase")); + flextglTransformFeedbackVaryings = reinterpret_cast(loader.load("glTransformFeedbackVaryings")); + flextglGetTransformFeedbackVarying = reinterpret_cast(loader.load("glGetTransformFeedbackVarying")); + flextglClampColor = reinterpret_cast(loader.load("glClampColor")); + flextglBeginConditionalRender = reinterpret_cast(loader.load("glBeginConditionalRender")); + flextglEndConditionalRender = reinterpret_cast(loader.load("glEndConditionalRender")); + flextglVertexAttribIPointer = reinterpret_cast(loader.load("glVertexAttribIPointer")); + flextglGetVertexAttribIiv = reinterpret_cast(loader.load("glGetVertexAttribIiv")); + flextglGetVertexAttribIuiv = reinterpret_cast(loader.load("glGetVertexAttribIuiv")); + flextglVertexAttribI1i = reinterpret_cast(loader.load("glVertexAttribI1i")); + flextglVertexAttribI2i = reinterpret_cast(loader.load("glVertexAttribI2i")); + flextglVertexAttribI3i = reinterpret_cast(loader.load("glVertexAttribI3i")); + flextglVertexAttribI4i = reinterpret_cast(loader.load("glVertexAttribI4i")); + flextglVertexAttribI1ui = reinterpret_cast(loader.load("glVertexAttribI1ui")); + flextglVertexAttribI2ui = reinterpret_cast(loader.load("glVertexAttribI2ui")); + flextglVertexAttribI3ui = reinterpret_cast(loader.load("glVertexAttribI3ui")); + flextglVertexAttribI4ui = reinterpret_cast(loader.load("glVertexAttribI4ui")); + flextglVertexAttribI1iv = reinterpret_cast(loader.load("glVertexAttribI1iv")); + flextglVertexAttribI2iv = reinterpret_cast(loader.load("glVertexAttribI2iv")); + flextglVertexAttribI3iv = reinterpret_cast(loader.load("glVertexAttribI3iv")); + flextglVertexAttribI4iv = reinterpret_cast(loader.load("glVertexAttribI4iv")); + flextglVertexAttribI1uiv = reinterpret_cast(loader.load("glVertexAttribI1uiv")); + flextglVertexAttribI2uiv = reinterpret_cast(loader.load("glVertexAttribI2uiv")); + flextglVertexAttribI3uiv = reinterpret_cast(loader.load("glVertexAttribI3uiv")); + flextglVertexAttribI4uiv = reinterpret_cast(loader.load("glVertexAttribI4uiv")); + flextglVertexAttribI4bv = reinterpret_cast(loader.load("glVertexAttribI4bv")); + flextglVertexAttribI4sv = reinterpret_cast(loader.load("glVertexAttribI4sv")); + flextglVertexAttribI4ubv = reinterpret_cast(loader.load("glVertexAttribI4ubv")); + flextglVertexAttribI4usv = reinterpret_cast(loader.load("glVertexAttribI4usv")); + flextglGetUniformuiv = reinterpret_cast(loader.load("glGetUniformuiv")); + flextglBindFragDataLocation = reinterpret_cast(loader.load("glBindFragDataLocation")); + flextglGetFragDataLocation = reinterpret_cast(loader.load("glGetFragDataLocation")); + flextglUniform1ui = reinterpret_cast(loader.load("glUniform1ui")); + flextglUniform2ui = reinterpret_cast(loader.load("glUniform2ui")); + flextglUniform3ui = reinterpret_cast(loader.load("glUniform3ui")); + flextglUniform4ui = reinterpret_cast(loader.load("glUniform4ui")); + flextglUniform1uiv = reinterpret_cast(loader.load("glUniform1uiv")); + flextglUniform2uiv = reinterpret_cast(loader.load("glUniform2uiv")); + flextglUniform3uiv = reinterpret_cast(loader.load("glUniform3uiv")); + flextglUniform4uiv = reinterpret_cast(loader.load("glUniform4uiv")); + flextglTexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); + flextglTexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); + flextglGetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); + flextglGetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); + flextglClearBufferiv = reinterpret_cast(loader.load("glClearBufferiv")); + flextglClearBufferuiv = reinterpret_cast(loader.load("glClearBufferuiv")); + flextglClearBufferfv = reinterpret_cast(loader.load("glClearBufferfv")); + flextglClearBufferfi = reinterpret_cast(loader.load("glClearBufferfi")); + flextglGetStringi = reinterpret_cast(loader.load("glGetStringi")); + flextglIsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); + flextglBindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); + flextglDeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); + flextglGenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); + flextglRenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); + flextglGetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); + flextglIsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); + flextglBindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); + flextglDeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); + flextglGenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); + flextglCheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); + flextglFramebufferTexture1D = reinterpret_cast(loader.load("glFramebufferTexture1D")); + flextglFramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); + flextglFramebufferTexture3D = reinterpret_cast(loader.load("glFramebufferTexture3D")); + flextglFramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); + flextglGetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); + flextglGenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); + flextglBlitFramebuffer = reinterpret_cast(loader.load("glBlitFramebuffer")); + flextglRenderbufferStorageMultisample = reinterpret_cast(loader.load("glRenderbufferStorageMultisample")); + flextglFramebufferTextureLayer = reinterpret_cast(loader.load("glFramebufferTextureLayer")); + flextglMapBufferRange = reinterpret_cast(loader.load("glMapBufferRange")); + flextglFlushMappedBufferRange = reinterpret_cast(loader.load("glFlushMappedBufferRange")); + flextglBindVertexArray = reinterpret_cast(loader.load("glBindVertexArray")); + flextglDeleteVertexArrays = reinterpret_cast(loader.load("glDeleteVertexArrays")); + flextglGenVertexArrays = reinterpret_cast(loader.load("glGenVertexArrays")); + flextglIsVertexArray = reinterpret_cast(loader.load("glIsVertexArray")); + + /* GL_VERSION_3_1 */ + flextglDrawArraysInstanced = reinterpret_cast(loader.load("glDrawArraysInstanced")); + flextglDrawElementsInstanced = reinterpret_cast(loader.load("glDrawElementsInstanced")); + flextglTexBuffer = reinterpret_cast(loader.load("glTexBuffer")); + flextglPrimitiveRestartIndex = reinterpret_cast(loader.load("glPrimitiveRestartIndex")); + flextglCopyBufferSubData = reinterpret_cast(loader.load("glCopyBufferSubData")); + flextglGetUniformIndices = reinterpret_cast(loader.load("glGetUniformIndices")); + flextglGetActiveUniformsiv = reinterpret_cast(loader.load("glGetActiveUniformsiv")); + flextglGetActiveUniformName = reinterpret_cast(loader.load("glGetActiveUniformName")); + flextglGetUniformBlockIndex = reinterpret_cast(loader.load("glGetUniformBlockIndex")); + flextglGetActiveUniformBlockiv = reinterpret_cast(loader.load("glGetActiveUniformBlockiv")); + flextglGetActiveUniformBlockName = reinterpret_cast(loader.load("glGetActiveUniformBlockName")); + flextglUniformBlockBinding = reinterpret_cast(loader.load("glUniformBlockBinding")); + + /* GL_VERSION_3_2 */ + flextglDrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); + flextglDrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); + flextglDrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); + flextglMultiDrawElementsBaseVertex = reinterpret_cast(loader.load("glMultiDrawElementsBaseVertex")); + flextglProvokingVertex = reinterpret_cast(loader.load("glProvokingVertex")); + flextglFenceSync = reinterpret_cast(loader.load("glFenceSync")); + flextglIsSync = reinterpret_cast(loader.load("glIsSync")); + flextglDeleteSync = reinterpret_cast(loader.load("glDeleteSync")); + flextglClientWaitSync = reinterpret_cast(loader.load("glClientWaitSync")); + flextglWaitSync = reinterpret_cast(loader.load("glWaitSync")); + flextglGetInteger64v = reinterpret_cast(loader.load("glGetInteger64v")); + flextglGetSynciv = reinterpret_cast(loader.load("glGetSynciv")); + flextglGetInteger64i_v = reinterpret_cast(loader.load("glGetInteger64i_v")); + flextglGetBufferParameteri64v = reinterpret_cast(loader.load("glGetBufferParameteri64v")); + flextglFramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); + flextglTexImage2DMultisample = reinterpret_cast(loader.load("glTexImage2DMultisample")); + flextglTexImage3DMultisample = reinterpret_cast(loader.load("glTexImage3DMultisample")); + flextglGetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); + flextglSampleMaski = reinterpret_cast(loader.load("glSampleMaski")); + + /* GL_VERSION_3_3 */ + flextglBindFragDataLocationIndexed = reinterpret_cast(loader.load("glBindFragDataLocationIndexed")); + flextglGetFragDataIndex = reinterpret_cast(loader.load("glGetFragDataIndex")); + flextglGenSamplers = reinterpret_cast(loader.load("glGenSamplers")); + flextglDeleteSamplers = reinterpret_cast(loader.load("glDeleteSamplers")); + flextglIsSampler = reinterpret_cast(loader.load("glIsSampler")); + flextglBindSampler = reinterpret_cast(loader.load("glBindSampler")); + flextglSamplerParameteri = reinterpret_cast(loader.load("glSamplerParameteri")); + flextglSamplerParameteriv = reinterpret_cast(loader.load("glSamplerParameteriv")); + flextglSamplerParameterf = reinterpret_cast(loader.load("glSamplerParameterf")); + flextglSamplerParameterfv = reinterpret_cast(loader.load("glSamplerParameterfv")); + flextglSamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); + flextglSamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); + flextglGetSamplerParameteriv = reinterpret_cast(loader.load("glGetSamplerParameteriv")); + flextglGetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); + flextglGetSamplerParameterfv = reinterpret_cast(loader.load("glGetSamplerParameterfv")); + flextglGetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); + flextglQueryCounter = reinterpret_cast(loader.load("glQueryCounter")); + flextglGetQueryObjecti64v = reinterpret_cast(loader.load("glGetQueryObjecti64v")); + flextglGetQueryObjectui64v = reinterpret_cast(loader.load("glGetQueryObjectui64v")); + 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")); + + /* GL_VERSION_4_0 */ + flextglMinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); + flextglBlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); + flextglBlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); + flextglBlendFunci = reinterpret_cast(loader.load("glBlendFunci")); + flextglBlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); + flextglDrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); + flextglDrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); + flextglUniform1d = reinterpret_cast(loader.load("glUniform1d")); + flextglUniform2d = reinterpret_cast(loader.load("glUniform2d")); + flextglUniform3d = reinterpret_cast(loader.load("glUniform3d")); + flextglUniform4d = reinterpret_cast(loader.load("glUniform4d")); + flextglUniform1dv = reinterpret_cast(loader.load("glUniform1dv")); + flextglUniform2dv = reinterpret_cast(loader.load("glUniform2dv")); + flextglUniform3dv = reinterpret_cast(loader.load("glUniform3dv")); + flextglUniform4dv = reinterpret_cast(loader.load("glUniform4dv")); + flextglUniformMatrix2dv = reinterpret_cast(loader.load("glUniformMatrix2dv")); + flextglUniformMatrix3dv = reinterpret_cast(loader.load("glUniformMatrix3dv")); + flextglUniformMatrix4dv = reinterpret_cast(loader.load("glUniformMatrix4dv")); + flextglUniformMatrix2x3dv = reinterpret_cast(loader.load("glUniformMatrix2x3dv")); + flextglUniformMatrix2x4dv = reinterpret_cast(loader.load("glUniformMatrix2x4dv")); + flextglUniformMatrix3x2dv = reinterpret_cast(loader.load("glUniformMatrix3x2dv")); + flextglUniformMatrix3x4dv = reinterpret_cast(loader.load("glUniformMatrix3x4dv")); + flextglUniformMatrix4x2dv = reinterpret_cast(loader.load("glUniformMatrix4x2dv")); + flextglUniformMatrix4x3dv = reinterpret_cast(loader.load("glUniformMatrix4x3dv")); + flextglGetUniformdv = reinterpret_cast(loader.load("glGetUniformdv")); + flextglGetSubroutineUniformLocation = reinterpret_cast(loader.load("glGetSubroutineUniformLocation")); + flextglGetSubroutineIndex = reinterpret_cast(loader.load("glGetSubroutineIndex")); + flextglGetActiveSubroutineUniformiv = reinterpret_cast(loader.load("glGetActiveSubroutineUniformiv")); + flextglGetActiveSubroutineUniformName = reinterpret_cast(loader.load("glGetActiveSubroutineUniformName")); + flextglGetActiveSubroutineName = reinterpret_cast(loader.load("glGetActiveSubroutineName")); + flextglUniformSubroutinesuiv = reinterpret_cast(loader.load("glUniformSubroutinesuiv")); + flextglGetUniformSubroutineuiv = reinterpret_cast(loader.load("glGetUniformSubroutineuiv")); + flextglGetProgramStageiv = reinterpret_cast(loader.load("glGetProgramStageiv")); + flextglPatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); + flextglPatchParameterfv = reinterpret_cast(loader.load("glPatchParameterfv")); + flextglBindTransformFeedback = reinterpret_cast(loader.load("glBindTransformFeedback")); + flextglDeleteTransformFeedbacks = reinterpret_cast(loader.load("glDeleteTransformFeedbacks")); + flextglGenTransformFeedbacks = reinterpret_cast(loader.load("glGenTransformFeedbacks")); + flextglIsTransformFeedback = reinterpret_cast(loader.load("glIsTransformFeedback")); + flextglPauseTransformFeedback = reinterpret_cast(loader.load("glPauseTransformFeedback")); + flextglResumeTransformFeedback = reinterpret_cast(loader.load("glResumeTransformFeedback")); + flextglDrawTransformFeedback = reinterpret_cast(loader.load("glDrawTransformFeedback")); + flextglDrawTransformFeedbackStream = reinterpret_cast(loader.load("glDrawTransformFeedbackStream")); + flextglBeginQueryIndexed = reinterpret_cast(loader.load("glBeginQueryIndexed")); + flextglEndQueryIndexed = reinterpret_cast(loader.load("glEndQueryIndexed")); + flextglGetQueryIndexediv = reinterpret_cast(loader.load("glGetQueryIndexediv")); + + /* GL_VERSION_4_1 */ + flextglReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); + flextglShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); + flextglGetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); + flextglDepthRangef = reinterpret_cast(loader.load("glDepthRangef")); + flextglClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); + flextglGetProgramBinary = reinterpret_cast(loader.load("glGetProgramBinary")); + flextglProgramBinary = reinterpret_cast(loader.load("glProgramBinary")); + flextglProgramParameteri = reinterpret_cast(loader.load("glProgramParameteri")); + flextglUseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); + flextglActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); + flextglCreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); + flextglBindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); + flextglDeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); + flextglGenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); + flextglIsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); + flextglGetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); + flextglProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); + flextglProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); + flextglProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); + flextglProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); + flextglProgramUniform1d = reinterpret_cast(loader.load("glProgramUniform1d")); + flextglProgramUniform1dv = reinterpret_cast(loader.load("glProgramUniform1dv")); + flextglProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); + flextglProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); + flextglProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); + flextglProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); + flextglProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); + flextglProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); + flextglProgramUniform2d = reinterpret_cast(loader.load("glProgramUniform2d")); + flextglProgramUniform2dv = reinterpret_cast(loader.load("glProgramUniform2dv")); + flextglProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); + flextglProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); + flextglProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); + flextglProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); + flextglProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); + flextglProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); + flextglProgramUniform3d = reinterpret_cast(loader.load("glProgramUniform3d")); + flextglProgramUniform3dv = reinterpret_cast(loader.load("glProgramUniform3dv")); + flextglProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); + flextglProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); + flextglProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); + flextglProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); + flextglProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); + flextglProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); + flextglProgramUniform4d = reinterpret_cast(loader.load("glProgramUniform4d")); + flextglProgramUniform4dv = reinterpret_cast(loader.load("glProgramUniform4dv")); + flextglProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); + flextglProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); + flextglProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); + flextglProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); + flextglProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); + flextglProgramUniformMatrix2dv = reinterpret_cast(loader.load("glProgramUniformMatrix2dv")); + flextglProgramUniformMatrix3dv = reinterpret_cast(loader.load("glProgramUniformMatrix3dv")); + flextglProgramUniformMatrix4dv = reinterpret_cast(loader.load("glProgramUniformMatrix4dv")); + flextglProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); + flextglProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); + flextglProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); + flextglProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); + flextglProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); + flextglProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); + flextglProgramUniformMatrix2x3dv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3dv")); + flextglProgramUniformMatrix3x2dv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2dv")); + flextglProgramUniformMatrix2x4dv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4dv")); + flextglProgramUniformMatrix4x2dv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2dv")); + flextglProgramUniformMatrix3x4dv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4dv")); + flextglProgramUniformMatrix4x3dv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3dv")); + flextglValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); + flextglGetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); + flextglVertexAttribL1d = reinterpret_cast(loader.load("glVertexAttribL1d")); + flextglVertexAttribL2d = reinterpret_cast(loader.load("glVertexAttribL2d")); + flextglVertexAttribL3d = reinterpret_cast(loader.load("glVertexAttribL3d")); + flextglVertexAttribL4d = reinterpret_cast(loader.load("glVertexAttribL4d")); + flextglVertexAttribL1dv = reinterpret_cast(loader.load("glVertexAttribL1dv")); + flextglVertexAttribL2dv = reinterpret_cast(loader.load("glVertexAttribL2dv")); + flextglVertexAttribL3dv = reinterpret_cast(loader.load("glVertexAttribL3dv")); + flextglVertexAttribL4dv = reinterpret_cast(loader.load("glVertexAttribL4dv")); + flextglVertexAttribLPointer = reinterpret_cast(loader.load("glVertexAttribLPointer")); + flextglGetVertexAttribLdv = reinterpret_cast(loader.load("glGetVertexAttribLdv")); + flextglViewportArrayv = reinterpret_cast(loader.load("glViewportArrayv")); + flextglViewportIndexedf = reinterpret_cast(loader.load("glViewportIndexedf")); + flextglViewportIndexedfv = reinterpret_cast(loader.load("glViewportIndexedfv")); + flextglScissorArrayv = reinterpret_cast(loader.load("glScissorArrayv")); + flextglScissorIndexed = reinterpret_cast(loader.load("glScissorIndexed")); + flextglScissorIndexedv = reinterpret_cast(loader.load("glScissorIndexedv")); + flextglDepthRangeArrayv = reinterpret_cast(loader.load("glDepthRangeArrayv")); + flextglDepthRangeIndexed = reinterpret_cast(loader.load("glDepthRangeIndexed")); + flextglGetFloati_v = reinterpret_cast(loader.load("glGetFloati_v")); + flextglGetDoublei_v = reinterpret_cast(loader.load("glGetDoublei_v")); + + /* GL_VERSION_4_2 */ + flextglDrawArraysInstancedBaseInstance = reinterpret_cast(loader.load("glDrawArraysInstancedBaseInstance")); + flextglDrawElementsInstancedBaseInstance = reinterpret_cast(loader.load("glDrawElementsInstancedBaseInstance")); + flextglDrawElementsInstancedBaseVertexBaseInstance = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertexBaseInstance")); + flextglGetInternalformativ = reinterpret_cast(loader.load("glGetInternalformativ")); + flextglGetActiveAtomicCounterBufferiv = reinterpret_cast(loader.load("glGetActiveAtomicCounterBufferiv")); + flextglBindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); + flextglMemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); + flextglTexStorage1D = reinterpret_cast(loader.load("glTexStorage1D")); + flextglTexStorage2D = reinterpret_cast(loader.load("glTexStorage2D")); + flextglTexStorage3D = reinterpret_cast(loader.load("glTexStorage3D")); + flextglDrawTransformFeedbackInstanced = reinterpret_cast(loader.load("glDrawTransformFeedbackInstanced")); + flextglDrawTransformFeedbackStreamInstanced = reinterpret_cast(loader.load("glDrawTransformFeedbackStreamInstanced")); + + /* GL_VERSION_4_3 */ + flextglClearBufferData = reinterpret_cast(loader.load("glClearBufferData")); + flextglClearBufferSubData = reinterpret_cast(loader.load("glClearBufferSubData")); + flextglDispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); + flextglDispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); + flextglCopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); + flextglFramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); + flextglGetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); + flextglGetInternalformati64v = reinterpret_cast(loader.load("glGetInternalformati64v")); + flextglInvalidateTexSubImage = reinterpret_cast(loader.load("glInvalidateTexSubImage")); + flextglInvalidateTexImage = reinterpret_cast(loader.load("glInvalidateTexImage")); + flextglInvalidateBufferSubData = reinterpret_cast(loader.load("glInvalidateBufferSubData")); + flextglInvalidateBufferData = reinterpret_cast(loader.load("glInvalidateBufferData")); + flextglInvalidateFramebuffer = reinterpret_cast(loader.load("glInvalidateFramebuffer")); + flextglInvalidateSubFramebuffer = reinterpret_cast(loader.load("glInvalidateSubFramebuffer")); + flextglMultiDrawArraysIndirect = reinterpret_cast(loader.load("glMultiDrawArraysIndirect")); + flextglMultiDrawElementsIndirect = reinterpret_cast(loader.load("glMultiDrawElementsIndirect")); + flextglGetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); + flextglGetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); + flextglGetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); + flextglGetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); + flextglGetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); + flextglGetProgramResourceLocationIndex = reinterpret_cast(loader.load("glGetProgramResourceLocationIndex")); + 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")); + flextglBindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); + flextglVertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); + flextglVertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); + flextglVertexAttribLFormat = reinterpret_cast(loader.load("glVertexAttribLFormat")); + flextglVertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); + flextglVertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); + flextglDebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); + flextglDebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); + flextglDebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); + flextglGetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); + flextglPushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); + flextglPopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); + flextglObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); + flextglGetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); + flextglObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); + flextglGetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); + flextglGetPointerv = reinterpret_cast(loader.load("glGetPointerv")); + + /* GL_VERSION_4_4 */ + flextglBufferStorage = reinterpret_cast(loader.load("glBufferStorage")); + flextglClearTexImage = reinterpret_cast(loader.load("glClearTexImage")); + flextglClearTexSubImage = reinterpret_cast(loader.load("glClearTexSubImage")); + flextglBindBuffersBase = reinterpret_cast(loader.load("glBindBuffersBase")); + flextglBindBuffersRange = reinterpret_cast(loader.load("glBindBuffersRange")); + flextglBindTextures = reinterpret_cast(loader.load("glBindTextures")); + flextglBindSamplers = reinterpret_cast(loader.load("glBindSamplers")); + flextglBindImageTextures = reinterpret_cast(loader.load("glBindImageTextures")); + flextglBindVertexBuffers = reinterpret_cast(loader.load("glBindVertexBuffers")); + + /* GL_AMD_vertex_shader_layer */ + + /* GL_AMD_shader_trinary_minmax */ + + /* GL_ARB_robustness */ + flextglGetGraphicsResetStatusARB = reinterpret_cast(loader.load("glGetGraphicsResetStatusARB")); + flextglGetnTexImageARB = reinterpret_cast(loader.load("glGetnTexImageARB")); + flextglReadnPixelsARB = reinterpret_cast(loader.load("glReadnPixelsARB")); + flextglGetnCompressedTexImageARB = reinterpret_cast(loader.load("glGetnCompressedTexImageARB")); + flextglGetnUniformfvARB = reinterpret_cast(loader.load("glGetnUniformfvARB")); + flextglGetnUniformivARB = reinterpret_cast(loader.load("glGetnUniformivARB")); + flextglGetnUniformuivARB = reinterpret_cast(loader.load("glGetnUniformuivARB")); + flextglGetnUniformdvARB = reinterpret_cast(loader.load("glGetnUniformdvARB")); + flextglGetnMapdvARB = reinterpret_cast(loader.load("glGetnMapdvARB")); + flextglGetnMapfvARB = reinterpret_cast(loader.load("glGetnMapfvARB")); + flextglGetnMapivARB = reinterpret_cast(loader.load("glGetnMapivARB")); + flextglGetnPixelMapfvARB = reinterpret_cast(loader.load("glGetnPixelMapfvARB")); + flextglGetnPixelMapuivARB = reinterpret_cast(loader.load("glGetnPixelMapuivARB")); + flextglGetnPixelMapusvARB = reinterpret_cast(loader.load("glGetnPixelMapusvARB")); + flextglGetnPolygonStippleARB = reinterpret_cast(loader.load("glGetnPolygonStippleARB")); + flextglGetnColorTableARB = reinterpret_cast(loader.load("glGetnColorTableARB")); + flextglGetnConvolutionFilterARB = reinterpret_cast(loader.load("glGetnConvolutionFilterARB")); + flextglGetnSeparableFilterARB = reinterpret_cast(loader.load("glGetnSeparableFilterARB")); + flextglGetnHistogramARB = reinterpret_cast(loader.load("glGetnHistogramARB")); + flextglGetnMinmaxARB = reinterpret_cast(loader.load("glGetnMinmaxARB")); + + /* GL_ATI_texture_mirror_once */ + + /* GL_EXT_texture_filter_anisotropic */ + + /* GL_EXT_texture_mirror_clamp */ + + /* GL_EXT_direct_state_access */ + flextglMatrixLoadfEXT = reinterpret_cast(loader.load("glMatrixLoadfEXT")); + flextglMatrixLoaddEXT = reinterpret_cast(loader.load("glMatrixLoaddEXT")); + flextglMatrixMultfEXT = reinterpret_cast(loader.load("glMatrixMultfEXT")); + flextglMatrixMultdEXT = reinterpret_cast(loader.load("glMatrixMultdEXT")); + flextglMatrixLoadIdentityEXT = reinterpret_cast(loader.load("glMatrixLoadIdentityEXT")); + flextglMatrixRotatefEXT = reinterpret_cast(loader.load("glMatrixRotatefEXT")); + flextglMatrixRotatedEXT = reinterpret_cast(loader.load("glMatrixRotatedEXT")); + flextglMatrixScalefEXT = reinterpret_cast(loader.load("glMatrixScalefEXT")); + flextglMatrixScaledEXT = reinterpret_cast(loader.load("glMatrixScaledEXT")); + flextglMatrixTranslatefEXT = reinterpret_cast(loader.load("glMatrixTranslatefEXT")); + flextglMatrixTranslatedEXT = reinterpret_cast(loader.load("glMatrixTranslatedEXT")); + flextglMatrixFrustumEXT = reinterpret_cast(loader.load("glMatrixFrustumEXT")); + flextglMatrixOrthoEXT = reinterpret_cast(loader.load("glMatrixOrthoEXT")); + flextglMatrixPopEXT = reinterpret_cast(loader.load("glMatrixPopEXT")); + flextglMatrixPushEXT = reinterpret_cast(loader.load("glMatrixPushEXT")); + flextglClientAttribDefaultEXT = reinterpret_cast(loader.load("glClientAttribDefaultEXT")); + flextglPushClientAttribDefaultEXT = reinterpret_cast(loader.load("glPushClientAttribDefaultEXT")); + flextglTextureParameterfEXT = reinterpret_cast(loader.load("glTextureParameterfEXT")); + flextglTextureParameterfvEXT = reinterpret_cast(loader.load("glTextureParameterfvEXT")); + flextglTextureParameteriEXT = reinterpret_cast(loader.load("glTextureParameteriEXT")); + flextglTextureParameterivEXT = reinterpret_cast(loader.load("glTextureParameterivEXT")); + flextglTextureImage1DEXT = reinterpret_cast(loader.load("glTextureImage1DEXT")); + flextglTextureImage2DEXT = reinterpret_cast(loader.load("glTextureImage2DEXT")); + flextglTextureSubImage1DEXT = reinterpret_cast(loader.load("glTextureSubImage1DEXT")); + flextglTextureSubImage2DEXT = reinterpret_cast(loader.load("glTextureSubImage2DEXT")); + flextglCopyTextureImage1DEXT = reinterpret_cast(loader.load("glCopyTextureImage1DEXT")); + flextglCopyTextureImage2DEXT = reinterpret_cast(loader.load("glCopyTextureImage2DEXT")); + flextglCopyTextureSubImage1DEXT = reinterpret_cast(loader.load("glCopyTextureSubImage1DEXT")); + flextglCopyTextureSubImage2DEXT = reinterpret_cast(loader.load("glCopyTextureSubImage2DEXT")); + flextglGetTextureImageEXT = reinterpret_cast(loader.load("glGetTextureImageEXT")); + flextglGetTextureParameterfvEXT = reinterpret_cast(loader.load("glGetTextureParameterfvEXT")); + flextglGetTextureParameterivEXT = reinterpret_cast(loader.load("glGetTextureParameterivEXT")); + flextglGetTextureLevelParameterfvEXT = reinterpret_cast(loader.load("glGetTextureLevelParameterfvEXT")); + flextglGetTextureLevelParameterivEXT = reinterpret_cast(loader.load("glGetTextureLevelParameterivEXT")); + flextglTextureImage3DEXT = reinterpret_cast(loader.load("glTextureImage3DEXT")); + flextglTextureSubImage3DEXT = reinterpret_cast(loader.load("glTextureSubImage3DEXT")); + flextglCopyTextureSubImage3DEXT = reinterpret_cast(loader.load("glCopyTextureSubImage3DEXT")); + flextglBindMultiTextureEXT = reinterpret_cast(loader.load("glBindMultiTextureEXT")); + flextglMultiTexCoordPointerEXT = reinterpret_cast(loader.load("glMultiTexCoordPointerEXT")); + flextglMultiTexEnvfEXT = reinterpret_cast(loader.load("glMultiTexEnvfEXT")); + flextglMultiTexEnvfvEXT = reinterpret_cast(loader.load("glMultiTexEnvfvEXT")); + flextglMultiTexEnviEXT = reinterpret_cast(loader.load("glMultiTexEnviEXT")); + flextglMultiTexEnvivEXT = reinterpret_cast(loader.load("glMultiTexEnvivEXT")); + flextglMultiTexGendEXT = reinterpret_cast(loader.load("glMultiTexGendEXT")); + flextglMultiTexGendvEXT = reinterpret_cast(loader.load("glMultiTexGendvEXT")); + flextglMultiTexGenfEXT = reinterpret_cast(loader.load("glMultiTexGenfEXT")); + flextglMultiTexGenfvEXT = reinterpret_cast(loader.load("glMultiTexGenfvEXT")); + flextglMultiTexGeniEXT = reinterpret_cast(loader.load("glMultiTexGeniEXT")); + flextglMultiTexGenivEXT = reinterpret_cast(loader.load("glMultiTexGenivEXT")); + flextglGetMultiTexEnvfvEXT = reinterpret_cast(loader.load("glGetMultiTexEnvfvEXT")); + flextglGetMultiTexEnvivEXT = reinterpret_cast(loader.load("glGetMultiTexEnvivEXT")); + flextglGetMultiTexGendvEXT = reinterpret_cast(loader.load("glGetMultiTexGendvEXT")); + flextglGetMultiTexGenfvEXT = reinterpret_cast(loader.load("glGetMultiTexGenfvEXT")); + flextglGetMultiTexGenivEXT = reinterpret_cast(loader.load("glGetMultiTexGenivEXT")); + flextglMultiTexParameteriEXT = reinterpret_cast(loader.load("glMultiTexParameteriEXT")); + flextglMultiTexParameterivEXT = reinterpret_cast(loader.load("glMultiTexParameterivEXT")); + flextglMultiTexParameterfEXT = reinterpret_cast(loader.load("glMultiTexParameterfEXT")); + flextglMultiTexParameterfvEXT = reinterpret_cast(loader.load("glMultiTexParameterfvEXT")); + flextglMultiTexImage1DEXT = reinterpret_cast(loader.load("glMultiTexImage1DEXT")); + flextglMultiTexImage2DEXT = reinterpret_cast(loader.load("glMultiTexImage2DEXT")); + flextglMultiTexSubImage1DEXT = reinterpret_cast(loader.load("glMultiTexSubImage1DEXT")); + flextglMultiTexSubImage2DEXT = reinterpret_cast(loader.load("glMultiTexSubImage2DEXT")); + flextglCopyMultiTexImage1DEXT = reinterpret_cast(loader.load("glCopyMultiTexImage1DEXT")); + flextglCopyMultiTexImage2DEXT = reinterpret_cast(loader.load("glCopyMultiTexImage2DEXT")); + flextglCopyMultiTexSubImage1DEXT = reinterpret_cast(loader.load("glCopyMultiTexSubImage1DEXT")); + flextglCopyMultiTexSubImage2DEXT = reinterpret_cast(loader.load("glCopyMultiTexSubImage2DEXT")); + flextglGetMultiTexImageEXT = reinterpret_cast(loader.load("glGetMultiTexImageEXT")); + flextglGetMultiTexParameterfvEXT = reinterpret_cast(loader.load("glGetMultiTexParameterfvEXT")); + flextglGetMultiTexParameterivEXT = reinterpret_cast(loader.load("glGetMultiTexParameterivEXT")); + flextglGetMultiTexLevelParameterfvEXT = reinterpret_cast(loader.load("glGetMultiTexLevelParameterfvEXT")); + flextglGetMultiTexLevelParameterivEXT = reinterpret_cast(loader.load("glGetMultiTexLevelParameterivEXT")); + flextglMultiTexImage3DEXT = reinterpret_cast(loader.load("glMultiTexImage3DEXT")); + flextglMultiTexSubImage3DEXT = reinterpret_cast(loader.load("glMultiTexSubImage3DEXT")); + flextglCopyMultiTexSubImage3DEXT = reinterpret_cast(loader.load("glCopyMultiTexSubImage3DEXT")); + flextglEnableClientStateIndexedEXT = reinterpret_cast(loader.load("glEnableClientStateIndexedEXT")); + flextglDisableClientStateIndexedEXT = reinterpret_cast(loader.load("glDisableClientStateIndexedEXT")); + flextglGetFloatIndexedvEXT = reinterpret_cast(loader.load("glGetFloatIndexedvEXT")); + flextglGetDoubleIndexedvEXT = reinterpret_cast(loader.load("glGetDoubleIndexedvEXT")); + flextglGetPointerIndexedvEXT = reinterpret_cast(loader.load("glGetPointerIndexedvEXT")); + flextglEnableIndexedEXT = reinterpret_cast(loader.load("glEnableIndexedEXT")); + flextglDisableIndexedEXT = reinterpret_cast(loader.load("glDisableIndexedEXT")); + flextglIsEnabledIndexedEXT = reinterpret_cast(loader.load("glIsEnabledIndexedEXT")); + flextglGetIntegerIndexedvEXT = reinterpret_cast(loader.load("glGetIntegerIndexedvEXT")); + flextglGetBooleanIndexedvEXT = reinterpret_cast(loader.load("glGetBooleanIndexedvEXT")); + flextglCompressedTextureImage3DEXT = reinterpret_cast(loader.load("glCompressedTextureImage3DEXT")); + flextglCompressedTextureImage2DEXT = reinterpret_cast(loader.load("glCompressedTextureImage2DEXT")); + flextglCompressedTextureImage1DEXT = reinterpret_cast(loader.load("glCompressedTextureImage1DEXT")); + flextglCompressedTextureSubImage3DEXT = reinterpret_cast(loader.load("glCompressedTextureSubImage3DEXT")); + flextglCompressedTextureSubImage2DEXT = reinterpret_cast(loader.load("glCompressedTextureSubImage2DEXT")); + flextglCompressedTextureSubImage1DEXT = reinterpret_cast(loader.load("glCompressedTextureSubImage1DEXT")); + flextglGetCompressedTextureImageEXT = reinterpret_cast(loader.load("glGetCompressedTextureImageEXT")); + flextglCompressedMultiTexImage3DEXT = reinterpret_cast(loader.load("glCompressedMultiTexImage3DEXT")); + flextglCompressedMultiTexImage2DEXT = reinterpret_cast(loader.load("glCompressedMultiTexImage2DEXT")); + flextglCompressedMultiTexImage1DEXT = reinterpret_cast(loader.load("glCompressedMultiTexImage1DEXT")); + flextglCompressedMultiTexSubImage3DEXT = reinterpret_cast(loader.load("glCompressedMultiTexSubImage3DEXT")); + flextglCompressedMultiTexSubImage2DEXT = reinterpret_cast(loader.load("glCompressedMultiTexSubImage2DEXT")); + flextglCompressedMultiTexSubImage1DEXT = reinterpret_cast(loader.load("glCompressedMultiTexSubImage1DEXT")); + flextglGetCompressedMultiTexImageEXT = reinterpret_cast(loader.load("glGetCompressedMultiTexImageEXT")); + flextglMatrixLoadTransposefEXT = reinterpret_cast(loader.load("glMatrixLoadTransposefEXT")); + flextglMatrixLoadTransposedEXT = reinterpret_cast(loader.load("glMatrixLoadTransposedEXT")); + flextglMatrixMultTransposefEXT = reinterpret_cast(loader.load("glMatrixMultTransposefEXT")); + flextglMatrixMultTransposedEXT = reinterpret_cast(loader.load("glMatrixMultTransposedEXT")); + flextglNamedBufferDataEXT = reinterpret_cast(loader.load("glNamedBufferDataEXT")); + flextglNamedBufferSubDataEXT = reinterpret_cast(loader.load("glNamedBufferSubDataEXT")); + flextglMapNamedBufferEXT = reinterpret_cast(loader.load("glMapNamedBufferEXT")); + flextglUnmapNamedBufferEXT = reinterpret_cast(loader.load("glUnmapNamedBufferEXT")); + flextglGetNamedBufferParameterivEXT = reinterpret_cast(loader.load("glGetNamedBufferParameterivEXT")); + flextglGetNamedBufferPointervEXT = reinterpret_cast(loader.load("glGetNamedBufferPointervEXT")); + flextglGetNamedBufferSubDataEXT = reinterpret_cast(loader.load("glGetNamedBufferSubDataEXT")); + flextglProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); + flextglProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); + flextglProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); + flextglProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); + flextglProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); + flextglProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); + flextglProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); + flextglProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); + flextglProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); + flextglProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); + flextglProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); + flextglProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); + flextglProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); + flextglProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); + flextglProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); + flextglProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); + flextglProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); + flextglProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); + flextglProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); + flextglProgramUniformMatrix2x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fvEXT")); + flextglProgramUniformMatrix3x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fvEXT")); + flextglProgramUniformMatrix2x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fvEXT")); + flextglProgramUniformMatrix4x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fvEXT")); + flextglProgramUniformMatrix3x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fvEXT")); + flextglProgramUniformMatrix4x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fvEXT")); + flextglTextureBufferEXT = reinterpret_cast(loader.load("glTextureBufferEXT")); + flextglMultiTexBufferEXT = reinterpret_cast(loader.load("glMultiTexBufferEXT")); + flextglTextureParameterIivEXT = reinterpret_cast(loader.load("glTextureParameterIivEXT")); + flextglTextureParameterIuivEXT = reinterpret_cast(loader.load("glTextureParameterIuivEXT")); + flextglGetTextureParameterIivEXT = reinterpret_cast(loader.load("glGetTextureParameterIivEXT")); + flextglGetTextureParameterIuivEXT = reinterpret_cast(loader.load("glGetTextureParameterIuivEXT")); + flextglMultiTexParameterIivEXT = reinterpret_cast(loader.load("glMultiTexParameterIivEXT")); + flextglMultiTexParameterIuivEXT = reinterpret_cast(loader.load("glMultiTexParameterIuivEXT")); + flextglGetMultiTexParameterIivEXT = reinterpret_cast(loader.load("glGetMultiTexParameterIivEXT")); + flextglGetMultiTexParameterIuivEXT = reinterpret_cast(loader.load("glGetMultiTexParameterIuivEXT")); + flextglProgramUniform1uiEXT = reinterpret_cast(loader.load("glProgramUniform1uiEXT")); + flextglProgramUniform2uiEXT = reinterpret_cast(loader.load("glProgramUniform2uiEXT")); + flextglProgramUniform3uiEXT = reinterpret_cast(loader.load("glProgramUniform3uiEXT")); + flextglProgramUniform4uiEXT = reinterpret_cast(loader.load("glProgramUniform4uiEXT")); + flextglProgramUniform1uivEXT = reinterpret_cast(loader.load("glProgramUniform1uivEXT")); + flextglProgramUniform2uivEXT = reinterpret_cast(loader.load("glProgramUniform2uivEXT")); + flextglProgramUniform3uivEXT = reinterpret_cast(loader.load("glProgramUniform3uivEXT")); + flextglProgramUniform4uivEXT = reinterpret_cast(loader.load("glProgramUniform4uivEXT")); + flextglNamedProgramLocalParameters4fvEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameters4fvEXT")); + flextglNamedProgramLocalParameterI4iEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameterI4iEXT")); + flextglNamedProgramLocalParameterI4ivEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameterI4ivEXT")); + flextglNamedProgramLocalParametersI4ivEXT = reinterpret_cast(loader.load("glNamedProgramLocalParametersI4ivEXT")); + flextglNamedProgramLocalParameterI4uiEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameterI4uiEXT")); + flextglNamedProgramLocalParameterI4uivEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameterI4uivEXT")); + flextglNamedProgramLocalParametersI4uivEXT = reinterpret_cast(loader.load("glNamedProgramLocalParametersI4uivEXT")); + flextglGetNamedProgramLocalParameterIivEXT = reinterpret_cast(loader.load("glGetNamedProgramLocalParameterIivEXT")); + flextglGetNamedProgramLocalParameterIuivEXT = reinterpret_cast(loader.load("glGetNamedProgramLocalParameterIuivEXT")); + flextglEnableClientStateiEXT = reinterpret_cast(loader.load("glEnableClientStateiEXT")); + flextglDisableClientStateiEXT = reinterpret_cast(loader.load("glDisableClientStateiEXT")); + flextglGetFloati_vEXT = reinterpret_cast(loader.load("glGetFloati_vEXT")); + flextglGetDoublei_vEXT = reinterpret_cast(loader.load("glGetDoublei_vEXT")); + flextglGetPointeri_vEXT = reinterpret_cast(loader.load("glGetPointeri_vEXT")); + flextglNamedProgramStringEXT = reinterpret_cast(loader.load("glNamedProgramStringEXT")); + flextglNamedProgramLocalParameter4dEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameter4dEXT")); + flextglNamedProgramLocalParameter4dvEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameter4dvEXT")); + flextglNamedProgramLocalParameter4fEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameter4fEXT")); + flextglNamedProgramLocalParameter4fvEXT = reinterpret_cast(loader.load("glNamedProgramLocalParameter4fvEXT")); + flextglGetNamedProgramLocalParameterdvEXT = reinterpret_cast(loader.load("glGetNamedProgramLocalParameterdvEXT")); + flextglGetNamedProgramLocalParameterfvEXT = reinterpret_cast(loader.load("glGetNamedProgramLocalParameterfvEXT")); + flextglGetNamedProgramivEXT = reinterpret_cast(loader.load("glGetNamedProgramivEXT")); + flextglGetNamedProgramStringEXT = reinterpret_cast(loader.load("glGetNamedProgramStringEXT")); + flextglNamedRenderbufferStorageEXT = reinterpret_cast(loader.load("glNamedRenderbufferStorageEXT")); + flextglGetNamedRenderbufferParameterivEXT = reinterpret_cast(loader.load("glGetNamedRenderbufferParameterivEXT")); + flextglNamedRenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glNamedRenderbufferStorageMultisampleEXT")); + flextglNamedRenderbufferStorageMultisampleCoverageEXT = reinterpret_cast(loader.load("glNamedRenderbufferStorageMultisampleCoverageEXT")); + flextglCheckNamedFramebufferStatusEXT = reinterpret_cast(loader.load("glCheckNamedFramebufferStatusEXT")); + flextglNamedFramebufferTexture1DEXT = reinterpret_cast(loader.load("glNamedFramebufferTexture1DEXT")); + flextglNamedFramebufferTexture2DEXT = reinterpret_cast(loader.load("glNamedFramebufferTexture2DEXT")); + flextglNamedFramebufferTexture3DEXT = reinterpret_cast(loader.load("glNamedFramebufferTexture3DEXT")); + flextglNamedFramebufferRenderbufferEXT = reinterpret_cast(loader.load("glNamedFramebufferRenderbufferEXT")); + flextglGetNamedFramebufferAttachmentParameterivEXT = reinterpret_cast(loader.load("glGetNamedFramebufferAttachmentParameterivEXT")); + flextglGenerateTextureMipmapEXT = reinterpret_cast(loader.load("glGenerateTextureMipmapEXT")); + flextglGenerateMultiTexMipmapEXT = reinterpret_cast(loader.load("glGenerateMultiTexMipmapEXT")); + flextglFramebufferDrawBufferEXT = reinterpret_cast(loader.load("glFramebufferDrawBufferEXT")); + flextglFramebufferDrawBuffersEXT = reinterpret_cast(loader.load("glFramebufferDrawBuffersEXT")); + flextglFramebufferReadBufferEXT = reinterpret_cast(loader.load("glFramebufferReadBufferEXT")); + flextglGetFramebufferParameterivEXT = reinterpret_cast(loader.load("glGetFramebufferParameterivEXT")); + flextglNamedCopyBufferSubDataEXT = reinterpret_cast(loader.load("glNamedCopyBufferSubDataEXT")); + flextglNamedFramebufferTextureEXT = reinterpret_cast(loader.load("glNamedFramebufferTextureEXT")); + flextglNamedFramebufferTextureLayerEXT = reinterpret_cast(loader.load("glNamedFramebufferTextureLayerEXT")); + flextglNamedFramebufferTextureFaceEXT = reinterpret_cast(loader.load("glNamedFramebufferTextureFaceEXT")); + flextglTextureRenderbufferEXT = reinterpret_cast(loader.load("glTextureRenderbufferEXT")); + flextglMultiTexRenderbufferEXT = reinterpret_cast(loader.load("glMultiTexRenderbufferEXT")); + flextglVertexArrayVertexOffsetEXT = reinterpret_cast(loader.load("glVertexArrayVertexOffsetEXT")); + flextglVertexArrayColorOffsetEXT = reinterpret_cast(loader.load("glVertexArrayColorOffsetEXT")); + flextglVertexArrayEdgeFlagOffsetEXT = reinterpret_cast(loader.load("glVertexArrayEdgeFlagOffsetEXT")); + flextglVertexArrayIndexOffsetEXT = reinterpret_cast(loader.load("glVertexArrayIndexOffsetEXT")); + flextglVertexArrayNormalOffsetEXT = reinterpret_cast(loader.load("glVertexArrayNormalOffsetEXT")); + flextglVertexArrayTexCoordOffsetEXT = reinterpret_cast(loader.load("glVertexArrayTexCoordOffsetEXT")); + flextglVertexArrayMultiTexCoordOffsetEXT = reinterpret_cast(loader.load("glVertexArrayMultiTexCoordOffsetEXT")); + flextglVertexArrayFogCoordOffsetEXT = reinterpret_cast(loader.load("glVertexArrayFogCoordOffsetEXT")); + flextglVertexArraySecondaryColorOffsetEXT = reinterpret_cast(loader.load("glVertexArraySecondaryColorOffsetEXT")); + flextglVertexArrayVertexAttribOffsetEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribOffsetEXT")); + flextglVertexArrayVertexAttribIOffsetEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribIOffsetEXT")); + flextglEnableVertexArrayEXT = reinterpret_cast(loader.load("glEnableVertexArrayEXT")); + flextglDisableVertexArrayEXT = reinterpret_cast(loader.load("glDisableVertexArrayEXT")); + flextglEnableVertexArrayAttribEXT = reinterpret_cast(loader.load("glEnableVertexArrayAttribEXT")); + flextglDisableVertexArrayAttribEXT = reinterpret_cast(loader.load("glDisableVertexArrayAttribEXT")); + flextglGetVertexArrayIntegervEXT = reinterpret_cast(loader.load("glGetVertexArrayIntegervEXT")); + flextglGetVertexArrayPointervEXT = reinterpret_cast(loader.load("glGetVertexArrayPointervEXT")); + flextglGetVertexArrayIntegeri_vEXT = reinterpret_cast(loader.load("glGetVertexArrayIntegeri_vEXT")); + flextglGetVertexArrayPointeri_vEXT = reinterpret_cast(loader.load("glGetVertexArrayPointeri_vEXT")); + flextglMapNamedBufferRangeEXT = reinterpret_cast(loader.load("glMapNamedBufferRangeEXT")); + flextglFlushMappedNamedBufferRangeEXT = reinterpret_cast(loader.load("glFlushMappedNamedBufferRangeEXT")); + flextglNamedBufferStorageEXT = reinterpret_cast(loader.load("glNamedBufferStorageEXT")); + flextglClearNamedBufferDataEXT = reinterpret_cast(loader.load("glClearNamedBufferDataEXT")); + flextglClearNamedBufferSubDataEXT = reinterpret_cast(loader.load("glClearNamedBufferSubDataEXT")); + flextglNamedFramebufferParameteriEXT = reinterpret_cast(loader.load("glNamedFramebufferParameteriEXT")); + flextglGetNamedFramebufferParameterivEXT = reinterpret_cast(loader.load("glGetNamedFramebufferParameterivEXT")); + flextglProgramUniform1dEXT = reinterpret_cast(loader.load("glProgramUniform1dEXT")); + flextglProgramUniform2dEXT = reinterpret_cast(loader.load("glProgramUniform2dEXT")); + flextglProgramUniform3dEXT = reinterpret_cast(loader.load("glProgramUniform3dEXT")); + flextglProgramUniform4dEXT = reinterpret_cast(loader.load("glProgramUniform4dEXT")); + flextglProgramUniform1dvEXT = reinterpret_cast(loader.load("glProgramUniform1dvEXT")); + flextglProgramUniform2dvEXT = reinterpret_cast(loader.load("glProgramUniform2dvEXT")); + flextglProgramUniform3dvEXT = reinterpret_cast(loader.load("glProgramUniform3dvEXT")); + flextglProgramUniform4dvEXT = reinterpret_cast(loader.load("glProgramUniform4dvEXT")); + flextglProgramUniformMatrix2dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2dvEXT")); + flextglProgramUniformMatrix3dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3dvEXT")); + flextglProgramUniformMatrix4dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4dvEXT")); + flextglProgramUniformMatrix2x3dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3dvEXT")); + flextglProgramUniformMatrix2x4dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4dvEXT")); + flextglProgramUniformMatrix3x2dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2dvEXT")); + flextglProgramUniformMatrix3x4dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4dvEXT")); + flextglProgramUniformMatrix4x2dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2dvEXT")); + flextglProgramUniformMatrix4x3dvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3dvEXT")); + flextglTextureBufferRangeEXT = reinterpret_cast(loader.load("glTextureBufferRangeEXT")); + flextglTextureStorage1DEXT = reinterpret_cast(loader.load("glTextureStorage1DEXT")); + flextglTextureStorage2DEXT = reinterpret_cast(loader.load("glTextureStorage2DEXT")); + flextglTextureStorage3DEXT = reinterpret_cast(loader.load("glTextureStorage3DEXT")); + flextglTextureStorage2DMultisampleEXT = reinterpret_cast(loader.load("glTextureStorage2DMultisampleEXT")); + flextglTextureStorage3DMultisampleEXT = reinterpret_cast(loader.load("glTextureStorage3DMultisampleEXT")); + flextglVertexArrayBindVertexBufferEXT = reinterpret_cast(loader.load("glVertexArrayBindVertexBufferEXT")); + flextglVertexArrayVertexAttribFormatEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribFormatEXT")); + flextglVertexArrayVertexAttribIFormatEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribIFormatEXT")); + flextglVertexArrayVertexAttribLFormatEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribLFormatEXT")); + flextglVertexArrayVertexAttribBindingEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribBindingEXT")); + flextglVertexArrayVertexBindingDivisorEXT = reinterpret_cast(loader.load("glVertexArrayVertexBindingDivisorEXT")); + flextglVertexArrayVertexAttribLOffsetEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribLOffsetEXT")); + flextglTexturePageCommitmentEXT = reinterpret_cast(loader.load("glTexturePageCommitmentEXT")); + flextglVertexArrayVertexAttribDivisorEXT = reinterpret_cast(loader.load("glVertexArrayVertexAttribDivisorEXT")); + + /* GL_EXT_texture_sRGB_decode */ + + /* GL_EXT_debug_label */ + flextglLabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); + flextglGetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); + + /* GL_EXT_debug_marker */ + flextglInsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); + flextglPushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); + flextglPopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); + + /* GL_GREMEDY_string_marker */ + flextglStringMarkerGREMEDY = reinterpret_cast(loader.load("glStringMarkerGREMEDY")); +} diff --git a/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp.template b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp.template new file mode 100644 index 000000000..6b1d4bb6c --- /dev/null +++ b/src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp.template @@ -0,0 +1,21 @@ +@require(passthru, functions, enums, options, version, extensions) +#include "flextGL.h" + +#include +#include + +#include "Magnum/Platform/Implementation/OpenGLFunctionLoader.h" + +void flextGLInit() { + Magnum::Platform::Implementation::OpenGLFunctionLoader loader; + @for category,funcs in functions: + @if category not in ['VERSION_1_0', 'VERSION_1_1','VERSION_1_0_DEPRECATED', 'VERSION_1_1_DEPRECATED']: + + /* GL_@category */ + @for f in funcs: + flextgl@f.name = reinterpret_cast<@f.returntype\ +(APIENTRY*)(@f.param_type_list_string())>(loader.load("gl@f.name")); + @end + @end + @end +} diff --git a/src/MagnumExternal/OpenGL/GL/gl_magnum.c b/src/MagnumExternal/OpenGL/GL/gl_magnum.c deleted file mode 100644 index 136800cfe..000000000 --- a/src/MagnumExternal/OpenGL/GL/gl_magnum.c +++ /dev/null @@ -1,2739 +0,0 @@ -#include -#include -#include -#include "gl_magnum.h" - -#if defined(__APPLE__) -#include - -static void* AppleGLGetProcAddress (const char *name) -{ - static void* image = NULL; - if (NULL == image) - image = dlopen("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", RTLD_LAZY); - - return image ? dlsym(image, name) : NULL; -} -#endif /* __APPLE__ */ - -#if defined(__sgi) || defined (__sun) -#include -#include - -static void* SunGetProcAddress (const GLubyte* name) -{ - static void* h = NULL; - static void* gpa; - - if (h == NULL) - { - if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL; - gpa = dlsym(h, "glXGetProcAddress"); - } - - if (gpa != NULL) - return ((void*(*)(const GLubyte*))gpa)(name); - else - return dlsym(h, (const char*)name); -} -#endif /* __sgi || __sun */ - -#if defined(_WIN32) - -#ifdef _MSC_VER -#pragma warning(disable: 4055) -#pragma warning(disable: 4054) -#endif - -static int TestPointer(const PROC pTest) -{ - ptrdiff_t iTest; - if(!pTest) return 0; - iTest = (ptrdiff_t)pTest; - - if(iTest == 1 || iTest == 2 || iTest == 3 || iTest == -1) return 0; - - return 1; -} - -static PROC WinGetProcAddress(const char *name) -{ - HMODULE glMod = NULL; - PROC pFunc = wglGetProcAddress((LPCSTR)name); - if(TestPointer(pFunc)) - { - return pFunc; - } - glMod = GetModuleHandleA("OpenGL32.dll"); - return (PROC)GetProcAddress(glMod, (LPCSTR)name); -} - -#define IntGetProcAddress(name) WinGetProcAddress(name) -#else - #if defined(__APPLE__) - #define IntGetProcAddress(name) AppleGLGetProcAddress(name) - #else - #if defined(__sgi) || defined(__sun) - #define IntGetProcAddress(name) SunGetProcAddress(name) - #else /* GLX */ - #include - - #define IntGetProcAddress(name) (*glXGetProcAddressARB)((const GLubyte*)name) - #endif - #endif -#endif - -int ogl_ext_AMD_vertex_shader_layer = ogl_LOAD_FAILED; -int ogl_ext_AMD_shader_trinary_minmax = ogl_LOAD_FAILED; -int ogl_ext_ARB_robustness = ogl_LOAD_FAILED; -int ogl_ext_ATI_texture_mirror_once = ogl_LOAD_FAILED; -int ogl_ext_EXT_texture_filter_anisotropic = ogl_LOAD_FAILED; -int ogl_ext_EXT_texture_mirror_clamp = ogl_LOAD_FAILED; -int ogl_ext_EXT_direct_state_access = ogl_LOAD_FAILED; -int ogl_ext_EXT_texture_sRGB_decode = ogl_LOAD_FAILED; -int ogl_ext_EXT_debug_label = ogl_LOAD_FAILED; -int ogl_ext_EXT_debug_marker = ogl_LOAD_FAILED; -int ogl_ext_GREMEDY_string_marker = ogl_LOAD_FAILED; - -GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glGetGraphicsResetStatusARB)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnColorTableARB)(GLenum, GLenum, GLenum, GLsizei, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnConvolutionFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnHistogramARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMapdvARB)(GLenum, GLenum, GLsizei, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMapfvARB)(GLenum, GLenum, GLsizei, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMapivARB)(GLenum, GLenum, GLsizei, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMinmaxARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPixelMapfvARB)(GLenum, GLsizei, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPixelMapuivARB)(GLenum, GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPixelMapusvARB)(GLenum, GLsizei, GLushort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPolygonStippleARB)(GLsizei, GLubyte *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnSeparableFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *, GLsizei, void *, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformfvARB)(GLuint, GLint, GLsizei, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformivARB)(GLuint, GLint, GLsizei, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformuivARB)(GLuint, GLint, GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = NULL; - -static int Load_ARB_robustness() -{ - int numFailed = 0; - _ptrc_glGetGraphicsResetStatusARB = (GLenum (CODEGEN_FUNCPTR *)())IntGetProcAddress("glGetGraphicsResetStatusARB"); - if(!_ptrc_glGetGraphicsResetStatusARB) numFailed++; - _ptrc_glGetnColorTableARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLsizei, void *))IntGetProcAddress("glGetnColorTableARB"); - if(!_ptrc_glGetnColorTableARB) numFailed++; - _ptrc_glGetnCompressedTexImageARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLsizei, void *))IntGetProcAddress("glGetnCompressedTexImageARB"); - if(!_ptrc_glGetnCompressedTexImageARB) numFailed++; - _ptrc_glGetnConvolutionFilterARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLsizei, void *))IntGetProcAddress("glGetnConvolutionFilterARB"); - if(!_ptrc_glGetnConvolutionFilterARB) numFailed++; - _ptrc_glGetnHistogramARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *))IntGetProcAddress("glGetnHistogramARB"); - if(!_ptrc_glGetnHistogramARB) numFailed++; - _ptrc_glGetnMapdvARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLsizei, GLdouble *))IntGetProcAddress("glGetnMapdvARB"); - if(!_ptrc_glGetnMapdvARB) numFailed++; - _ptrc_glGetnMapfvARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLsizei, GLfloat *))IntGetProcAddress("glGetnMapfvARB"); - if(!_ptrc_glGetnMapfvARB) numFailed++; - _ptrc_glGetnMapivARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLsizei, GLint *))IntGetProcAddress("glGetnMapivARB"); - if(!_ptrc_glGetnMapivARB) numFailed++; - _ptrc_glGetnMinmaxARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *))IntGetProcAddress("glGetnMinmaxARB"); - if(!_ptrc_glGetnMinmaxARB) numFailed++; - _ptrc_glGetnPixelMapfvARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLfloat *))IntGetProcAddress("glGetnPixelMapfvARB"); - if(!_ptrc_glGetnPixelMapfvARB) numFailed++; - _ptrc_glGetnPixelMapuivARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLuint *))IntGetProcAddress("glGetnPixelMapuivARB"); - if(!_ptrc_glGetnPixelMapuivARB) numFailed++; - _ptrc_glGetnPixelMapusvARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLushort *))IntGetProcAddress("glGetnPixelMapusvARB"); - if(!_ptrc_glGetnPixelMapusvARB) numFailed++; - _ptrc_glGetnPolygonStippleARB = (void (CODEGEN_FUNCPTR *)(GLsizei, GLubyte *))IntGetProcAddress("glGetnPolygonStippleARB"); - if(!_ptrc_glGetnPolygonStippleARB) numFailed++; - _ptrc_glGetnSeparableFilterARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLsizei, void *, GLsizei, void *, void *))IntGetProcAddress("glGetnSeparableFilterARB"); - if(!_ptrc_glGetnSeparableFilterARB) numFailed++; - _ptrc_glGetnTexImageARB = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLenum, GLsizei, void *))IntGetProcAddress("glGetnTexImageARB"); - if(!_ptrc_glGetnTexImageARB) numFailed++; - _ptrc_glGetnUniformdvARB = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLdouble *))IntGetProcAddress("glGetnUniformdvARB"); - if(!_ptrc_glGetnUniformdvARB) numFailed++; - _ptrc_glGetnUniformfvARB = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLfloat *))IntGetProcAddress("glGetnUniformfvARB"); - if(!_ptrc_glGetnUniformfvARB) numFailed++; - _ptrc_glGetnUniformivARB = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLint *))IntGetProcAddress("glGetnUniformivARB"); - if(!_ptrc_glGetnUniformivARB) numFailed++; - _ptrc_glGetnUniformuivARB = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLuint *))IntGetProcAddress("glGetnUniformuivARB"); - if(!_ptrc_glGetnUniformuivARB) numFailed++; - _ptrc_glReadnPixelsARB = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *))IntGetProcAddress("glReadnPixelsARB"); - if(!_ptrc_glReadnPixelsARB) numFailed++; - return numFailed; -} - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindMultiTextureEXT)(GLenum, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glCheckNamedFramebufferStatusEXT)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearNamedBufferDataEXT)(GLuint, GLenum, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearNamedBufferSubDataEXT)(GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClientAttribDefaultEXT)(GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureImage3DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableClientStateIndexedEXT)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableClientStateiEXT)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableIndexedEXT)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexArrayAttribEXT)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexArrayEXT)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableClientStateIndexedEXT)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableClientStateiEXT)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableIndexedEXT)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexArrayAttribEXT)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexArrayEXT)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFlushMappedNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferDrawBufferEXT)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferDrawBuffersEXT)(GLuint, GLsizei, const GLenum *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferReadBufferEXT)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenerateMultiTexMipmapEXT)(GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenerateTextureMipmapEXT)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedMultiTexImageEXT)(GLenum, GLenum, GLint, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedTextureImageEXT)(GLuint, GLenum, GLint, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoubleIndexedvEXT)(GLenum, GLuint, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoublei_vEXT)(GLenum, GLuint, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloatIndexedvEXT)(GLenum, GLuint, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloati_vEXT)(GLenum, GLuint, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferParameterivEXT)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetIntegerIndexedvEXT)(GLenum, GLuint, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexEnvivEXT)(GLenum, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexGendvEXT)(GLenum, GLenum, GLenum, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexGenfvEXT)(GLenum, GLenum, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexGenivEXT)(GLenum, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexImageEXT)(GLenum, GLenum, GLint, GLenum, GLenum, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexLevelParameterfvEXT)(GLenum, GLenum, GLint, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexLevelParameterivEXT)(GLenum, GLenum, GLint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterivEXT)(GLenum, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedBufferParameterivEXT)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedBufferPointervEXT)(GLuint, GLenum, void **) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedFramebufferAttachmentParameterivEXT)(GLuint, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedFramebufferParameterivEXT)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterIivEXT)(GLuint, GLenum, GLuint, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterIuivEXT)(GLuint, GLenum, GLuint, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterdvEXT)(GLuint, GLenum, GLuint, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterfvEXT)(GLuint, GLenum, GLuint, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramStringEXT)(GLuint, GLenum, GLenum, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramivEXT)(GLuint, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedRenderbufferParameterivEXT)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetPointerIndexedvEXT)(GLenum, GLuint, void **) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetPointeri_vEXT)(GLenum, GLuint, void **) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureImageEXT)(GLuint, GLenum, GLint, GLenum, GLenum, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureLevelParameterfvEXT)(GLuint, GLenum, GLint, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureLevelParameterivEXT)(GLuint, GLenum, GLint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterIivEXT)(GLuint, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterIuivEXT)(GLuint, GLenum, GLenum, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterfvEXT)(GLuint, GLenum, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterivEXT)(GLuint, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayIntegeri_vEXT)(GLuint, GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayIntegervEXT)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayPointeri_vEXT)(GLuint, GLuint, GLenum, void **) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayPointervEXT)(GLuint, GLenum, void **) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabledIndexedEXT)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapNamedBufferEXT)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr, GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixFrustumEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadIdentityEXT)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadTransposedEXT)(GLenum, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadTransposefEXT)(GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoaddEXT)(GLenum, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadfEXT)(GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultTransposedEXT)(GLenum, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultTransposefEXT)(GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultdEXT)(GLenum, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultfEXT)(GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixOrthoEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixPopEXT)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixPushEXT)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixRotatedEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixRotatefEXT)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixScaledEXT)(GLenum, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixScalefEXT)(GLenum, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixTranslatedEXT)(GLenum, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixTranslatefEXT)(GLenum, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexBufferEXT)(GLenum, GLenum, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexCoordPointerEXT)(GLenum, GLint, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnvfEXT)(GLenum, GLenum, GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnviEXT)(GLenum, GLenum, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnvivEXT)(GLenum, GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGendEXT)(GLenum, GLenum, GLenum, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGendvEXT)(GLenum, GLenum, GLenum, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGenfEXT)(GLenum, GLenum, GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGenfvEXT)(GLenum, GLenum, GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGeniEXT)(GLenum, GLenum, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGenivEXT)(GLenum, GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterfEXT)(GLenum, GLenum, GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameteriEXT)(GLenum, GLenum, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterivEXT)(GLenum, GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexRenderbufferEXT)(GLenum, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedBufferDataEXT)(GLuint, GLsizeiptr, const void *, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedBufferStorageEXT)(GLuint, GLsizeiptr, const void *, GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedCopyBufferSubDataEXT)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferParameteriEXT)(GLuint, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferRenderbufferEXT)(GLuint, GLenum, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTexture1DEXT)(GLuint, GLenum, GLenum, GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTexture2DEXT)(GLuint, GLenum, GLenum, GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTexture3DEXT)(GLuint, GLenum, GLenum, GLuint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTextureEXT)(GLuint, GLenum, GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTextureFaceEXT)(GLuint, GLenum, GLuint, GLint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTextureLayerEXT)(GLuint, GLenum, GLuint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4dEXT)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4dvEXT)(GLuint, GLenum, GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4fEXT)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4fvEXT)(GLuint, GLenum, GLuint, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4iEXT)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4ivEXT)(GLuint, GLenum, GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4uiEXT)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4uivEXT)(GLuint, GLenum, GLuint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameters4fvEXT)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParametersI4ivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParametersI4uivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedRenderbufferStorageEXT)(GLuint, GLenum, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedRenderbufferStorageMultisampleEXT)(GLuint, GLsizei, GLenum, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1dEXT)(GLuint, GLint, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1fEXT)(GLuint, GLint, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1iEXT)(GLuint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1uiEXT)(GLuint, GLint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2dEXT)(GLuint, GLint, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2iEXT)(GLuint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4dvEXT)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPushClientAttribDefaultEXT)(GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureBufferEXT)(GLuint, GLenum, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureBufferRangeEXT)(GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureImage2DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureImage3DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexturePageCommitmentEXT)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterIivEXT)(GLuint, GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterIuivEXT)(GLuint, GLenum, GLenum, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterfEXT)(GLuint, GLenum, GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterfvEXT)(GLuint, GLenum, GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameteriEXT)(GLuint, GLenum, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterivEXT)(GLuint, GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureRenderbufferEXT)(GLuint, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage1DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage2DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage2DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage3DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage3DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glUnmapNamedBufferEXT)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayBindVertexBufferEXT)(GLuint, GLuint, GLuint, GLintptr, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayEdgeFlagOffsetEXT)(GLuint, GLuint, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayFogCoordOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayIndexOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayMultiTexCoordOffsetEXT)(GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayNormalOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArraySecondaryColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayTexCoordOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribBindingEXT)(GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribDivisorEXT)(GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribFormatEXT)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribIFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribIOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribLFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribLOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexBindingDivisorEXT)(GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr) = NULL; - -static int Load_EXT_direct_state_access() -{ - int numFailed = 0; - _ptrc_glBindMultiTextureEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint))IntGetProcAddress("glBindMultiTextureEXT"); - if(!_ptrc_glBindMultiTextureEXT) numFailed++; - _ptrc_glCheckNamedFramebufferStatusEXT = (GLenum (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glCheckNamedFramebufferStatusEXT"); - if(!_ptrc_glCheckNamedFramebufferStatusEXT) numFailed++; - _ptrc_glClearNamedBufferDataEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLenum, const void *))IntGetProcAddress("glClearNamedBufferDataEXT"); - if(!_ptrc_glClearNamedBufferDataEXT) numFailed++; - _ptrc_glClearNamedBufferSubDataEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, const void *))IntGetProcAddress("glClearNamedBufferSubDataEXT"); - if(!_ptrc_glClearNamedBufferSubDataEXT) numFailed++; - _ptrc_glClientAttribDefaultEXT = (void (CODEGEN_FUNCPTR *)(GLbitfield))IntGetProcAddress("glClientAttribDefaultEXT"); - if(!_ptrc_glClientAttribDefaultEXT) numFailed++; - _ptrc_glCompressedMultiTexImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedMultiTexImage1DEXT"); - if(!_ptrc_glCompressedMultiTexImage1DEXT) numFailed++; - _ptrc_glCompressedMultiTexImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedMultiTexImage2DEXT"); - if(!_ptrc_glCompressedMultiTexImage2DEXT) numFailed++; - _ptrc_glCompressedMultiTexImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedMultiTexImage3DEXT"); - if(!_ptrc_glCompressedMultiTexImage3DEXT) numFailed++; - _ptrc_glCompressedMultiTexSubImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedMultiTexSubImage1DEXT"); - if(!_ptrc_glCompressedMultiTexSubImage1DEXT) numFailed++; - _ptrc_glCompressedMultiTexSubImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedMultiTexSubImage2DEXT"); - if(!_ptrc_glCompressedMultiTexSubImage2DEXT) numFailed++; - _ptrc_glCompressedMultiTexSubImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedMultiTexSubImage3DEXT"); - if(!_ptrc_glCompressedMultiTexSubImage3DEXT) numFailed++; - _ptrc_glCompressedTextureImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedTextureImage1DEXT"); - if(!_ptrc_glCompressedTextureImage1DEXT) numFailed++; - _ptrc_glCompressedTextureImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedTextureImage2DEXT"); - if(!_ptrc_glCompressedTextureImage2DEXT) numFailed++; - _ptrc_glCompressedTextureImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedTextureImage3DEXT"); - if(!_ptrc_glCompressedTextureImage3DEXT) numFailed++; - _ptrc_glCompressedTextureSubImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedTextureSubImage1DEXT"); - if(!_ptrc_glCompressedTextureSubImage1DEXT) numFailed++; - _ptrc_glCompressedTextureSubImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedTextureSubImage2DEXT"); - if(!_ptrc_glCompressedTextureSubImage2DEXT) numFailed++; - _ptrc_glCompressedTextureSubImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedTextureSubImage3DEXT"); - if(!_ptrc_glCompressedTextureSubImage3DEXT) numFailed++; - _ptrc_glCopyMultiTexImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint))IntGetProcAddress("glCopyMultiTexImage1DEXT"); - if(!_ptrc_glCopyMultiTexImage1DEXT) numFailed++; - _ptrc_glCopyMultiTexImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint))IntGetProcAddress("glCopyMultiTexImage2DEXT"); - if(!_ptrc_glCopyMultiTexImage2DEXT) numFailed++; - _ptrc_glCopyMultiTexSubImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei))IntGetProcAddress("glCopyMultiTexSubImage1DEXT"); - if(!_ptrc_glCopyMultiTexSubImage1DEXT) numFailed++; - _ptrc_glCopyMultiTexSubImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyMultiTexSubImage2DEXT"); - if(!_ptrc_glCopyMultiTexSubImage2DEXT) numFailed++; - _ptrc_glCopyMultiTexSubImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyMultiTexSubImage3DEXT"); - if(!_ptrc_glCopyMultiTexSubImage3DEXT) numFailed++; - _ptrc_glCopyTextureImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint))IntGetProcAddress("glCopyTextureImage1DEXT"); - if(!_ptrc_glCopyTextureImage1DEXT) numFailed++; - _ptrc_glCopyTextureImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint))IntGetProcAddress("glCopyTextureImage2DEXT"); - if(!_ptrc_glCopyTextureImage2DEXT) numFailed++; - _ptrc_glCopyTextureSubImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei))IntGetProcAddress("glCopyTextureSubImage1DEXT"); - if(!_ptrc_glCopyTextureSubImage1DEXT) numFailed++; - _ptrc_glCopyTextureSubImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyTextureSubImage2DEXT"); - if(!_ptrc_glCopyTextureSubImage2DEXT) numFailed++; - _ptrc_glCopyTextureSubImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyTextureSubImage3DEXT"); - if(!_ptrc_glCopyTextureSubImage3DEXT) numFailed++; - _ptrc_glDisableClientStateIndexedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glDisableClientStateIndexedEXT"); - if(!_ptrc_glDisableClientStateIndexedEXT) numFailed++; - _ptrc_glDisableClientStateiEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glDisableClientStateiEXT"); - if(!_ptrc_glDisableClientStateiEXT) numFailed++; - _ptrc_glDisableIndexedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glDisableIndexedEXT"); - if(!_ptrc_glDisableIndexedEXT) numFailed++; - _ptrc_glDisableVertexArrayAttribEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glDisableVertexArrayAttribEXT"); - if(!_ptrc_glDisableVertexArrayAttribEXT) numFailed++; - _ptrc_glDisableVertexArrayEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glDisableVertexArrayEXT"); - if(!_ptrc_glDisableVertexArrayEXT) numFailed++; - _ptrc_glEnableClientStateIndexedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glEnableClientStateIndexedEXT"); - if(!_ptrc_glEnableClientStateIndexedEXT) numFailed++; - _ptrc_glEnableClientStateiEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glEnableClientStateiEXT"); - if(!_ptrc_glEnableClientStateiEXT) numFailed++; - _ptrc_glEnableIndexedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glEnableIndexedEXT"); - if(!_ptrc_glEnableIndexedEXT) numFailed++; - _ptrc_glEnableVertexArrayAttribEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glEnableVertexArrayAttribEXT"); - if(!_ptrc_glEnableVertexArrayAttribEXT) numFailed++; - _ptrc_glEnableVertexArrayEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glEnableVertexArrayEXT"); - if(!_ptrc_glEnableVertexArrayEXT) numFailed++; - _ptrc_glFlushMappedNamedBufferRangeEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLintptr, GLsizeiptr))IntGetProcAddress("glFlushMappedNamedBufferRangeEXT"); - if(!_ptrc_glFlushMappedNamedBufferRangeEXT) numFailed++; - _ptrc_glFramebufferDrawBufferEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glFramebufferDrawBufferEXT"); - if(!_ptrc_glFramebufferDrawBufferEXT) numFailed++; - _ptrc_glFramebufferDrawBuffersEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLenum *))IntGetProcAddress("glFramebufferDrawBuffersEXT"); - if(!_ptrc_glFramebufferDrawBuffersEXT) numFailed++; - _ptrc_glFramebufferReadBufferEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glFramebufferReadBufferEXT"); - if(!_ptrc_glFramebufferReadBufferEXT) numFailed++; - _ptrc_glGenerateMultiTexMipmapEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glGenerateMultiTexMipmapEXT"); - if(!_ptrc_glGenerateMultiTexMipmapEXT) numFailed++; - _ptrc_glGenerateTextureMipmapEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glGenerateTextureMipmapEXT"); - if(!_ptrc_glGenerateTextureMipmapEXT) numFailed++; - _ptrc_glGetBooleanIndexedvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLboolean *))IntGetProcAddress("glGetBooleanIndexedvEXT"); - if(!_ptrc_glGetBooleanIndexedvEXT) numFailed++; - _ptrc_glGetCompressedMultiTexImageEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, void *))IntGetProcAddress("glGetCompressedMultiTexImageEXT"); - if(!_ptrc_glGetCompressedMultiTexImageEXT) numFailed++; - _ptrc_glGetCompressedTextureImageEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, void *))IntGetProcAddress("glGetCompressedTextureImageEXT"); - if(!_ptrc_glGetCompressedTextureImageEXT) numFailed++; - _ptrc_glGetDoubleIndexedvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLdouble *))IntGetProcAddress("glGetDoubleIndexedvEXT"); - if(!_ptrc_glGetDoubleIndexedvEXT) numFailed++; - _ptrc_glGetDoublei_vEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLdouble *))IntGetProcAddress("glGetDoublei_vEXT"); - if(!_ptrc_glGetDoublei_vEXT) numFailed++; - _ptrc_glGetFloatIndexedvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLfloat *))IntGetProcAddress("glGetFloatIndexedvEXT"); - if(!_ptrc_glGetFloatIndexedvEXT) numFailed++; - _ptrc_glGetFloati_vEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLfloat *))IntGetProcAddress("glGetFloati_vEXT"); - if(!_ptrc_glGetFloati_vEXT) numFailed++; - _ptrc_glGetFramebufferParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetFramebufferParameterivEXT"); - if(!_ptrc_glGetFramebufferParameterivEXT) numFailed++; - _ptrc_glGetIntegerIndexedvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLint *))IntGetProcAddress("glGetIntegerIndexedvEXT"); - if(!_ptrc_glGetIntegerIndexedvEXT) numFailed++; - _ptrc_glGetMultiTexEnvfvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLfloat *))IntGetProcAddress("glGetMultiTexEnvfvEXT"); - if(!_ptrc_glGetMultiTexEnvfvEXT) numFailed++; - _ptrc_glGetMultiTexEnvivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint *))IntGetProcAddress("glGetMultiTexEnvivEXT"); - if(!_ptrc_glGetMultiTexEnvivEXT) numFailed++; - _ptrc_glGetMultiTexGendvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLdouble *))IntGetProcAddress("glGetMultiTexGendvEXT"); - if(!_ptrc_glGetMultiTexGendvEXT) numFailed++; - _ptrc_glGetMultiTexGenfvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLfloat *))IntGetProcAddress("glGetMultiTexGenfvEXT"); - if(!_ptrc_glGetMultiTexGenfvEXT) numFailed++; - _ptrc_glGetMultiTexGenivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint *))IntGetProcAddress("glGetMultiTexGenivEXT"); - if(!_ptrc_glGetMultiTexGenivEXT) numFailed++; - _ptrc_glGetMultiTexImageEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLenum, void *))IntGetProcAddress("glGetMultiTexImageEXT"); - if(!_ptrc_glGetMultiTexImageEXT) numFailed++; - _ptrc_glGetMultiTexLevelParameterfvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLfloat *))IntGetProcAddress("glGetMultiTexLevelParameterfvEXT"); - if(!_ptrc_glGetMultiTexLevelParameterfvEXT) numFailed++; - _ptrc_glGetMultiTexLevelParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLenum, GLint *))IntGetProcAddress("glGetMultiTexLevelParameterivEXT"); - if(!_ptrc_glGetMultiTexLevelParameterivEXT) numFailed++; - _ptrc_glGetMultiTexParameterIivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint *))IntGetProcAddress("glGetMultiTexParameterIivEXT"); - if(!_ptrc_glGetMultiTexParameterIivEXT) numFailed++; - _ptrc_glGetMultiTexParameterIuivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint *))IntGetProcAddress("glGetMultiTexParameterIuivEXT"); - if(!_ptrc_glGetMultiTexParameterIuivEXT) numFailed++; - _ptrc_glGetMultiTexParameterfvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLfloat *))IntGetProcAddress("glGetMultiTexParameterfvEXT"); - if(!_ptrc_glGetMultiTexParameterfvEXT) numFailed++; - _ptrc_glGetMultiTexParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint *))IntGetProcAddress("glGetMultiTexParameterivEXT"); - if(!_ptrc_glGetMultiTexParameterivEXT) numFailed++; - _ptrc_glGetNamedBufferParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetNamedBufferParameterivEXT"); - if(!_ptrc_glGetNamedBufferParameterivEXT) numFailed++; - _ptrc_glGetNamedBufferPointervEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, void **))IntGetProcAddress("glGetNamedBufferPointervEXT"); - if(!_ptrc_glGetNamedBufferPointervEXT) numFailed++; - _ptrc_glGetNamedBufferSubDataEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLintptr, GLsizeiptr, void *))IntGetProcAddress("glGetNamedBufferSubDataEXT"); - if(!_ptrc_glGetNamedBufferSubDataEXT) numFailed++; - _ptrc_glGetNamedFramebufferAttachmentParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLint *))IntGetProcAddress("glGetNamedFramebufferAttachmentParameterivEXT"); - if(!_ptrc_glGetNamedFramebufferAttachmentParameterivEXT) numFailed++; - _ptrc_glGetNamedFramebufferParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetNamedFramebufferParameterivEXT"); - if(!_ptrc_glGetNamedFramebufferParameterivEXT) numFailed++; - _ptrc_glGetNamedProgramLocalParameterIivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLint *))IntGetProcAddress("glGetNamedProgramLocalParameterIivEXT"); - if(!_ptrc_glGetNamedProgramLocalParameterIivEXT) numFailed++; - _ptrc_glGetNamedProgramLocalParameterIuivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLuint *))IntGetProcAddress("glGetNamedProgramLocalParameterIuivEXT"); - if(!_ptrc_glGetNamedProgramLocalParameterIuivEXT) numFailed++; - _ptrc_glGetNamedProgramLocalParameterdvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLdouble *))IntGetProcAddress("glGetNamedProgramLocalParameterdvEXT"); - if(!_ptrc_glGetNamedProgramLocalParameterdvEXT) numFailed++; - _ptrc_glGetNamedProgramLocalParameterfvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLfloat *))IntGetProcAddress("glGetNamedProgramLocalParameterfvEXT"); - if(!_ptrc_glGetNamedProgramLocalParameterfvEXT) numFailed++; - _ptrc_glGetNamedProgramStringEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, void *))IntGetProcAddress("glGetNamedProgramStringEXT"); - if(!_ptrc_glGetNamedProgramStringEXT) numFailed++; - _ptrc_glGetNamedProgramivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLint *))IntGetProcAddress("glGetNamedProgramivEXT"); - if(!_ptrc_glGetNamedProgramivEXT) numFailed++; - _ptrc_glGetNamedRenderbufferParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetNamedRenderbufferParameterivEXT"); - if(!_ptrc_glGetNamedRenderbufferParameterivEXT) numFailed++; - _ptrc_glGetPointerIndexedvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, void **))IntGetProcAddress("glGetPointerIndexedvEXT"); - if(!_ptrc_glGetPointerIndexedvEXT) numFailed++; - _ptrc_glGetPointeri_vEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, void **))IntGetProcAddress("glGetPointeri_vEXT"); - if(!_ptrc_glGetPointeri_vEXT) numFailed++; - _ptrc_glGetTextureImageEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLenum, void *))IntGetProcAddress("glGetTextureImageEXT"); - if(!_ptrc_glGetTextureImageEXT) numFailed++; - _ptrc_glGetTextureLevelParameterfvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLfloat *))IntGetProcAddress("glGetTextureLevelParameterfvEXT"); - if(!_ptrc_glGetTextureLevelParameterfvEXT) numFailed++; - _ptrc_glGetTextureLevelParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLenum, GLint *))IntGetProcAddress("glGetTextureLevelParameterivEXT"); - if(!_ptrc_glGetTextureLevelParameterivEXT) numFailed++; - _ptrc_glGetTextureParameterIivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLint *))IntGetProcAddress("glGetTextureParameterIivEXT"); - if(!_ptrc_glGetTextureParameterIivEXT) numFailed++; - _ptrc_glGetTextureParameterIuivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLuint *))IntGetProcAddress("glGetTextureParameterIuivEXT"); - if(!_ptrc_glGetTextureParameterIuivEXT) numFailed++; - _ptrc_glGetTextureParameterfvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLfloat *))IntGetProcAddress("glGetTextureParameterfvEXT"); - if(!_ptrc_glGetTextureParameterfvEXT) numFailed++; - _ptrc_glGetTextureParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLint *))IntGetProcAddress("glGetTextureParameterivEXT"); - if(!_ptrc_glGetTextureParameterivEXT) numFailed++; - _ptrc_glGetVertexArrayIntegeri_vEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLint *))IntGetProcAddress("glGetVertexArrayIntegeri_vEXT"); - if(!_ptrc_glGetVertexArrayIntegeri_vEXT) numFailed++; - _ptrc_glGetVertexArrayIntegervEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetVertexArrayIntegervEXT"); - if(!_ptrc_glGetVertexArrayIntegervEXT) numFailed++; - _ptrc_glGetVertexArrayPointeri_vEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, void **))IntGetProcAddress("glGetVertexArrayPointeri_vEXT"); - if(!_ptrc_glGetVertexArrayPointeri_vEXT) numFailed++; - _ptrc_glGetVertexArrayPointervEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, void **))IntGetProcAddress("glGetVertexArrayPointervEXT"); - if(!_ptrc_glGetVertexArrayPointervEXT) numFailed++; - _ptrc_glIsEnabledIndexedEXT = (GLboolean (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glIsEnabledIndexedEXT"); - if(!_ptrc_glIsEnabledIndexedEXT) numFailed++; - _ptrc_glMapNamedBufferEXT = (void * (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glMapNamedBufferEXT"); - if(!_ptrc_glMapNamedBufferEXT) numFailed++; - _ptrc_glMapNamedBufferRangeEXT = (void * (CODEGEN_FUNCPTR *)(GLuint, GLintptr, GLsizeiptr, GLbitfield))IntGetProcAddress("glMapNamedBufferRangeEXT"); - if(!_ptrc_glMapNamedBufferRangeEXT) numFailed++; - _ptrc_glMatrixFrustumEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glMatrixFrustumEXT"); - if(!_ptrc_glMatrixFrustumEXT) numFailed++; - _ptrc_glMatrixLoadIdentityEXT = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glMatrixLoadIdentityEXT"); - if(!_ptrc_glMatrixLoadIdentityEXT) numFailed++; - _ptrc_glMatrixLoadTransposedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLdouble *))IntGetProcAddress("glMatrixLoadTransposedEXT"); - if(!_ptrc_glMatrixLoadTransposedEXT) numFailed++; - _ptrc_glMatrixLoadTransposefEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLfloat *))IntGetProcAddress("glMatrixLoadTransposefEXT"); - if(!_ptrc_glMatrixLoadTransposefEXT) numFailed++; - _ptrc_glMatrixLoaddEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLdouble *))IntGetProcAddress("glMatrixLoaddEXT"); - if(!_ptrc_glMatrixLoaddEXT) numFailed++; - _ptrc_glMatrixLoadfEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLfloat *))IntGetProcAddress("glMatrixLoadfEXT"); - if(!_ptrc_glMatrixLoadfEXT) numFailed++; - _ptrc_glMatrixMultTransposedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLdouble *))IntGetProcAddress("glMatrixMultTransposedEXT"); - if(!_ptrc_glMatrixMultTransposedEXT) numFailed++; - _ptrc_glMatrixMultTransposefEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLfloat *))IntGetProcAddress("glMatrixMultTransposefEXT"); - if(!_ptrc_glMatrixMultTransposefEXT) numFailed++; - _ptrc_glMatrixMultdEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLdouble *))IntGetProcAddress("glMatrixMultdEXT"); - if(!_ptrc_glMatrixMultdEXT) numFailed++; - _ptrc_glMatrixMultfEXT = (void (CODEGEN_FUNCPTR *)(GLenum, const GLfloat *))IntGetProcAddress("glMatrixMultfEXT"); - if(!_ptrc_glMatrixMultfEXT) numFailed++; - _ptrc_glMatrixOrthoEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glMatrixOrthoEXT"); - if(!_ptrc_glMatrixOrthoEXT) numFailed++; - _ptrc_glMatrixPopEXT = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glMatrixPopEXT"); - if(!_ptrc_glMatrixPopEXT) numFailed++; - _ptrc_glMatrixPushEXT = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glMatrixPushEXT"); - if(!_ptrc_glMatrixPushEXT) numFailed++; - _ptrc_glMatrixRotatedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glMatrixRotatedEXT"); - if(!_ptrc_glMatrixRotatedEXT) numFailed++; - _ptrc_glMatrixRotatefEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glMatrixRotatefEXT"); - if(!_ptrc_glMatrixRotatefEXT) numFailed++; - _ptrc_glMatrixScaledEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glMatrixScaledEXT"); - if(!_ptrc_glMatrixScaledEXT) numFailed++; - _ptrc_glMatrixScalefEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glMatrixScalefEXT"); - if(!_ptrc_glMatrixScalefEXT) numFailed++; - _ptrc_glMatrixTranslatedEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glMatrixTranslatedEXT"); - if(!_ptrc_glMatrixTranslatedEXT) numFailed++; - _ptrc_glMatrixTranslatefEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glMatrixTranslatefEXT"); - if(!_ptrc_glMatrixTranslatefEXT) numFailed++; - _ptrc_glMultiTexBufferEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint))IntGetProcAddress("glMultiTexBufferEXT"); - if(!_ptrc_glMultiTexBufferEXT) numFailed++; - _ptrc_glMultiTexCoordPointerEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLsizei, const void *))IntGetProcAddress("glMultiTexCoordPointerEXT"); - if(!_ptrc_glMultiTexCoordPointerEXT) numFailed++; - _ptrc_glMultiTexEnvfEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLfloat))IntGetProcAddress("glMultiTexEnvfEXT"); - if(!_ptrc_glMultiTexEnvfEXT) numFailed++; - _ptrc_glMultiTexEnvfvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLfloat *))IntGetProcAddress("glMultiTexEnvfvEXT"); - if(!_ptrc_glMultiTexEnvfvEXT) numFailed++; - _ptrc_glMultiTexEnviEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint))IntGetProcAddress("glMultiTexEnviEXT"); - if(!_ptrc_glMultiTexEnviEXT) numFailed++; - _ptrc_glMultiTexEnvivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLint *))IntGetProcAddress("glMultiTexEnvivEXT"); - if(!_ptrc_glMultiTexEnvivEXT) numFailed++; - _ptrc_glMultiTexGendEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLdouble))IntGetProcAddress("glMultiTexGendEXT"); - if(!_ptrc_glMultiTexGendEXT) numFailed++; - _ptrc_glMultiTexGendvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLdouble *))IntGetProcAddress("glMultiTexGendvEXT"); - if(!_ptrc_glMultiTexGendvEXT) numFailed++; - _ptrc_glMultiTexGenfEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLfloat))IntGetProcAddress("glMultiTexGenfEXT"); - if(!_ptrc_glMultiTexGenfEXT) numFailed++; - _ptrc_glMultiTexGenfvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLfloat *))IntGetProcAddress("glMultiTexGenfvEXT"); - if(!_ptrc_glMultiTexGenfvEXT) numFailed++; - _ptrc_glMultiTexGeniEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint))IntGetProcAddress("glMultiTexGeniEXT"); - if(!_ptrc_glMultiTexGeniEXT) numFailed++; - _ptrc_glMultiTexGenivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLint *))IntGetProcAddress("glMultiTexGenivEXT"); - if(!_ptrc_glMultiTexGenivEXT) numFailed++; - _ptrc_glMultiTexImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glMultiTexImage1DEXT"); - if(!_ptrc_glMultiTexImage1DEXT) numFailed++; - _ptrc_glMultiTexImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glMultiTexImage2DEXT"); - if(!_ptrc_glMultiTexImage2DEXT) numFailed++; - _ptrc_glMultiTexImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glMultiTexImage3DEXT"); - if(!_ptrc_glMultiTexImage3DEXT) numFailed++; - _ptrc_glMultiTexParameterIivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLint *))IntGetProcAddress("glMultiTexParameterIivEXT"); - if(!_ptrc_glMultiTexParameterIivEXT) numFailed++; - _ptrc_glMultiTexParameterIuivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLuint *))IntGetProcAddress("glMultiTexParameterIuivEXT"); - if(!_ptrc_glMultiTexParameterIuivEXT) numFailed++; - _ptrc_glMultiTexParameterfEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLfloat))IntGetProcAddress("glMultiTexParameterfEXT"); - if(!_ptrc_glMultiTexParameterfEXT) numFailed++; - _ptrc_glMultiTexParameterfvEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLfloat *))IntGetProcAddress("glMultiTexParameterfvEXT"); - if(!_ptrc_glMultiTexParameterfvEXT) numFailed++; - _ptrc_glMultiTexParameteriEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint))IntGetProcAddress("glMultiTexParameteriEXT"); - if(!_ptrc_glMultiTexParameteriEXT) numFailed++; - _ptrc_glMultiTexParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, const GLint *))IntGetProcAddress("glMultiTexParameterivEXT"); - if(!_ptrc_glMultiTexParameterivEXT) numFailed++; - _ptrc_glMultiTexRenderbufferEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint))IntGetProcAddress("glMultiTexRenderbufferEXT"); - if(!_ptrc_glMultiTexRenderbufferEXT) numFailed++; - _ptrc_glMultiTexSubImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glMultiTexSubImage1DEXT"); - if(!_ptrc_glMultiTexSubImage1DEXT) numFailed++; - _ptrc_glMultiTexSubImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glMultiTexSubImage2DEXT"); - if(!_ptrc_glMultiTexSubImage2DEXT) numFailed++; - _ptrc_glMultiTexSubImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glMultiTexSubImage3DEXT"); - if(!_ptrc_glMultiTexSubImage3DEXT) numFailed++; - _ptrc_glNamedBufferDataEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizeiptr, const void *, GLenum))IntGetProcAddress("glNamedBufferDataEXT"); - if(!_ptrc_glNamedBufferDataEXT) numFailed++; - _ptrc_glNamedBufferStorageEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizeiptr, const void *, GLbitfield))IntGetProcAddress("glNamedBufferStorageEXT"); - if(!_ptrc_glNamedBufferStorageEXT) numFailed++; - _ptrc_glNamedBufferSubDataEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLintptr, GLsizeiptr, const void *))IntGetProcAddress("glNamedBufferSubDataEXT"); - if(!_ptrc_glNamedBufferSubDataEXT) numFailed++; - _ptrc_glNamedCopyBufferSubDataEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr))IntGetProcAddress("glNamedCopyBufferSubDataEXT"); - if(!_ptrc_glNamedCopyBufferSubDataEXT) numFailed++; - _ptrc_glNamedFramebufferParameteriEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint))IntGetProcAddress("glNamedFramebufferParameteriEXT"); - if(!_ptrc_glNamedFramebufferParameteriEXT) numFailed++; - _ptrc_glNamedFramebufferRenderbufferEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLuint))IntGetProcAddress("glNamedFramebufferRenderbufferEXT"); - if(!_ptrc_glNamedFramebufferRenderbufferEXT) numFailed++; - _ptrc_glNamedFramebufferTexture1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glNamedFramebufferTexture1DEXT"); - if(!_ptrc_glNamedFramebufferTexture1DEXT) numFailed++; - _ptrc_glNamedFramebufferTexture2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glNamedFramebufferTexture2DEXT"); - if(!_ptrc_glNamedFramebufferTexture2DEXT) numFailed++; - _ptrc_glNamedFramebufferTexture3DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLuint, GLint, GLint))IntGetProcAddress("glNamedFramebufferTexture3DEXT"); - if(!_ptrc_glNamedFramebufferTexture3DEXT) numFailed++; - _ptrc_glNamedFramebufferTextureEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLint))IntGetProcAddress("glNamedFramebufferTextureEXT"); - if(!_ptrc_glNamedFramebufferTextureEXT) numFailed++; - _ptrc_glNamedFramebufferTextureFaceEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLint, GLenum))IntGetProcAddress("glNamedFramebufferTextureFaceEXT"); - if(!_ptrc_glNamedFramebufferTextureFaceEXT) numFailed++; - _ptrc_glNamedFramebufferTextureLayerEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLint, GLint))IntGetProcAddress("glNamedFramebufferTextureLayerEXT"); - if(!_ptrc_glNamedFramebufferTextureLayerEXT) numFailed++; - _ptrc_glNamedProgramLocalParameter4dEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glNamedProgramLocalParameter4dEXT"); - if(!_ptrc_glNamedProgramLocalParameter4dEXT) numFailed++; - _ptrc_glNamedProgramLocalParameter4dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, const GLdouble *))IntGetProcAddress("glNamedProgramLocalParameter4dvEXT"); - if(!_ptrc_glNamedProgramLocalParameter4dvEXT) numFailed++; - _ptrc_glNamedProgramLocalParameter4fEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glNamedProgramLocalParameter4fEXT"); - if(!_ptrc_glNamedProgramLocalParameter4fEXT) numFailed++; - _ptrc_glNamedProgramLocalParameter4fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, const GLfloat *))IntGetProcAddress("glNamedProgramLocalParameter4fvEXT"); - if(!_ptrc_glNamedProgramLocalParameter4fvEXT) numFailed++; - _ptrc_glNamedProgramLocalParameterI4iEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint))IntGetProcAddress("glNamedProgramLocalParameterI4iEXT"); - if(!_ptrc_glNamedProgramLocalParameterI4iEXT) numFailed++; - _ptrc_glNamedProgramLocalParameterI4ivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, const GLint *))IntGetProcAddress("glNamedProgramLocalParameterI4ivEXT"); - if(!_ptrc_glNamedProgramLocalParameterI4ivEXT) numFailed++; - _ptrc_glNamedProgramLocalParameterI4uiEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glNamedProgramLocalParameterI4uiEXT"); - if(!_ptrc_glNamedProgramLocalParameterI4uiEXT) numFailed++; - _ptrc_glNamedProgramLocalParameterI4uivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, const GLuint *))IntGetProcAddress("glNamedProgramLocalParameterI4uivEXT"); - if(!_ptrc_glNamedProgramLocalParameterI4uivEXT) numFailed++; - _ptrc_glNamedProgramLocalParameters4fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *))IntGetProcAddress("glNamedProgramLocalParameters4fvEXT"); - if(!_ptrc_glNamedProgramLocalParameters4fvEXT) numFailed++; - _ptrc_glNamedProgramLocalParametersI4ivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLsizei, const GLint *))IntGetProcAddress("glNamedProgramLocalParametersI4ivEXT"); - if(!_ptrc_glNamedProgramLocalParametersI4ivEXT) numFailed++; - _ptrc_glNamedProgramLocalParametersI4uivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLsizei, const GLuint *))IntGetProcAddress("glNamedProgramLocalParametersI4uivEXT"); - if(!_ptrc_glNamedProgramLocalParametersI4uivEXT) numFailed++; - _ptrc_glNamedProgramStringEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLsizei, const void *))IntGetProcAddress("glNamedProgramStringEXT"); - if(!_ptrc_glNamedProgramStringEXT) numFailed++; - _ptrc_glNamedRenderbufferStorageEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLsizei, GLsizei))IntGetProcAddress("glNamedRenderbufferStorageEXT"); - if(!_ptrc_glNamedRenderbufferStorageEXT) numFailed++; - _ptrc_glNamedRenderbufferStorageMultisampleCoverageEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei))IntGetProcAddress("glNamedRenderbufferStorageMultisampleCoverageEXT"); - if(!_ptrc_glNamedRenderbufferStorageMultisampleCoverageEXT) numFailed++; - _ptrc_glNamedRenderbufferStorageMultisampleEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLenum, GLsizei, GLsizei))IntGetProcAddress("glNamedRenderbufferStorageMultisampleEXT"); - if(!_ptrc_glNamedRenderbufferStorageMultisampleEXT) numFailed++; - _ptrc_glProgramUniform1dEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble))IntGetProcAddress("glProgramUniform1dEXT"); - if(!_ptrc_glProgramUniform1dEXT) numFailed++; - _ptrc_glProgramUniform1dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform1dvEXT"); - if(!_ptrc_glProgramUniform1dvEXT) numFailed++; - _ptrc_glProgramUniform1fEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat))IntGetProcAddress("glProgramUniform1fEXT"); - if(!_ptrc_glProgramUniform1fEXT) numFailed++; - _ptrc_glProgramUniform1fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform1fvEXT"); - if(!_ptrc_glProgramUniform1fvEXT) numFailed++; - _ptrc_glProgramUniform1iEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint))IntGetProcAddress("glProgramUniform1iEXT"); - if(!_ptrc_glProgramUniform1iEXT) numFailed++; - _ptrc_glProgramUniform1ivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform1ivEXT"); - if(!_ptrc_glProgramUniform1ivEXT) numFailed++; - _ptrc_glProgramUniform1uiEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint))IntGetProcAddress("glProgramUniform1uiEXT"); - if(!_ptrc_glProgramUniform1uiEXT) numFailed++; - _ptrc_glProgramUniform1uivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform1uivEXT"); - if(!_ptrc_glProgramUniform1uivEXT) numFailed++; - _ptrc_glProgramUniform2dEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble, GLdouble))IntGetProcAddress("glProgramUniform2dEXT"); - if(!_ptrc_glProgramUniform2dEXT) numFailed++; - _ptrc_glProgramUniform2dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform2dvEXT"); - if(!_ptrc_glProgramUniform2dvEXT) numFailed++; - _ptrc_glProgramUniform2fEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat, GLfloat))IntGetProcAddress("glProgramUniform2fEXT"); - if(!_ptrc_glProgramUniform2fEXT) numFailed++; - _ptrc_glProgramUniform2fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform2fvEXT"); - if(!_ptrc_glProgramUniform2fvEXT) numFailed++; - _ptrc_glProgramUniform2iEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint))IntGetProcAddress("glProgramUniform2iEXT"); - if(!_ptrc_glProgramUniform2iEXT) numFailed++; - _ptrc_glProgramUniform2ivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform2ivEXT"); - if(!_ptrc_glProgramUniform2ivEXT) numFailed++; - _ptrc_glProgramUniform2uiEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint, GLuint))IntGetProcAddress("glProgramUniform2uiEXT"); - if(!_ptrc_glProgramUniform2uiEXT) numFailed++; - _ptrc_glProgramUniform2uivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform2uivEXT"); - if(!_ptrc_glProgramUniform2uivEXT) numFailed++; - _ptrc_glProgramUniform3dEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glProgramUniform3dEXT"); - if(!_ptrc_glProgramUniform3dEXT) numFailed++; - _ptrc_glProgramUniform3dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform3dvEXT"); - if(!_ptrc_glProgramUniform3dvEXT) numFailed++; - _ptrc_glProgramUniform3fEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glProgramUniform3fEXT"); - if(!_ptrc_glProgramUniform3fEXT) numFailed++; - _ptrc_glProgramUniform3fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform3fvEXT"); - if(!_ptrc_glProgramUniform3fvEXT) numFailed++; - _ptrc_glProgramUniform3iEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint))IntGetProcAddress("glProgramUniform3iEXT"); - if(!_ptrc_glProgramUniform3iEXT) numFailed++; - _ptrc_glProgramUniform3ivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform3ivEXT"); - if(!_ptrc_glProgramUniform3ivEXT) numFailed++; - _ptrc_glProgramUniform3uiEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint, GLuint, GLuint))IntGetProcAddress("glProgramUniform3uiEXT"); - if(!_ptrc_glProgramUniform3uiEXT) numFailed++; - _ptrc_glProgramUniform3uivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform3uivEXT"); - if(!_ptrc_glProgramUniform3uivEXT) numFailed++; - _ptrc_glProgramUniform4dEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glProgramUniform4dEXT"); - if(!_ptrc_glProgramUniform4dEXT) numFailed++; - _ptrc_glProgramUniform4dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform4dvEXT"); - if(!_ptrc_glProgramUniform4dvEXT) numFailed++; - _ptrc_glProgramUniform4fEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glProgramUniform4fEXT"); - if(!_ptrc_glProgramUniform4fEXT) numFailed++; - _ptrc_glProgramUniform4fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform4fvEXT"); - if(!_ptrc_glProgramUniform4fvEXT) numFailed++; - _ptrc_glProgramUniform4iEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint, GLint))IntGetProcAddress("glProgramUniform4iEXT"); - if(!_ptrc_glProgramUniform4iEXT) numFailed++; - _ptrc_glProgramUniform4ivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform4ivEXT"); - if(!_ptrc_glProgramUniform4ivEXT) numFailed++; - _ptrc_glProgramUniform4uiEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glProgramUniform4uiEXT"); - if(!_ptrc_glProgramUniform4uiEXT) numFailed++; - _ptrc_glProgramUniform4uivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform4uivEXT"); - if(!_ptrc_glProgramUniform4uivEXT) numFailed++; - _ptrc_glProgramUniformMatrix2dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix2dvEXT"); - if(!_ptrc_glProgramUniformMatrix2dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix2fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix2fvEXT"); - if(!_ptrc_glProgramUniformMatrix2fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix2x3dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix2x3dvEXT"); - if(!_ptrc_glProgramUniformMatrix2x3dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix2x3fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix2x3fvEXT"); - if(!_ptrc_glProgramUniformMatrix2x3fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix2x4dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix2x4dvEXT"); - if(!_ptrc_glProgramUniformMatrix2x4dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix2x4fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix2x4fvEXT"); - if(!_ptrc_glProgramUniformMatrix2x4fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix3dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix3dvEXT"); - if(!_ptrc_glProgramUniformMatrix3dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix3fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix3fvEXT"); - if(!_ptrc_glProgramUniformMatrix3fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix3x2dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix3x2dvEXT"); - if(!_ptrc_glProgramUniformMatrix3x2dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix3x2fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix3x2fvEXT"); - if(!_ptrc_glProgramUniformMatrix3x2fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix3x4dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix3x4dvEXT"); - if(!_ptrc_glProgramUniformMatrix3x4dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix3x4fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix3x4fvEXT"); - if(!_ptrc_glProgramUniformMatrix3x4fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix4dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix4dvEXT"); - if(!_ptrc_glProgramUniformMatrix4dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix4fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix4fvEXT"); - if(!_ptrc_glProgramUniformMatrix4fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix4x2dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix4x2dvEXT"); - if(!_ptrc_glProgramUniformMatrix4x2dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix4x2fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix4x2fvEXT"); - if(!_ptrc_glProgramUniformMatrix4x2fvEXT) numFailed++; - _ptrc_glProgramUniformMatrix4x3dvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix4x3dvEXT"); - if(!_ptrc_glProgramUniformMatrix4x3dvEXT) numFailed++; - _ptrc_glProgramUniformMatrix4x3fvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix4x3fvEXT"); - if(!_ptrc_glProgramUniformMatrix4x3fvEXT) numFailed++; - _ptrc_glPushClientAttribDefaultEXT = (void (CODEGEN_FUNCPTR *)(GLbitfield))IntGetProcAddress("glPushClientAttribDefaultEXT"); - if(!_ptrc_glPushClientAttribDefaultEXT) numFailed++; - _ptrc_glTextureBufferEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLuint))IntGetProcAddress("glTextureBufferEXT"); - if(!_ptrc_glTextureBufferEXT) numFailed++; - _ptrc_glTextureBufferRangeEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr))IntGetProcAddress("glTextureBufferRangeEXT"); - if(!_ptrc_glTextureBufferRangeEXT) numFailed++; - _ptrc_glTextureImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glTextureImage1DEXT"); - if(!_ptrc_glTextureImage1DEXT) numFailed++; - _ptrc_glTextureImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glTextureImage2DEXT"); - if(!_ptrc_glTextureImage2DEXT) numFailed++; - _ptrc_glTextureImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glTextureImage3DEXT"); - if(!_ptrc_glTextureImage3DEXT) numFailed++; - _ptrc_glTexturePageCommitmentEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTexturePageCommitmentEXT"); - if(!_ptrc_glTexturePageCommitmentEXT) numFailed++; - _ptrc_glTextureParameterIivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, const GLint *))IntGetProcAddress("glTextureParameterIivEXT"); - if(!_ptrc_glTextureParameterIivEXT) numFailed++; - _ptrc_glTextureParameterIuivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, const GLuint *))IntGetProcAddress("glTextureParameterIuivEXT"); - if(!_ptrc_glTextureParameterIuivEXT) numFailed++; - _ptrc_glTextureParameterfEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLfloat))IntGetProcAddress("glTextureParameterfEXT"); - if(!_ptrc_glTextureParameterfEXT) numFailed++; - _ptrc_glTextureParameterfvEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, const GLfloat *))IntGetProcAddress("glTextureParameterfvEXT"); - if(!_ptrc_glTextureParameterfvEXT) numFailed++; - _ptrc_glTextureParameteriEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLint))IntGetProcAddress("glTextureParameteriEXT"); - if(!_ptrc_glTextureParameteriEXT) numFailed++; - _ptrc_glTextureParameterivEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, const GLint *))IntGetProcAddress("glTextureParameterivEXT"); - if(!_ptrc_glTextureParameterivEXT) numFailed++; - _ptrc_glTextureRenderbufferEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint))IntGetProcAddress("glTextureRenderbufferEXT"); - if(!_ptrc_glTextureRenderbufferEXT) numFailed++; - _ptrc_glTextureStorage1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLsizei, GLenum, GLsizei))IntGetProcAddress("glTextureStorage1DEXT"); - if(!_ptrc_glTextureStorage1DEXT) numFailed++; - _ptrc_glTextureStorage2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei))IntGetProcAddress("glTextureStorage2DEXT"); - if(!_ptrc_glTextureStorage2DEXT) numFailed++; - _ptrc_glTextureStorage2DMultisampleEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTextureStorage2DMultisampleEXT"); - if(!_ptrc_glTextureStorage2DMultisampleEXT) numFailed++; - _ptrc_glTextureStorage3DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei))IntGetProcAddress("glTextureStorage3DEXT"); - if(!_ptrc_glTextureStorage3DEXT) numFailed++; - _ptrc_glTextureStorage3DMultisampleEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTextureStorage3DMultisampleEXT"); - if(!_ptrc_glTextureStorage3DMultisampleEXT) numFailed++; - _ptrc_glTextureSubImage1DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glTextureSubImage1DEXT"); - if(!_ptrc_glTextureSubImage1DEXT) numFailed++; - _ptrc_glTextureSubImage2DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glTextureSubImage2DEXT"); - if(!_ptrc_glTextureSubImage2DEXT) numFailed++; - _ptrc_glTextureSubImage3DEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glTextureSubImage3DEXT"); - if(!_ptrc_glTextureSubImage3DEXT) numFailed++; - _ptrc_glUnmapNamedBufferEXT = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glUnmapNamedBufferEXT"); - if(!_ptrc_glUnmapNamedBufferEXT) numFailed++; - _ptrc_glVertexArrayBindVertexBufferEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLintptr, GLsizei))IntGetProcAddress("glVertexArrayBindVertexBufferEXT"); - if(!_ptrc_glVertexArrayBindVertexBufferEXT) numFailed++; - _ptrc_glVertexArrayColorOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayColorOffsetEXT"); - if(!_ptrc_glVertexArrayColorOffsetEXT) numFailed++; - _ptrc_glVertexArrayEdgeFlagOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayEdgeFlagOffsetEXT"); - if(!_ptrc_glVertexArrayEdgeFlagOffsetEXT) numFailed++; - _ptrc_glVertexArrayFogCoordOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayFogCoordOffsetEXT"); - if(!_ptrc_glVertexArrayFogCoordOffsetEXT) numFailed++; - _ptrc_glVertexArrayIndexOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayIndexOffsetEXT"); - if(!_ptrc_glVertexArrayIndexOffsetEXT) numFailed++; - _ptrc_glVertexArrayMultiTexCoordOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayMultiTexCoordOffsetEXT"); - if(!_ptrc_glVertexArrayMultiTexCoordOffsetEXT) numFailed++; - _ptrc_glVertexArrayNormalOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayNormalOffsetEXT"); - if(!_ptrc_glVertexArrayNormalOffsetEXT) numFailed++; - _ptrc_glVertexArraySecondaryColorOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArraySecondaryColorOffsetEXT"); - if(!_ptrc_glVertexArraySecondaryColorOffsetEXT) numFailed++; - _ptrc_glVertexArrayTexCoordOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayTexCoordOffsetEXT"); - if(!_ptrc_glVertexArrayTexCoordOffsetEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribBindingEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glVertexArrayVertexAttribBindingEXT"); - if(!_ptrc_glVertexArrayVertexAttribBindingEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribDivisorEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glVertexArrayVertexAttribDivisorEXT"); - if(!_ptrc_glVertexArrayVertexAttribDivisorEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribFormatEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint))IntGetProcAddress("glVertexArrayVertexAttribFormatEXT"); - if(!_ptrc_glVertexArrayVertexAttribFormatEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribIFormatEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLenum, GLuint))IntGetProcAddress("glVertexArrayVertexAttribIFormatEXT"); - if(!_ptrc_glVertexArrayVertexAttribIFormatEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribIOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayVertexAttribIOffsetEXT"); - if(!_ptrc_glVertexArrayVertexAttribIOffsetEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribLFormatEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLenum, GLuint))IntGetProcAddress("glVertexArrayVertexAttribLFormatEXT"); - if(!_ptrc_glVertexArrayVertexAttribLFormatEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribLOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayVertexAttribLOffsetEXT"); - if(!_ptrc_glVertexArrayVertexAttribLOffsetEXT) numFailed++; - _ptrc_glVertexArrayVertexAttribOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayVertexAttribOffsetEXT"); - if(!_ptrc_glVertexArrayVertexAttribOffsetEXT) numFailed++; - _ptrc_glVertexArrayVertexBindingDivisorEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glVertexArrayVertexBindingDivisorEXT"); - if(!_ptrc_glVertexArrayVertexBindingDivisorEXT) numFailed++; - _ptrc_glVertexArrayVertexOffsetEXT = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr))IntGetProcAddress("glVertexArrayVertexOffsetEXT"); - if(!_ptrc_glVertexArrayVertexOffsetEXT) numFailed++; - return numFailed; -} - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *) = NULL; - -static int Load_EXT_debug_label() -{ - int numFailed = 0; - _ptrc_glGetObjectLabelEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetObjectLabelEXT"); - if(!_ptrc_glGetObjectLabelEXT) numFailed++; - _ptrc_glLabelObjectEXT = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei, const GLchar *))IntGetProcAddress("glLabelObjectEXT"); - if(!_ptrc_glLabelObjectEXT) numFailed++; - return numFailed; -} - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInsertEventMarkerEXT)(GLsizei, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPopGroupMarkerEXT)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPushGroupMarkerEXT)(GLsizei, const GLchar *) = NULL; - -static int Load_EXT_debug_marker() -{ - int numFailed = 0; - _ptrc_glInsertEventMarkerEXT = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLchar *))IntGetProcAddress("glInsertEventMarkerEXT"); - if(!_ptrc_glInsertEventMarkerEXT) numFailed++; - _ptrc_glPopGroupMarkerEXT = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glPopGroupMarkerEXT"); - if(!_ptrc_glPopGroupMarkerEXT) numFailed++; - _ptrc_glPushGroupMarkerEXT = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLchar *))IntGetProcAddress("glPushGroupMarkerEXT"); - if(!_ptrc_glPushGroupMarkerEXT) numFailed++; - return numFailed; -} - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStringMarkerGREMEDY)(GLsizei, const void *) = NULL; - -static int Load_GREMEDY_string_marker() -{ - int numFailed = 0; - _ptrc_glStringMarkerGREMEDY = (void (CODEGEN_FUNCPTR *)(GLsizei, const void *))IntGetProcAddress("glStringMarkerGREMEDY"); - if(!_ptrc_glStringMarkerGREMEDY) numFailed++; - return numFailed; -} - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFunc)(GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClear)(GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearColor)(GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearDepth)(GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearStencil)(GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glColorMask)(GLboolean, GLboolean, GLboolean, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCullFace)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthFunc)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthMask)(GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRange)(GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisable)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffer)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnable)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFinish)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFlush)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFrontFace)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBooleanv)(GLenum, GLboolean *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoublev)(GLenum, GLdouble *) = NULL; -GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glGetError)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloatv)(GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetIntegerv)(GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetString)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexImage)(GLenum, GLint, GLenum, GLenum, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterfv)(GLenum, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameteriv)(GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glHint)(GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabled)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLineWidth)(GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLogicOp)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPixelStoref)(GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPixelStorei)(GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointSize)(GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPolygonMode)(GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReadBuffer)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissor)(GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilFunc)(GLenum, GLint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilMask)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilOp)(GLenum, GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterf)(GLenum, GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterfv)(GLenum, GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameteri)(GLenum, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameteriv)(GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewport)(GLint, GLint, GLsizei, GLsizei) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindTexture)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteTextures)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArrays)(GLenum, GLint, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElements)(GLenum, GLsizei, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenTextures)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetPointerv)(GLenum, void **) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsTexture)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPolygonOffset)(GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glActiveTexture)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedTexImage)(GLenum, GLint, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSampleCoverage)(GLfloat, GLboolean) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquation)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElements)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameterf)(GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameterfv)(GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameteri)(GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameteriv)(GLenum, const GLint *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginQuery)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBuffer)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBufferData)(GLenum, GLsizeiptr, const void *, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteBuffers)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteQueries)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndQuery)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenBuffers)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenQueries)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteriv)(GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferPointerv)(GLenum, GLenum, void **) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectiv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectuiv)(GLuint, GLenum, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryiv)(GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsBuffer)(GLuint) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsQuery)(GLuint) = NULL; -GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapBuffer)(GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glUnmapBuffer)(GLenum) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glAttachShader)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindAttribLocation)(GLuint, GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationSeparate)(GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompileShader)(GLuint) = NULL; -GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateProgram)() = NULL; -GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateShader)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteProgram)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteShader)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDetachShader)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexAttribArray)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffers)(GLsizei, const GLenum *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexAttribArray)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *) = NULL; -GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetAttribLocation)(GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramiv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderiv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetUniformLocation)(GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformfv)(GLuint, GLint, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformiv)(GLuint, GLint, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribPointerv)(GLuint, GLenum, void **) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribdv)(GLuint, GLenum, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribfv)(GLuint, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribiv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsProgram)(GLuint) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsShader)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLinkProgram)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilMaskSeparate)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1f)(GLint, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1fv)(GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1i)(GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1iv)(GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2f)(GLint, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2fv)(GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2i)(GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2iv)(GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3f)(GLint, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3fv)(GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3i)(GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3iv)(GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4fv)(GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4i)(GLint, GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4iv)(GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUseProgram)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glValidateProgram)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1d)(GLuint, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1f)(GLuint, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1fv)(GLuint, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1s)(GLuint, GLshort) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1sv)(GLuint, const GLshort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2d)(GLuint, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2f)(GLuint, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2fv)(GLuint, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2s)(GLuint, GLshort, GLshort) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2sv)(GLuint, const GLshort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3fv)(GLuint, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3sv)(GLuint, const GLshort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nbv)(GLuint, const GLbyte *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Niv)(GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nsv)(GLuint, const GLshort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nubv)(GLuint, const GLubyte *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nuiv)(GLuint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nusv)(GLuint, const GLushort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4bv)(GLuint, const GLbyte *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4fv)(GLuint, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4iv)(GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4sv)(GLuint, const GLshort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4ubv)(GLuint, const GLubyte *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4uiv)(GLuint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4usv)(GLuint, const GLushort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginConditionalRender)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginTransformFeedback)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBufferBase)(GLenum, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindFragDataLocation)(GLuint, GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindFramebuffer)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindRenderbuffer)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindVertexArray)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = NULL; -GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glCheckFramebufferStatus)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClampColor)(GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfi)(GLenum, GLint, GLfloat, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfv)(GLenum, GLint, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferiv)(GLenum, GLint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferuiv)(GLenum, GLint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteFramebuffers)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteRenderbuffers)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteVertexArrays)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisablei)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnablei)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndConditionalRender)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndTransformFeedback)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenFramebuffers)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenRenderbuffers)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenVertexArrays)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenerateMipmap)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBooleani_v)(GLenum, GLuint, GLboolean *) = NULL; -GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetFragDataLocation)(GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetIntegeri_v)(GLenum, GLuint, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetRenderbufferParameteriv)(GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetStringi)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIiv)(GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIuiv)(GLenum, GLenum, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformuiv)(GLuint, GLint, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIiv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIuiv)(GLuint, GLenum, GLuint *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabledi)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsFramebuffer)(GLuint) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsRenderbuffer)(GLuint) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsVertexArray)(GLuint) = NULL; -GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIiv)(GLenum, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIuiv)(GLenum, GLenum, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1ui)(GLint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1uiv)(GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2ui)(GLint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2uiv)(GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3ui)(GLint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3uiv)(GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4uiv)(GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1i)(GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1iv)(GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1ui)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1uiv)(GLuint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2i)(GLuint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2iv)(GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2ui)(GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2uiv)(GLuint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3i)(GLuint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3iv)(GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3uiv)(GLuint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4bv)(GLuint, const GLbyte *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4iv)(GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4sv)(GLuint, const GLshort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ubv)(GLuint, const GLubyte *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4uiv)(GLuint, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4usv)(GLuint, const GLushort *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetUniformBlockIndex)(GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPrimitiveRestartIndex)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexBuffer)(GLenum, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformBlockBinding)(GLuint, GLuint, GLuint) = NULL; - -GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glClientWaitSync)(GLsync, GLbitfield, GLuint64) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteSync)(GLsync) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint) = NULL; -GLLOADGEN_EXPORT GLsync (CODEGEN_FUNCPTR *_ptrc_glFenceSync)(GLenum, GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture)(GLenum, GLenum, GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteri64v)(GLenum, GLenum, GLint64 *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64i_v)(GLenum, GLuint, GLint64 *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64v)(GLenum, GLint64 *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultisamplefv)(GLenum, GLuint, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsSync)(GLsync) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProvokingVertex)(GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSampleMaski)(GLuint, GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glWaitSync)(GLsync, GLbitfield, GLuint64) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindSampler)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteSamplers)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenSamplers)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetFragDataIndex)(GLuint, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjecti64v)(GLuint, GLenum, GLint64 *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameterIiv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameterfv)(GLuint, GLenum, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameteriv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsSampler)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glQueryCounter)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterIiv)(GLuint, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterIuiv)(GLuint, GLenum, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterf)(GLuint, GLenum, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterfv)(GLuint, GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameteri)(GLuint, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameteriv)(GLuint, GLenum, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribDivisor)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginQueryIndexed)(GLenum, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindTransformFeedback)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationSeparatei)(GLuint, GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationi)(GLuint, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFunci)(GLuint, GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteTransformFeedbacks)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysIndirect)(GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsIndirect)(GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedback)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedbackStream)(GLenum, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndQueryIndexed)(GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenTransformFeedbacks)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetSubroutineIndex)(GLuint, GLenum, const GLchar *) = NULL; -GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformSubroutineuiv)(GLenum, GLint, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformdv)(GLuint, GLint, GLdouble *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsTransformFeedback)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMinSampleShading)(GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPatchParameterfv)(GLenum, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPatchParameteri)(GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPauseTransformFeedback)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glResumeTransformFeedback)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1d)(GLint, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1dv)(GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2d)(GLint, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2dv)(GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3d)(GLint, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3dv)(GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4dv)(GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glActiveShaderProgram)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindProgramPipeline)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearDepthf)(GLfloat) = NULL; -GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteProgramPipelines)(GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRangeArrayv)(GLuint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRangeIndexed)(GLuint, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRangef)(GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenProgramPipelines)(GLsizei, GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoublei_v)(GLenum, GLuint, GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloati_v)(GLenum, GLuint, GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramPipelineiv)(GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribLdv)(GLuint, GLenum, GLdouble *) = NULL; -GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsProgramPipeline)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramBinary)(GLuint, GLenum, const void *, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramParameteri)(GLuint, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1d)(GLuint, GLint, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1f)(GLuint, GLint, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1i)(GLuint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1ui)(GLuint, GLint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2i)(GLuint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2ui)(GLuint, GLint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReleaseShaderCompiler)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissorArrayv)(GLuint, GLsizei, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissorIndexedv)(GLuint, const GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUseProgramStages)(GLuint, GLbitfield, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glValidateProgramPipeline)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL1d)(GLuint, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL1dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL2d)(GLuint, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL2dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL3dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL4dv)(GLuint, const GLdouble *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewportArrayv)(GLuint, GLsizei, const GLfloat *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewportIndexedfv)(GLuint, const GLfloat *) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMemoryBarrier)(GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage1D)(GLenum, GLsizei, GLenum, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferData)(GLenum, GLenum, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDebugMessageCallback)(GLDEBUGPROC, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDispatchCompute)(GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDispatchComputeIndirect)(GLintptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferParameteri)(GLenum, GLenum, GLint) = NULL; -GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferParameteriv)(GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInternalformati64v)(GLenum, GLenum, GLenum, GLsizei, GLint64 *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *) = NULL; -GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceIndex)(GLuint, GLenum, const GLchar *) = NULL; -GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceLocation)(GLuint, GLenum, const GLchar *) = NULL; -GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceLocationIndex)(GLuint, GLenum, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateBufferData)(GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateTexImage)(GLuint, GLint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawArraysIndirect)(GLenum, const void *, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElementsIndirect)(GLenum, GLenum, const void *, GLsizei, GLsizei) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glObjectPtrLabel)(const void *, GLsizei, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPopDebugGroup)() = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glShaderStorageBlockBinding)(GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribBinding)(GLuint, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribLFormat)(GLuint, GLint, GLenum, GLuint) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexBindingDivisor)(GLuint, GLuint) = NULL; - -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindImageTextures)(GLuint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindSamplers)(GLuint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindTextures)(GLuint, GLsizei, const GLuint *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBufferStorage)(GLenum, GLsizeiptr, const void *, GLbitfield) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearTexImage)(GLuint, GLint, GLenum, GLenum, const void *) = NULL; -GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *) = NULL; - -static int Load_Version_4_4() -{ - int numFailed = 0; - _ptrc_glBlendFunc = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glBlendFunc"); - if(!_ptrc_glBlendFunc) numFailed++; - _ptrc_glClear = (void (CODEGEN_FUNCPTR *)(GLbitfield))IntGetProcAddress("glClear"); - if(!_ptrc_glClear) numFailed++; - _ptrc_glClearColor = (void (CODEGEN_FUNCPTR *)(GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glClearColor"); - if(!_ptrc_glClearColor) numFailed++; - _ptrc_glClearDepth = (void (CODEGEN_FUNCPTR *)(GLdouble))IntGetProcAddress("glClearDepth"); - if(!_ptrc_glClearDepth) numFailed++; - _ptrc_glClearStencil = (void (CODEGEN_FUNCPTR *)(GLint))IntGetProcAddress("glClearStencil"); - if(!_ptrc_glClearStencil) numFailed++; - _ptrc_glColorMask = (void (CODEGEN_FUNCPTR *)(GLboolean, GLboolean, GLboolean, GLboolean))IntGetProcAddress("glColorMask"); - if(!_ptrc_glColorMask) numFailed++; - _ptrc_glCullFace = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glCullFace"); - if(!_ptrc_glCullFace) numFailed++; - _ptrc_glDepthFunc = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glDepthFunc"); - if(!_ptrc_glDepthFunc) numFailed++; - _ptrc_glDepthMask = (void (CODEGEN_FUNCPTR *)(GLboolean))IntGetProcAddress("glDepthMask"); - if(!_ptrc_glDepthMask) numFailed++; - _ptrc_glDepthRange = (void (CODEGEN_FUNCPTR *)(GLdouble, GLdouble))IntGetProcAddress("glDepthRange"); - if(!_ptrc_glDepthRange) numFailed++; - _ptrc_glDisable = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glDisable"); - if(!_ptrc_glDisable) numFailed++; - _ptrc_glDrawBuffer = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glDrawBuffer"); - if(!_ptrc_glDrawBuffer) numFailed++; - _ptrc_glEnable = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glEnable"); - if(!_ptrc_glEnable) numFailed++; - _ptrc_glFinish = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glFinish"); - if(!_ptrc_glFinish) numFailed++; - _ptrc_glFlush = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glFlush"); - if(!_ptrc_glFlush) numFailed++; - _ptrc_glFrontFace = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glFrontFace"); - if(!_ptrc_glFrontFace) numFailed++; - _ptrc_glGetBooleanv = (void (CODEGEN_FUNCPTR *)(GLenum, GLboolean *))IntGetProcAddress("glGetBooleanv"); - if(!_ptrc_glGetBooleanv) numFailed++; - _ptrc_glGetDoublev = (void (CODEGEN_FUNCPTR *)(GLenum, GLdouble *))IntGetProcAddress("glGetDoublev"); - if(!_ptrc_glGetDoublev) numFailed++; - _ptrc_glGetError = (GLenum (CODEGEN_FUNCPTR *)())IntGetProcAddress("glGetError"); - if(!_ptrc_glGetError) numFailed++; - _ptrc_glGetFloatv = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat *))IntGetProcAddress("glGetFloatv"); - if(!_ptrc_glGetFloatv) numFailed++; - _ptrc_glGetIntegerv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint *))IntGetProcAddress("glGetIntegerv"); - if(!_ptrc_glGetIntegerv) numFailed++; - _ptrc_glGetString = (const GLubyte * (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glGetString"); - if(!_ptrc_glGetString) numFailed++; - _ptrc_glGetTexImage = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLenum, void *))IntGetProcAddress("glGetTexImage"); - if(!_ptrc_glGetTexImage) numFailed++; - _ptrc_glGetTexLevelParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLfloat *))IntGetProcAddress("glGetTexLevelParameterfv"); - if(!_ptrc_glGetTexLevelParameterfv) numFailed++; - _ptrc_glGetTexLevelParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLint *))IntGetProcAddress("glGetTexLevelParameteriv"); - if(!_ptrc_glGetTexLevelParameteriv) numFailed++; - _ptrc_glGetTexParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLfloat *))IntGetProcAddress("glGetTexParameterfv"); - if(!_ptrc_glGetTexParameterfv) numFailed++; - _ptrc_glGetTexParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetTexParameteriv"); - if(!_ptrc_glGetTexParameteriv) numFailed++; - _ptrc_glHint = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glHint"); - if(!_ptrc_glHint) numFailed++; - _ptrc_glIsEnabled = (GLboolean (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glIsEnabled"); - if(!_ptrc_glIsEnabled) numFailed++; - _ptrc_glLineWidth = (void (CODEGEN_FUNCPTR *)(GLfloat))IntGetProcAddress("glLineWidth"); - if(!_ptrc_glLineWidth) numFailed++; - _ptrc_glLogicOp = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glLogicOp"); - if(!_ptrc_glLogicOp) numFailed++; - _ptrc_glPixelStoref = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat))IntGetProcAddress("glPixelStoref"); - if(!_ptrc_glPixelStoref) numFailed++; - _ptrc_glPixelStorei = (void (CODEGEN_FUNCPTR *)(GLenum, GLint))IntGetProcAddress("glPixelStorei"); - if(!_ptrc_glPixelStorei) numFailed++; - _ptrc_glPointSize = (void (CODEGEN_FUNCPTR *)(GLfloat))IntGetProcAddress("glPointSize"); - if(!_ptrc_glPointSize) numFailed++; - _ptrc_glPolygonMode = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glPolygonMode"); - if(!_ptrc_glPolygonMode) numFailed++; - _ptrc_glReadBuffer = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glReadBuffer"); - if(!_ptrc_glReadBuffer) numFailed++; - _ptrc_glReadPixels = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *))IntGetProcAddress("glReadPixels"); - if(!_ptrc_glReadPixels) numFailed++; - _ptrc_glScissor = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glScissor"); - if(!_ptrc_glScissor) numFailed++; - _ptrc_glStencilFunc = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLuint))IntGetProcAddress("glStencilFunc"); - if(!_ptrc_glStencilFunc) numFailed++; - _ptrc_glStencilMask = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glStencilMask"); - if(!_ptrc_glStencilMask) numFailed++; - _ptrc_glStencilOp = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum))IntGetProcAddress("glStencilOp"); - if(!_ptrc_glStencilOp) numFailed++; - _ptrc_glTexImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glTexImage1D"); - if(!_ptrc_glTexImage1D) numFailed++; - _ptrc_glTexImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glTexImage2D"); - if(!_ptrc_glTexImage2D) numFailed++; - _ptrc_glTexParameterf = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLfloat))IntGetProcAddress("glTexParameterf"); - if(!_ptrc_glTexParameterf) numFailed++; - _ptrc_glTexParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLfloat *))IntGetProcAddress("glTexParameterfv"); - if(!_ptrc_glTexParameterfv) numFailed++; - _ptrc_glTexParameteri = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint))IntGetProcAddress("glTexParameteri"); - if(!_ptrc_glTexParameteri) numFailed++; - _ptrc_glTexParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLint *))IntGetProcAddress("glTexParameteriv"); - if(!_ptrc_glTexParameteriv) numFailed++; - _ptrc_glViewport = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glViewport"); - if(!_ptrc_glViewport) numFailed++; - _ptrc_glBindTexture = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindTexture"); - if(!_ptrc_glBindTexture) numFailed++; - _ptrc_glCopyTexImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint))IntGetProcAddress("glCopyTexImage1D"); - if(!_ptrc_glCopyTexImage1D) numFailed++; - _ptrc_glCopyTexImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint))IntGetProcAddress("glCopyTexImage2D"); - if(!_ptrc_glCopyTexImage2D) numFailed++; - _ptrc_glCopyTexSubImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLsizei))IntGetProcAddress("glCopyTexSubImage1D"); - if(!_ptrc_glCopyTexSubImage1D) numFailed++; - _ptrc_glCopyTexSubImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyTexSubImage2D"); - if(!_ptrc_glCopyTexSubImage2D) numFailed++; - _ptrc_glDeleteTextures = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteTextures"); - if(!_ptrc_glDeleteTextures) numFailed++; - _ptrc_glDrawArrays = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLsizei))IntGetProcAddress("glDrawArrays"); - if(!_ptrc_glDrawArrays) numFailed++; - _ptrc_glDrawElements = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const void *))IntGetProcAddress("glDrawElements"); - if(!_ptrc_glDrawElements) numFailed++; - _ptrc_glGenTextures = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenTextures"); - if(!_ptrc_glGenTextures) numFailed++; - _ptrc_glGetPointerv = (void (CODEGEN_FUNCPTR *)(GLenum, void **))IntGetProcAddress("glGetPointerv"); - if(!_ptrc_glGetPointerv) numFailed++; - _ptrc_glIsTexture = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsTexture"); - if(!_ptrc_glIsTexture) numFailed++; - _ptrc_glPolygonOffset = (void (CODEGEN_FUNCPTR *)(GLfloat, GLfloat))IntGetProcAddress("glPolygonOffset"); - if(!_ptrc_glPolygonOffset) numFailed++; - _ptrc_glTexSubImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glTexSubImage1D"); - if(!_ptrc_glTexSubImage1D) numFailed++; - _ptrc_glTexSubImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glTexSubImage2D"); - if(!_ptrc_glTexSubImage2D) numFailed++; - _ptrc_glCopyTexSubImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyTexSubImage3D"); - if(!_ptrc_glCopyTexSubImage3D) numFailed++; - _ptrc_glDrawRangeElements = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *))IntGetProcAddress("glDrawRangeElements"); - if(!_ptrc_glDrawRangeElements) numFailed++; - _ptrc_glTexImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glTexImage3D"); - if(!_ptrc_glTexImage3D) numFailed++; - _ptrc_glTexSubImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glTexSubImage3D"); - if(!_ptrc_glTexSubImage3D) numFailed++; - _ptrc_glActiveTexture = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glActiveTexture"); - if(!_ptrc_glActiveTexture) numFailed++; - _ptrc_glCompressedTexImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedTexImage1D"); - if(!_ptrc_glCompressedTexImage1D) numFailed++; - _ptrc_glCompressedTexImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedTexImage2D"); - if(!_ptrc_glCompressedTexImage2D) numFailed++; - _ptrc_glCompressedTexImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *))IntGetProcAddress("glCompressedTexImage3D"); - if(!_ptrc_glCompressedTexImage3D) numFailed++; - _ptrc_glCompressedTexSubImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedTexSubImage1D"); - if(!_ptrc_glCompressedTexSubImage1D) numFailed++; - _ptrc_glCompressedTexSubImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedTexSubImage2D"); - if(!_ptrc_glCompressedTexSubImage2D) numFailed++; - _ptrc_glCompressedTexSubImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *))IntGetProcAddress("glCompressedTexSubImage3D"); - if(!_ptrc_glCompressedTexSubImage3D) numFailed++; - _ptrc_glGetCompressedTexImage = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, void *))IntGetProcAddress("glGetCompressedTexImage"); - if(!_ptrc_glGetCompressedTexImage) numFailed++; - _ptrc_glSampleCoverage = (void (CODEGEN_FUNCPTR *)(GLfloat, GLboolean))IntGetProcAddress("glSampleCoverage"); - if(!_ptrc_glSampleCoverage) numFailed++; - _ptrc_glBlendColor = (void (CODEGEN_FUNCPTR *)(GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glBlendColor"); - if(!_ptrc_glBlendColor) numFailed++; - _ptrc_glBlendEquation = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glBlendEquation"); - if(!_ptrc_glBlendEquation) numFailed++; - _ptrc_glBlendFuncSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLenum))IntGetProcAddress("glBlendFuncSeparate"); - if(!_ptrc_glBlendFuncSeparate) numFailed++; - _ptrc_glMultiDrawArrays = (void (CODEGEN_FUNCPTR *)(GLenum, const GLint *, const GLsizei *, GLsizei))IntGetProcAddress("glMultiDrawArrays"); - if(!_ptrc_glMultiDrawArrays) numFailed++; - _ptrc_glMultiDrawElements = (void (CODEGEN_FUNCPTR *)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei))IntGetProcAddress("glMultiDrawElements"); - if(!_ptrc_glMultiDrawElements) numFailed++; - _ptrc_glPointParameterf = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat))IntGetProcAddress("glPointParameterf"); - if(!_ptrc_glPointParameterf) numFailed++; - _ptrc_glPointParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, const GLfloat *))IntGetProcAddress("glPointParameterfv"); - if(!_ptrc_glPointParameterfv) numFailed++; - _ptrc_glPointParameteri = (void (CODEGEN_FUNCPTR *)(GLenum, GLint))IntGetProcAddress("glPointParameteri"); - if(!_ptrc_glPointParameteri) numFailed++; - _ptrc_glPointParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, const GLint *))IntGetProcAddress("glPointParameteriv"); - if(!_ptrc_glPointParameteriv) numFailed++; - _ptrc_glBeginQuery = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBeginQuery"); - if(!_ptrc_glBeginQuery) numFailed++; - _ptrc_glBindBuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindBuffer"); - if(!_ptrc_glBindBuffer) numFailed++; - _ptrc_glBufferData = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizeiptr, const void *, GLenum))IntGetProcAddress("glBufferData"); - if(!_ptrc_glBufferData) numFailed++; - _ptrc_glBufferSubData = (void (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr, const void *))IntGetProcAddress("glBufferSubData"); - if(!_ptrc_glBufferSubData) numFailed++; - _ptrc_glDeleteBuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteBuffers"); - if(!_ptrc_glDeleteBuffers) numFailed++; - _ptrc_glDeleteQueries = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteQueries"); - if(!_ptrc_glDeleteQueries) numFailed++; - _ptrc_glEndQuery = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glEndQuery"); - if(!_ptrc_glEndQuery) numFailed++; - _ptrc_glGenBuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenBuffers"); - if(!_ptrc_glGenBuffers) numFailed++; - _ptrc_glGenQueries = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenQueries"); - if(!_ptrc_glGenQueries) numFailed++; - _ptrc_glGetBufferParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetBufferParameteriv"); - if(!_ptrc_glGetBufferParameteriv) numFailed++; - _ptrc_glGetBufferPointerv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, void **))IntGetProcAddress("glGetBufferPointerv"); - if(!_ptrc_glGetBufferPointerv) numFailed++; - _ptrc_glGetBufferSubData = (void (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr, void *))IntGetProcAddress("glGetBufferSubData"); - if(!_ptrc_glGetBufferSubData) numFailed++; - _ptrc_glGetQueryObjectiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetQueryObjectiv"); - if(!_ptrc_glGetQueryObjectiv) numFailed++; - _ptrc_glGetQueryObjectuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint *))IntGetProcAddress("glGetQueryObjectuiv"); - if(!_ptrc_glGetQueryObjectuiv) numFailed++; - _ptrc_glGetQueryiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetQueryiv"); - if(!_ptrc_glGetQueryiv) numFailed++; - _ptrc_glIsBuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsBuffer"); - if(!_ptrc_glIsBuffer) numFailed++; - _ptrc_glIsQuery = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsQuery"); - if(!_ptrc_glIsQuery) numFailed++; - _ptrc_glMapBuffer = (void * (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glMapBuffer"); - if(!_ptrc_glMapBuffer) numFailed++; - _ptrc_glUnmapBuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glUnmapBuffer"); - if(!_ptrc_glUnmapBuffer) numFailed++; - _ptrc_glAttachShader = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glAttachShader"); - if(!_ptrc_glAttachShader) numFailed++; - _ptrc_glBindAttribLocation = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, const GLchar *))IntGetProcAddress("glBindAttribLocation"); - if(!_ptrc_glBindAttribLocation) numFailed++; - _ptrc_glBlendEquationSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glBlendEquationSeparate"); - if(!_ptrc_glBlendEquationSeparate) numFailed++; - _ptrc_glCompileShader = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glCompileShader"); - if(!_ptrc_glCompileShader) numFailed++; - _ptrc_glCreateProgram = (GLuint (CODEGEN_FUNCPTR *)())IntGetProcAddress("glCreateProgram"); - if(!_ptrc_glCreateProgram) numFailed++; - _ptrc_glCreateShader = (GLuint (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glCreateShader"); - if(!_ptrc_glCreateShader) numFailed++; - _ptrc_glDeleteProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glDeleteProgram"); - if(!_ptrc_glDeleteProgram) numFailed++; - _ptrc_glDeleteShader = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glDeleteShader"); - if(!_ptrc_glDeleteShader) numFailed++; - _ptrc_glDetachShader = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glDetachShader"); - if(!_ptrc_glDetachShader) numFailed++; - _ptrc_glDisableVertexAttribArray = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glDisableVertexAttribArray"); - if(!_ptrc_glDisableVertexAttribArray) numFailed++; - _ptrc_glDrawBuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLenum *))IntGetProcAddress("glDrawBuffers"); - if(!_ptrc_glDrawBuffers) numFailed++; - _ptrc_glEnableVertexAttribArray = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glEnableVertexAttribArray"); - if(!_ptrc_glEnableVertexAttribArray) numFailed++; - _ptrc_glGetActiveAttrib = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *))IntGetProcAddress("glGetActiveAttrib"); - if(!_ptrc_glGetActiveAttrib) numFailed++; - _ptrc_glGetActiveUniform = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *))IntGetProcAddress("glGetActiveUniform"); - if(!_ptrc_glGetActiveUniform) numFailed++; - _ptrc_glGetAttachedShaders = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLuint *))IntGetProcAddress("glGetAttachedShaders"); - if(!_ptrc_glGetAttachedShaders) numFailed++; - _ptrc_glGetAttribLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetAttribLocation"); - if(!_ptrc_glGetAttribLocation) numFailed++; - _ptrc_glGetProgramInfoLog = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetProgramInfoLog"); - if(!_ptrc_glGetProgramInfoLog) numFailed++; - _ptrc_glGetProgramiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetProgramiv"); - if(!_ptrc_glGetProgramiv) numFailed++; - _ptrc_glGetShaderInfoLog = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetShaderInfoLog"); - if(!_ptrc_glGetShaderInfoLog) numFailed++; - _ptrc_glGetShaderSource = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetShaderSource"); - if(!_ptrc_glGetShaderSource) numFailed++; - _ptrc_glGetShaderiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetShaderiv"); - if(!_ptrc_glGetShaderiv) numFailed++; - _ptrc_glGetUniformLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetUniformLocation"); - if(!_ptrc_glGetUniformLocation) numFailed++; - _ptrc_glGetUniformfv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat *))IntGetProcAddress("glGetUniformfv"); - if(!_ptrc_glGetUniformfv) numFailed++; - _ptrc_glGetUniformiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint *))IntGetProcAddress("glGetUniformiv"); - if(!_ptrc_glGetUniformiv) numFailed++; - _ptrc_glGetVertexAttribPointerv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, void **))IntGetProcAddress("glGetVertexAttribPointerv"); - if(!_ptrc_glGetVertexAttribPointerv) numFailed++; - _ptrc_glGetVertexAttribdv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLdouble *))IntGetProcAddress("glGetVertexAttribdv"); - if(!_ptrc_glGetVertexAttribdv) numFailed++; - _ptrc_glGetVertexAttribfv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLfloat *))IntGetProcAddress("glGetVertexAttribfv"); - if(!_ptrc_glGetVertexAttribfv) numFailed++; - _ptrc_glGetVertexAttribiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetVertexAttribiv"); - if(!_ptrc_glGetVertexAttribiv) numFailed++; - _ptrc_glIsProgram = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsProgram"); - if(!_ptrc_glIsProgram) numFailed++; - _ptrc_glIsShader = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsShader"); - if(!_ptrc_glIsShader) numFailed++; - _ptrc_glLinkProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glLinkProgram"); - if(!_ptrc_glLinkProgram) numFailed++; - _ptrc_glShaderSource = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLchar *const*, const GLint *))IntGetProcAddress("glShaderSource"); - if(!_ptrc_glShaderSource) numFailed++; - _ptrc_glStencilFuncSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLuint))IntGetProcAddress("glStencilFuncSeparate"); - if(!_ptrc_glStencilFuncSeparate) numFailed++; - _ptrc_glStencilMaskSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glStencilMaskSeparate"); - if(!_ptrc_glStencilMaskSeparate) numFailed++; - _ptrc_glStencilOpSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLenum))IntGetProcAddress("glStencilOpSeparate"); - if(!_ptrc_glStencilOpSeparate) numFailed++; - _ptrc_glUniform1f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat))IntGetProcAddress("glUniform1f"); - if(!_ptrc_glUniform1f) numFailed++; - _ptrc_glUniform1fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform1fv"); - if(!_ptrc_glUniform1fv) numFailed++; - _ptrc_glUniform1i = (void (CODEGEN_FUNCPTR *)(GLint, GLint))IntGetProcAddress("glUniform1i"); - if(!_ptrc_glUniform1i) numFailed++; - _ptrc_glUniform1iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform1iv"); - if(!_ptrc_glUniform1iv) numFailed++; - _ptrc_glUniform2f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat, GLfloat))IntGetProcAddress("glUniform2f"); - if(!_ptrc_glUniform2f) numFailed++; - _ptrc_glUniform2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform2fv"); - if(!_ptrc_glUniform2fv) numFailed++; - _ptrc_glUniform2i = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint))IntGetProcAddress("glUniform2i"); - if(!_ptrc_glUniform2i) numFailed++; - _ptrc_glUniform2iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform2iv"); - if(!_ptrc_glUniform2iv) numFailed++; - _ptrc_glUniform3f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glUniform3f"); - if(!_ptrc_glUniform3f) numFailed++; - _ptrc_glUniform3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform3fv"); - if(!_ptrc_glUniform3fv) numFailed++; - _ptrc_glUniform3i = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint, GLint))IntGetProcAddress("glUniform3i"); - if(!_ptrc_glUniform3i) numFailed++; - _ptrc_glUniform3iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform3iv"); - if(!_ptrc_glUniform3iv) numFailed++; - _ptrc_glUniform4f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glUniform4f"); - if(!_ptrc_glUniform4f) numFailed++; - _ptrc_glUniform4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform4fv"); - if(!_ptrc_glUniform4fv) numFailed++; - _ptrc_glUniform4i = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint, GLint, GLint))IntGetProcAddress("glUniform4i"); - if(!_ptrc_glUniform4i) numFailed++; - _ptrc_glUniform4iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform4iv"); - if(!_ptrc_glUniform4iv) numFailed++; - _ptrc_glUniformMatrix2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix2fv"); - if(!_ptrc_glUniformMatrix2fv) numFailed++; - _ptrc_glUniformMatrix3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix3fv"); - if(!_ptrc_glUniformMatrix3fv) numFailed++; - _ptrc_glUniformMatrix4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix4fv"); - if(!_ptrc_glUniformMatrix4fv) numFailed++; - _ptrc_glUseProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glUseProgram"); - if(!_ptrc_glUseProgram) numFailed++; - _ptrc_glValidateProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glValidateProgram"); - if(!_ptrc_glValidateProgram) numFailed++; - _ptrc_glVertexAttrib1d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble))IntGetProcAddress("glVertexAttrib1d"); - if(!_ptrc_glVertexAttrib1d) numFailed++; - _ptrc_glVertexAttrib1dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib1dv"); - if(!_ptrc_glVertexAttrib1dv) numFailed++; - _ptrc_glVertexAttrib1f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat))IntGetProcAddress("glVertexAttrib1f"); - if(!_ptrc_glVertexAttrib1f) numFailed++; - _ptrc_glVertexAttrib1fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib1fv"); - if(!_ptrc_glVertexAttrib1fv) numFailed++; - _ptrc_glVertexAttrib1s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort))IntGetProcAddress("glVertexAttrib1s"); - if(!_ptrc_glVertexAttrib1s) numFailed++; - _ptrc_glVertexAttrib1sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib1sv"); - if(!_ptrc_glVertexAttrib1sv) numFailed++; - _ptrc_glVertexAttrib2d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble))IntGetProcAddress("glVertexAttrib2d"); - if(!_ptrc_glVertexAttrib2d) numFailed++; - _ptrc_glVertexAttrib2dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib2dv"); - if(!_ptrc_glVertexAttrib2dv) numFailed++; - _ptrc_glVertexAttrib2f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat, GLfloat))IntGetProcAddress("glVertexAttrib2f"); - if(!_ptrc_glVertexAttrib2f) numFailed++; - _ptrc_glVertexAttrib2fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib2fv"); - if(!_ptrc_glVertexAttrib2fv) numFailed++; - _ptrc_glVertexAttrib2s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort, GLshort))IntGetProcAddress("glVertexAttrib2s"); - if(!_ptrc_glVertexAttrib2s) numFailed++; - _ptrc_glVertexAttrib2sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib2sv"); - if(!_ptrc_glVertexAttrib2sv) numFailed++; - _ptrc_glVertexAttrib3d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glVertexAttrib3d"); - if(!_ptrc_glVertexAttrib3d) numFailed++; - _ptrc_glVertexAttrib3dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib3dv"); - if(!_ptrc_glVertexAttrib3dv) numFailed++; - _ptrc_glVertexAttrib3f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glVertexAttrib3f"); - if(!_ptrc_glVertexAttrib3f) numFailed++; - _ptrc_glVertexAttrib3fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib3fv"); - if(!_ptrc_glVertexAttrib3fv) numFailed++; - _ptrc_glVertexAttrib3s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort, GLshort, GLshort))IntGetProcAddress("glVertexAttrib3s"); - if(!_ptrc_glVertexAttrib3s) numFailed++; - _ptrc_glVertexAttrib3sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib3sv"); - if(!_ptrc_glVertexAttrib3sv) numFailed++; - _ptrc_glVertexAttrib4Nbv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLbyte *))IntGetProcAddress("glVertexAttrib4Nbv"); - if(!_ptrc_glVertexAttrib4Nbv) numFailed++; - _ptrc_glVertexAttrib4Niv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttrib4Niv"); - if(!_ptrc_glVertexAttrib4Niv) numFailed++; - _ptrc_glVertexAttrib4Nsv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib4Nsv"); - if(!_ptrc_glVertexAttrib4Nsv) numFailed++; - _ptrc_glVertexAttrib4Nub = (void (CODEGEN_FUNCPTR *)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte))IntGetProcAddress("glVertexAttrib4Nub"); - if(!_ptrc_glVertexAttrib4Nub) numFailed++; - _ptrc_glVertexAttrib4Nubv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLubyte *))IntGetProcAddress("glVertexAttrib4Nubv"); - if(!_ptrc_glVertexAttrib4Nubv) numFailed++; - _ptrc_glVertexAttrib4Nuiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttrib4Nuiv"); - if(!_ptrc_glVertexAttrib4Nuiv) numFailed++; - _ptrc_glVertexAttrib4Nusv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLushort *))IntGetProcAddress("glVertexAttrib4Nusv"); - if(!_ptrc_glVertexAttrib4Nusv) numFailed++; - _ptrc_glVertexAttrib4bv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLbyte *))IntGetProcAddress("glVertexAttrib4bv"); - if(!_ptrc_glVertexAttrib4bv) numFailed++; - _ptrc_glVertexAttrib4d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glVertexAttrib4d"); - if(!_ptrc_glVertexAttrib4d) numFailed++; - _ptrc_glVertexAttrib4dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib4dv"); - if(!_ptrc_glVertexAttrib4dv) numFailed++; - _ptrc_glVertexAttrib4f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glVertexAttrib4f"); - if(!_ptrc_glVertexAttrib4f) numFailed++; - _ptrc_glVertexAttrib4fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib4fv"); - if(!_ptrc_glVertexAttrib4fv) numFailed++; - _ptrc_glVertexAttrib4iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttrib4iv"); - if(!_ptrc_glVertexAttrib4iv) numFailed++; - _ptrc_glVertexAttrib4s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort, GLshort, GLshort, GLshort))IntGetProcAddress("glVertexAttrib4s"); - if(!_ptrc_glVertexAttrib4s) numFailed++; - _ptrc_glVertexAttrib4sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib4sv"); - if(!_ptrc_glVertexAttrib4sv) numFailed++; - _ptrc_glVertexAttrib4ubv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLubyte *))IntGetProcAddress("glVertexAttrib4ubv"); - if(!_ptrc_glVertexAttrib4ubv) numFailed++; - _ptrc_glVertexAttrib4uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttrib4uiv"); - if(!_ptrc_glVertexAttrib4uiv) numFailed++; - _ptrc_glVertexAttrib4usv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLushort *))IntGetProcAddress("glVertexAttrib4usv"); - if(!_ptrc_glVertexAttrib4usv) numFailed++; - _ptrc_glVertexAttribPointer = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *))IntGetProcAddress("glVertexAttribPointer"); - if(!_ptrc_glVertexAttribPointer) numFailed++; - _ptrc_glUniformMatrix2x3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix2x3fv"); - if(!_ptrc_glUniformMatrix2x3fv) numFailed++; - _ptrc_glUniformMatrix2x4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix2x4fv"); - if(!_ptrc_glUniformMatrix2x4fv) numFailed++; - _ptrc_glUniformMatrix3x2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix3x2fv"); - if(!_ptrc_glUniformMatrix3x2fv) numFailed++; - _ptrc_glUniformMatrix3x4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix3x4fv"); - if(!_ptrc_glUniformMatrix3x4fv) numFailed++; - _ptrc_glUniformMatrix4x2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix4x2fv"); - if(!_ptrc_glUniformMatrix4x2fv) numFailed++; - _ptrc_glUniformMatrix4x3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix4x3fv"); - if(!_ptrc_glUniformMatrix4x3fv) numFailed++; - _ptrc_glBeginConditionalRender = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glBeginConditionalRender"); - if(!_ptrc_glBeginConditionalRender) numFailed++; - _ptrc_glBeginTransformFeedback = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glBeginTransformFeedback"); - if(!_ptrc_glBeginTransformFeedback) numFailed++; - _ptrc_glBindBufferBase = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint))IntGetProcAddress("glBindBufferBase"); - if(!_ptrc_glBindBufferBase) numFailed++; - _ptrc_glBindBufferRange = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr))IntGetProcAddress("glBindBufferRange"); - if(!_ptrc_glBindBufferRange) numFailed++; - _ptrc_glBindFragDataLocation = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, const GLchar *))IntGetProcAddress("glBindFragDataLocation"); - if(!_ptrc_glBindFragDataLocation) numFailed++; - _ptrc_glBindFramebuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindFramebuffer"); - if(!_ptrc_glBindFramebuffer) numFailed++; - _ptrc_glBindRenderbuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindRenderbuffer"); - if(!_ptrc_glBindRenderbuffer) numFailed++; - _ptrc_glBindVertexArray = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glBindVertexArray"); - if(!_ptrc_glBindVertexArray) numFailed++; - _ptrc_glBlitFramebuffer = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum))IntGetProcAddress("glBlitFramebuffer"); - if(!_ptrc_glBlitFramebuffer) numFailed++; - _ptrc_glCheckFramebufferStatus = (GLenum (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glCheckFramebufferStatus"); - if(!_ptrc_glCheckFramebufferStatus) numFailed++; - _ptrc_glClampColor = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glClampColor"); - if(!_ptrc_glClampColor) numFailed++; - _ptrc_glClearBufferfi = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLfloat, GLint))IntGetProcAddress("glClearBufferfi"); - if(!_ptrc_glClearBufferfi) numFailed++; - _ptrc_glClearBufferfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, const GLfloat *))IntGetProcAddress("glClearBufferfv"); - if(!_ptrc_glClearBufferfv) numFailed++; - _ptrc_glClearBufferiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, const GLint *))IntGetProcAddress("glClearBufferiv"); - if(!_ptrc_glClearBufferiv) numFailed++; - _ptrc_glClearBufferuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, const GLuint *))IntGetProcAddress("glClearBufferuiv"); - if(!_ptrc_glClearBufferuiv) numFailed++; - _ptrc_glColorMaski = (void (CODEGEN_FUNCPTR *)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean))IntGetProcAddress("glColorMaski"); - if(!_ptrc_glColorMaski) numFailed++; - _ptrc_glDeleteFramebuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteFramebuffers"); - if(!_ptrc_glDeleteFramebuffers) numFailed++; - _ptrc_glDeleteRenderbuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteRenderbuffers"); - if(!_ptrc_glDeleteRenderbuffers) numFailed++; - _ptrc_glDeleteVertexArrays = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteVertexArrays"); - if(!_ptrc_glDeleteVertexArrays) numFailed++; - _ptrc_glDisablei = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glDisablei"); - if(!_ptrc_glDisablei) numFailed++; - _ptrc_glEnablei = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glEnablei"); - if(!_ptrc_glEnablei) numFailed++; - _ptrc_glEndConditionalRender = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glEndConditionalRender"); - if(!_ptrc_glEndConditionalRender) numFailed++; - _ptrc_glEndTransformFeedback = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glEndTransformFeedback"); - if(!_ptrc_glEndTransformFeedback) numFailed++; - _ptrc_glFlushMappedBufferRange = (void (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr))IntGetProcAddress("glFlushMappedBufferRange"); - if(!_ptrc_glFlushMappedBufferRange) numFailed++; - _ptrc_glFramebufferRenderbuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint))IntGetProcAddress("glFramebufferRenderbuffer"); - if(!_ptrc_glFramebufferRenderbuffer) numFailed++; - _ptrc_glFramebufferTexture1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glFramebufferTexture1D"); - if(!_ptrc_glFramebufferTexture1D) numFailed++; - _ptrc_glFramebufferTexture2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glFramebufferTexture2D"); - if(!_ptrc_glFramebufferTexture2D) numFailed++; - _ptrc_glFramebufferTexture3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint, GLint, GLint))IntGetProcAddress("glFramebufferTexture3D"); - if(!_ptrc_glFramebufferTexture3D) numFailed++; - _ptrc_glFramebufferTextureLayer = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint, GLint, GLint))IntGetProcAddress("glFramebufferTextureLayer"); - if(!_ptrc_glFramebufferTextureLayer) numFailed++; - _ptrc_glGenFramebuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenFramebuffers"); - if(!_ptrc_glGenFramebuffers) numFailed++; - _ptrc_glGenRenderbuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenRenderbuffers"); - if(!_ptrc_glGenRenderbuffers) numFailed++; - _ptrc_glGenVertexArrays = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenVertexArrays"); - if(!_ptrc_glGenVertexArrays) numFailed++; - _ptrc_glGenerateMipmap = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glGenerateMipmap"); - if(!_ptrc_glGenerateMipmap) numFailed++; - _ptrc_glGetBooleani_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLboolean *))IntGetProcAddress("glGetBooleani_v"); - if(!_ptrc_glGetBooleani_v) numFailed++; - _ptrc_glGetFragDataLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetFragDataLocation"); - if(!_ptrc_glGetFragDataLocation) numFailed++; - _ptrc_glGetFramebufferAttachmentParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint *))IntGetProcAddress("glGetFramebufferAttachmentParameteriv"); - if(!_ptrc_glGetFramebufferAttachmentParameteriv) numFailed++; - _ptrc_glGetIntegeri_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLint *))IntGetProcAddress("glGetIntegeri_v"); - if(!_ptrc_glGetIntegeri_v) numFailed++; - _ptrc_glGetRenderbufferParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetRenderbufferParameteriv"); - if(!_ptrc_glGetRenderbufferParameteriv) numFailed++; - _ptrc_glGetStringi = (const GLubyte * (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glGetStringi"); - if(!_ptrc_glGetStringi) numFailed++; - _ptrc_glGetTexParameterIiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetTexParameterIiv"); - if(!_ptrc_glGetTexParameterIiv) numFailed++; - _ptrc_glGetTexParameterIuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint *))IntGetProcAddress("glGetTexParameterIuiv"); - if(!_ptrc_glGetTexParameterIuiv) numFailed++; - _ptrc_glGetTransformFeedbackVarying = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *))IntGetProcAddress("glGetTransformFeedbackVarying"); - if(!_ptrc_glGetTransformFeedbackVarying) numFailed++; - _ptrc_glGetUniformuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint *))IntGetProcAddress("glGetUniformuiv"); - if(!_ptrc_glGetUniformuiv) numFailed++; - _ptrc_glGetVertexAttribIiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetVertexAttribIiv"); - if(!_ptrc_glGetVertexAttribIiv) numFailed++; - _ptrc_glGetVertexAttribIuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint *))IntGetProcAddress("glGetVertexAttribIuiv"); - if(!_ptrc_glGetVertexAttribIuiv) numFailed++; - _ptrc_glIsEnabledi = (GLboolean (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glIsEnabledi"); - if(!_ptrc_glIsEnabledi) numFailed++; - _ptrc_glIsFramebuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsFramebuffer"); - if(!_ptrc_glIsFramebuffer) numFailed++; - _ptrc_glIsRenderbuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsRenderbuffer"); - if(!_ptrc_glIsRenderbuffer) numFailed++; - _ptrc_glIsVertexArray = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsVertexArray"); - if(!_ptrc_glIsVertexArray) numFailed++; - _ptrc_glMapBufferRange = (void * (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr, GLbitfield))IntGetProcAddress("glMapBufferRange"); - if(!_ptrc_glMapBufferRange) numFailed++; - _ptrc_glRenderbufferStorage = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLsizei, GLsizei))IntGetProcAddress("glRenderbufferStorage"); - if(!_ptrc_glRenderbufferStorage) numFailed++; - _ptrc_glRenderbufferStorageMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei))IntGetProcAddress("glRenderbufferStorageMultisample"); - if(!_ptrc_glRenderbufferStorageMultisample) numFailed++; - _ptrc_glTexParameterIiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLint *))IntGetProcAddress("glTexParameterIiv"); - if(!_ptrc_glTexParameterIiv) numFailed++; - _ptrc_glTexParameterIuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLuint *))IntGetProcAddress("glTexParameterIuiv"); - if(!_ptrc_glTexParameterIuiv) numFailed++; - _ptrc_glTransformFeedbackVaryings = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLchar *const*, GLenum))IntGetProcAddress("glTransformFeedbackVaryings"); - if(!_ptrc_glTransformFeedbackVaryings) numFailed++; - _ptrc_glUniform1ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint))IntGetProcAddress("glUniform1ui"); - if(!_ptrc_glUniform1ui) numFailed++; - _ptrc_glUniform1uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform1uiv"); - if(!_ptrc_glUniform1uiv) numFailed++; - _ptrc_glUniform2ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint, GLuint))IntGetProcAddress("glUniform2ui"); - if(!_ptrc_glUniform2ui) numFailed++; - _ptrc_glUniform2uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform2uiv"); - if(!_ptrc_glUniform2uiv) numFailed++; - _ptrc_glUniform3ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint, GLuint, GLuint))IntGetProcAddress("glUniform3ui"); - if(!_ptrc_glUniform3ui) numFailed++; - _ptrc_glUniform3uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform3uiv"); - if(!_ptrc_glUniform3uiv) numFailed++; - _ptrc_glUniform4ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glUniform4ui"); - if(!_ptrc_glUniform4ui) numFailed++; - _ptrc_glUniform4uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform4uiv"); - if(!_ptrc_glUniform4uiv) numFailed++; - _ptrc_glVertexAttribI1i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint))IntGetProcAddress("glVertexAttribI1i"); - if(!_ptrc_glVertexAttribI1i) numFailed++; - _ptrc_glVertexAttribI1iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI1iv"); - if(!_ptrc_glVertexAttribI1iv) numFailed++; - _ptrc_glVertexAttribI1ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glVertexAttribI1ui"); - if(!_ptrc_glVertexAttribI1ui) numFailed++; - _ptrc_glVertexAttribI1uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI1uiv"); - if(!_ptrc_glVertexAttribI1uiv) numFailed++; - _ptrc_glVertexAttribI2i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint))IntGetProcAddress("glVertexAttribI2i"); - if(!_ptrc_glVertexAttribI2i) numFailed++; - _ptrc_glVertexAttribI2iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI2iv"); - if(!_ptrc_glVertexAttribI2iv) numFailed++; - _ptrc_glVertexAttribI2ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glVertexAttribI2ui"); - if(!_ptrc_glVertexAttribI2ui) numFailed++; - _ptrc_glVertexAttribI2uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI2uiv"); - if(!_ptrc_glVertexAttribI2uiv) numFailed++; - _ptrc_glVertexAttribI3i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint))IntGetProcAddress("glVertexAttribI3i"); - if(!_ptrc_glVertexAttribI3i) numFailed++; - _ptrc_glVertexAttribI3iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI3iv"); - if(!_ptrc_glVertexAttribI3iv) numFailed++; - _ptrc_glVertexAttribI3ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glVertexAttribI3ui"); - if(!_ptrc_glVertexAttribI3ui) numFailed++; - _ptrc_glVertexAttribI3uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI3uiv"); - if(!_ptrc_glVertexAttribI3uiv) numFailed++; - _ptrc_glVertexAttribI4bv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLbyte *))IntGetProcAddress("glVertexAttribI4bv"); - if(!_ptrc_glVertexAttribI4bv) numFailed++; - _ptrc_glVertexAttribI4i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint))IntGetProcAddress("glVertexAttribI4i"); - if(!_ptrc_glVertexAttribI4i) numFailed++; - _ptrc_glVertexAttribI4iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI4iv"); - if(!_ptrc_glVertexAttribI4iv) numFailed++; - _ptrc_glVertexAttribI4sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttribI4sv"); - if(!_ptrc_glVertexAttribI4sv) numFailed++; - _ptrc_glVertexAttribI4ubv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLubyte *))IntGetProcAddress("glVertexAttribI4ubv"); - if(!_ptrc_glVertexAttribI4ubv) numFailed++; - _ptrc_glVertexAttribI4ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glVertexAttribI4ui"); - if(!_ptrc_glVertexAttribI4ui) numFailed++; - _ptrc_glVertexAttribI4uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI4uiv"); - if(!_ptrc_glVertexAttribI4uiv) numFailed++; - _ptrc_glVertexAttribI4usv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLushort *))IntGetProcAddress("glVertexAttribI4usv"); - if(!_ptrc_glVertexAttribI4usv) numFailed++; - _ptrc_glVertexAttribIPointer = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLsizei, const void *))IntGetProcAddress("glVertexAttribIPointer"); - if(!_ptrc_glVertexAttribIPointer) numFailed++; - _ptrc_glCopyBufferSubData = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr))IntGetProcAddress("glCopyBufferSubData"); - if(!_ptrc_glCopyBufferSubData) numFailed++; - _ptrc_glDrawArraysInstanced = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLsizei, GLsizei))IntGetProcAddress("glDrawArraysInstanced"); - if(!_ptrc_glDrawArraysInstanced) numFailed++; - _ptrc_glDrawElementsInstanced = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const void *, GLsizei))IntGetProcAddress("glDrawElementsInstanced"); - if(!_ptrc_glDrawElementsInstanced) numFailed++; - _ptrc_glGetActiveUniformBlockName = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetActiveUniformBlockName"); - if(!_ptrc_glGetActiveUniformBlockName) numFailed++; - _ptrc_glGetActiveUniformBlockiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLint *))IntGetProcAddress("glGetActiveUniformBlockiv"); - if(!_ptrc_glGetActiveUniformBlockiv) numFailed++; - _ptrc_glGetActiveUniformName = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetActiveUniformName"); - if(!_ptrc_glGetActiveUniformName) numFailed++; - _ptrc_glGetActiveUniformsiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLuint *, GLenum, GLint *))IntGetProcAddress("glGetActiveUniformsiv"); - if(!_ptrc_glGetActiveUniformsiv) numFailed++; - _ptrc_glGetUniformBlockIndex = (GLuint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetUniformBlockIndex"); - if(!_ptrc_glGetUniformBlockIndex) numFailed++; - _ptrc_glGetUniformIndices = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLchar *const*, GLuint *))IntGetProcAddress("glGetUniformIndices"); - if(!_ptrc_glGetUniformIndices) numFailed++; - _ptrc_glPrimitiveRestartIndex = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glPrimitiveRestartIndex"); - if(!_ptrc_glPrimitiveRestartIndex) numFailed++; - _ptrc_glTexBuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint))IntGetProcAddress("glTexBuffer"); - if(!_ptrc_glTexBuffer) numFailed++; - _ptrc_glUniformBlockBinding = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glUniformBlockBinding"); - if(!_ptrc_glUniformBlockBinding) numFailed++; - _ptrc_glClientWaitSync = (GLenum (CODEGEN_FUNCPTR *)(GLsync, GLbitfield, GLuint64))IntGetProcAddress("glClientWaitSync"); - if(!_ptrc_glClientWaitSync) numFailed++; - _ptrc_glDeleteSync = (void (CODEGEN_FUNCPTR *)(GLsync))IntGetProcAddress("glDeleteSync"); - if(!_ptrc_glDeleteSync) numFailed++; - _ptrc_glDrawElementsBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const void *, GLint))IntGetProcAddress("glDrawElementsBaseVertex"); - if(!_ptrc_glDrawElementsBaseVertex) numFailed++; - _ptrc_glDrawElementsInstancedBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint))IntGetProcAddress("glDrawElementsInstancedBaseVertex"); - if(!_ptrc_glDrawElementsInstancedBaseVertex) numFailed++; - _ptrc_glDrawRangeElementsBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint))IntGetProcAddress("glDrawRangeElementsBaseVertex"); - if(!_ptrc_glDrawRangeElementsBaseVertex) numFailed++; - _ptrc_glFenceSync = (GLsync (CODEGEN_FUNCPTR *)(GLenum, GLbitfield))IntGetProcAddress("glFenceSync"); - if(!_ptrc_glFenceSync) numFailed++; - _ptrc_glFramebufferTexture = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glFramebufferTexture"); - if(!_ptrc_glFramebufferTexture) numFailed++; - _ptrc_glGetBufferParameteri64v = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint64 *))IntGetProcAddress("glGetBufferParameteri64v"); - if(!_ptrc_glGetBufferParameteri64v) numFailed++; - _ptrc_glGetInteger64i_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLint64 *))IntGetProcAddress("glGetInteger64i_v"); - if(!_ptrc_glGetInteger64i_v) numFailed++; - _ptrc_glGetInteger64v = (void (CODEGEN_FUNCPTR *)(GLenum, GLint64 *))IntGetProcAddress("glGetInteger64v"); - if(!_ptrc_glGetInteger64v) numFailed++; - _ptrc_glGetMultisamplefv = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLfloat *))IntGetProcAddress("glGetMultisamplefv"); - if(!_ptrc_glGetMultisamplefv) numFailed++; - _ptrc_glGetSynciv = (void (CODEGEN_FUNCPTR *)(GLsync, GLenum, GLsizei, GLsizei *, GLint *))IntGetProcAddress("glGetSynciv"); - if(!_ptrc_glGetSynciv) numFailed++; - _ptrc_glIsSync = (GLboolean (CODEGEN_FUNCPTR *)(GLsync))IntGetProcAddress("glIsSync"); - if(!_ptrc_glIsSync) numFailed++; - _ptrc_glMultiDrawElementsBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei, const GLint *))IntGetProcAddress("glMultiDrawElementsBaseVertex"); - if(!_ptrc_glMultiDrawElementsBaseVertex) numFailed++; - _ptrc_glProvokingVertex = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glProvokingVertex"); - if(!_ptrc_glProvokingVertex) numFailed++; - _ptrc_glSampleMaski = (void (CODEGEN_FUNCPTR *)(GLuint, GLbitfield))IntGetProcAddress("glSampleMaski"); - if(!_ptrc_glSampleMaski) numFailed++; - _ptrc_glTexImage2DMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTexImage2DMultisample"); - if(!_ptrc_glTexImage2DMultisample) numFailed++; - _ptrc_glTexImage3DMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTexImage3DMultisample"); - if(!_ptrc_glTexImage3DMultisample) numFailed++; - _ptrc_glWaitSync = (void (CODEGEN_FUNCPTR *)(GLsync, GLbitfield, GLuint64))IntGetProcAddress("glWaitSync"); - if(!_ptrc_glWaitSync) numFailed++; - _ptrc_glBindFragDataLocationIndexed = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, const GLchar *))IntGetProcAddress("glBindFragDataLocationIndexed"); - if(!_ptrc_glBindFragDataLocationIndexed) numFailed++; - _ptrc_glBindSampler = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glBindSampler"); - if(!_ptrc_glBindSampler) numFailed++; - _ptrc_glDeleteSamplers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteSamplers"); - if(!_ptrc_glDeleteSamplers) numFailed++; - _ptrc_glGenSamplers = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenSamplers"); - if(!_ptrc_glGenSamplers) numFailed++; - _ptrc_glGetFragDataIndex = (GLint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetFragDataIndex"); - if(!_ptrc_glGetFragDataIndex) numFailed++; - _ptrc_glGetQueryObjecti64v = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint64 *))IntGetProcAddress("glGetQueryObjecti64v"); - if(!_ptrc_glGetQueryObjecti64v) numFailed++; - _ptrc_glGetQueryObjectui64v = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint64 *))IntGetProcAddress("glGetQueryObjectui64v"); - if(!_ptrc_glGetQueryObjectui64v) numFailed++; - _ptrc_glGetSamplerParameterIiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetSamplerParameterIiv"); - if(!_ptrc_glGetSamplerParameterIiv) numFailed++; - _ptrc_glGetSamplerParameterIuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint *))IntGetProcAddress("glGetSamplerParameterIuiv"); - if(!_ptrc_glGetSamplerParameterIuiv) numFailed++; - _ptrc_glGetSamplerParameterfv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLfloat *))IntGetProcAddress("glGetSamplerParameterfv"); - if(!_ptrc_glGetSamplerParameterfv) numFailed++; - _ptrc_glGetSamplerParameteriv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetSamplerParameteriv"); - if(!_ptrc_glGetSamplerParameteriv) numFailed++; - _ptrc_glIsSampler = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsSampler"); - if(!_ptrc_glIsSampler) numFailed++; - _ptrc_glQueryCounter = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glQueryCounter"); - if(!_ptrc_glQueryCounter) numFailed++; - _ptrc_glSamplerParameterIiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLint *))IntGetProcAddress("glSamplerParameterIiv"); - if(!_ptrc_glSamplerParameterIiv) numFailed++; - _ptrc_glSamplerParameterIuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLuint *))IntGetProcAddress("glSamplerParameterIuiv"); - if(!_ptrc_glSamplerParameterIuiv) numFailed++; - _ptrc_glSamplerParameterf = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLfloat))IntGetProcAddress("glSamplerParameterf"); - if(!_ptrc_glSamplerParameterf) numFailed++; - _ptrc_glSamplerParameterfv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLfloat *))IntGetProcAddress("glSamplerParameterfv"); - if(!_ptrc_glSamplerParameterfv) numFailed++; - _ptrc_glSamplerParameteri = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint))IntGetProcAddress("glSamplerParameteri"); - if(!_ptrc_glSamplerParameteri) numFailed++; - _ptrc_glSamplerParameteriv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLint *))IntGetProcAddress("glSamplerParameteriv"); - if(!_ptrc_glSamplerParameteriv) numFailed++; - _ptrc_glVertexAttribDivisor = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glVertexAttribDivisor"); - if(!_ptrc_glVertexAttribDivisor) numFailed++; - _ptrc_glVertexAttribP1ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, GLuint))IntGetProcAddress("glVertexAttribP1ui"); - if(!_ptrc_glVertexAttribP1ui) numFailed++; - _ptrc_glVertexAttribP1uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, const GLuint *))IntGetProcAddress("glVertexAttribP1uiv"); - if(!_ptrc_glVertexAttribP1uiv) numFailed++; - _ptrc_glVertexAttribP2ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, GLuint))IntGetProcAddress("glVertexAttribP2ui"); - if(!_ptrc_glVertexAttribP2ui) numFailed++; - _ptrc_glVertexAttribP2uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, const GLuint *))IntGetProcAddress("glVertexAttribP2uiv"); - if(!_ptrc_glVertexAttribP2uiv) numFailed++; - _ptrc_glVertexAttribP3ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, GLuint))IntGetProcAddress("glVertexAttribP3ui"); - if(!_ptrc_glVertexAttribP3ui) numFailed++; - _ptrc_glVertexAttribP3uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, const GLuint *))IntGetProcAddress("glVertexAttribP3uiv"); - if(!_ptrc_glVertexAttribP3uiv) numFailed++; - _ptrc_glVertexAttribP4ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, GLuint))IntGetProcAddress("glVertexAttribP4ui"); - if(!_ptrc_glVertexAttribP4ui) numFailed++; - _ptrc_glVertexAttribP4uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLboolean, const GLuint *))IntGetProcAddress("glVertexAttribP4uiv"); - if(!_ptrc_glVertexAttribP4uiv) numFailed++; - _ptrc_glBeginQueryIndexed = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint))IntGetProcAddress("glBeginQueryIndexed"); - if(!_ptrc_glBeginQueryIndexed) numFailed++; - _ptrc_glBindTransformFeedback = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindTransformFeedback"); - if(!_ptrc_glBindTransformFeedback) numFailed++; - _ptrc_glBlendEquationSeparatei = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum))IntGetProcAddress("glBlendEquationSeparatei"); - if(!_ptrc_glBlendEquationSeparatei) numFailed++; - _ptrc_glBlendEquationi = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glBlendEquationi"); - if(!_ptrc_glBlendEquationi) numFailed++; - _ptrc_glBlendFuncSeparatei = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLenum, GLenum))IntGetProcAddress("glBlendFuncSeparatei"); - if(!_ptrc_glBlendFuncSeparatei) numFailed++; - _ptrc_glBlendFunci = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum))IntGetProcAddress("glBlendFunci"); - if(!_ptrc_glBlendFunci) numFailed++; - _ptrc_glDeleteTransformFeedbacks = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteTransformFeedbacks"); - if(!_ptrc_glDeleteTransformFeedbacks) numFailed++; - _ptrc_glDrawArraysIndirect = (void (CODEGEN_FUNCPTR *)(GLenum, const void *))IntGetProcAddress("glDrawArraysIndirect"); - if(!_ptrc_glDrawArraysIndirect) numFailed++; - _ptrc_glDrawElementsIndirect = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const void *))IntGetProcAddress("glDrawElementsIndirect"); - if(!_ptrc_glDrawElementsIndirect) numFailed++; - _ptrc_glDrawTransformFeedback = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glDrawTransformFeedback"); - if(!_ptrc_glDrawTransformFeedback) numFailed++; - _ptrc_glDrawTransformFeedbackStream = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint))IntGetProcAddress("glDrawTransformFeedbackStream"); - if(!_ptrc_glDrawTransformFeedbackStream) numFailed++; - _ptrc_glEndQueryIndexed = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glEndQueryIndexed"); - if(!_ptrc_glEndQueryIndexed) numFailed++; - _ptrc_glGenTransformFeedbacks = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenTransformFeedbacks"); - if(!_ptrc_glGenTransformFeedbacks) numFailed++; - _ptrc_glGetActiveSubroutineName = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetActiveSubroutineName"); - if(!_ptrc_glGetActiveSubroutineName) numFailed++; - _ptrc_glGetActiveSubroutineUniformName = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetActiveSubroutineUniformName"); - if(!_ptrc_glGetActiveSubroutineUniformName) numFailed++; - _ptrc_glGetActiveSubroutineUniformiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLenum, GLint *))IntGetProcAddress("glGetActiveSubroutineUniformiv"); - if(!_ptrc_glGetActiveSubroutineUniformiv) numFailed++; - _ptrc_glGetProgramStageiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLint *))IntGetProcAddress("glGetProgramStageiv"); - if(!_ptrc_glGetProgramStageiv) numFailed++; - _ptrc_glGetQueryIndexediv = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLenum, GLint *))IntGetProcAddress("glGetQueryIndexediv"); - if(!_ptrc_glGetQueryIndexediv) numFailed++; - _ptrc_glGetSubroutineIndex = (GLuint (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLchar *))IntGetProcAddress("glGetSubroutineIndex"); - if(!_ptrc_glGetSubroutineIndex) numFailed++; - _ptrc_glGetSubroutineUniformLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLchar *))IntGetProcAddress("glGetSubroutineUniformLocation"); - if(!_ptrc_glGetSubroutineUniformLocation) numFailed++; - _ptrc_glGetUniformSubroutineuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLuint *))IntGetProcAddress("glGetUniformSubroutineuiv"); - if(!_ptrc_glGetUniformSubroutineuiv) numFailed++; - _ptrc_glGetUniformdv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble *))IntGetProcAddress("glGetUniformdv"); - if(!_ptrc_glGetUniformdv) numFailed++; - _ptrc_glIsTransformFeedback = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsTransformFeedback"); - if(!_ptrc_glIsTransformFeedback) numFailed++; - _ptrc_glMinSampleShading = (void (CODEGEN_FUNCPTR *)(GLfloat))IntGetProcAddress("glMinSampleShading"); - if(!_ptrc_glMinSampleShading) numFailed++; - _ptrc_glPatchParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, const GLfloat *))IntGetProcAddress("glPatchParameterfv"); - if(!_ptrc_glPatchParameterfv) numFailed++; - _ptrc_glPatchParameteri = (void (CODEGEN_FUNCPTR *)(GLenum, GLint))IntGetProcAddress("glPatchParameteri"); - if(!_ptrc_glPatchParameteri) numFailed++; - _ptrc_glPauseTransformFeedback = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glPauseTransformFeedback"); - if(!_ptrc_glPauseTransformFeedback) numFailed++; - _ptrc_glResumeTransformFeedback = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glResumeTransformFeedback"); - if(!_ptrc_glResumeTransformFeedback) numFailed++; - _ptrc_glUniform1d = (void (CODEGEN_FUNCPTR *)(GLint, GLdouble))IntGetProcAddress("glUniform1d"); - if(!_ptrc_glUniform1d) numFailed++; - _ptrc_glUniform1dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLdouble *))IntGetProcAddress("glUniform1dv"); - if(!_ptrc_glUniform1dv) numFailed++; - _ptrc_glUniform2d = (void (CODEGEN_FUNCPTR *)(GLint, GLdouble, GLdouble))IntGetProcAddress("glUniform2d"); - if(!_ptrc_glUniform2d) numFailed++; - _ptrc_glUniform2dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLdouble *))IntGetProcAddress("glUniform2dv"); - if(!_ptrc_glUniform2dv) numFailed++; - _ptrc_glUniform3d = (void (CODEGEN_FUNCPTR *)(GLint, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glUniform3d"); - if(!_ptrc_glUniform3d) numFailed++; - _ptrc_glUniform3dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLdouble *))IntGetProcAddress("glUniform3dv"); - if(!_ptrc_glUniform3dv) numFailed++; - _ptrc_glUniform4d = (void (CODEGEN_FUNCPTR *)(GLint, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glUniform4d"); - if(!_ptrc_glUniform4d) numFailed++; - _ptrc_glUniform4dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLdouble *))IntGetProcAddress("glUniform4dv"); - if(!_ptrc_glUniform4dv) numFailed++; - _ptrc_glUniformMatrix2dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix2dv"); - if(!_ptrc_glUniformMatrix2dv) numFailed++; - _ptrc_glUniformMatrix2x3dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix2x3dv"); - if(!_ptrc_glUniformMatrix2x3dv) numFailed++; - _ptrc_glUniformMatrix2x4dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix2x4dv"); - if(!_ptrc_glUniformMatrix2x4dv) numFailed++; - _ptrc_glUniformMatrix3dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix3dv"); - if(!_ptrc_glUniformMatrix3dv) numFailed++; - _ptrc_glUniformMatrix3x2dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix3x2dv"); - if(!_ptrc_glUniformMatrix3x2dv) numFailed++; - _ptrc_glUniformMatrix3x4dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix3x4dv"); - if(!_ptrc_glUniformMatrix3x4dv) numFailed++; - _ptrc_glUniformMatrix4dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix4dv"); - if(!_ptrc_glUniformMatrix4dv) numFailed++; - _ptrc_glUniformMatrix4x2dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix4x2dv"); - if(!_ptrc_glUniformMatrix4x2dv) numFailed++; - _ptrc_glUniformMatrix4x3dv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glUniformMatrix4x3dv"); - if(!_ptrc_glUniformMatrix4x3dv) numFailed++; - _ptrc_glUniformSubroutinesuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, const GLuint *))IntGetProcAddress("glUniformSubroutinesuiv"); - if(!_ptrc_glUniformSubroutinesuiv) numFailed++; - _ptrc_glActiveShaderProgram = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glActiveShaderProgram"); - if(!_ptrc_glActiveShaderProgram) numFailed++; - _ptrc_glBindProgramPipeline = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glBindProgramPipeline"); - if(!_ptrc_glBindProgramPipeline) numFailed++; - _ptrc_glClearDepthf = (void (CODEGEN_FUNCPTR *)(GLfloat))IntGetProcAddress("glClearDepthf"); - if(!_ptrc_glClearDepthf) numFailed++; - _ptrc_glCreateShaderProgramv = (GLuint (CODEGEN_FUNCPTR *)(GLenum, GLsizei, const GLchar *const*))IntGetProcAddress("glCreateShaderProgramv"); - if(!_ptrc_glCreateShaderProgramv) numFailed++; - _ptrc_glDeleteProgramPipelines = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteProgramPipelines"); - if(!_ptrc_glDeleteProgramPipelines) numFailed++; - _ptrc_glDepthRangeArrayv = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLdouble *))IntGetProcAddress("glDepthRangeArrayv"); - if(!_ptrc_glDepthRangeArrayv) numFailed++; - _ptrc_glDepthRangeIndexed = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble))IntGetProcAddress("glDepthRangeIndexed"); - if(!_ptrc_glDepthRangeIndexed) numFailed++; - _ptrc_glDepthRangef = (void (CODEGEN_FUNCPTR *)(GLfloat, GLfloat))IntGetProcAddress("glDepthRangef"); - if(!_ptrc_glDepthRangef) numFailed++; - _ptrc_glGenProgramPipelines = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenProgramPipelines"); - if(!_ptrc_glGenProgramPipelines) numFailed++; - _ptrc_glGetDoublei_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLdouble *))IntGetProcAddress("glGetDoublei_v"); - if(!_ptrc_glGetDoublei_v) numFailed++; - _ptrc_glGetFloati_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLfloat *))IntGetProcAddress("glGetFloati_v"); - if(!_ptrc_glGetFloati_v) numFailed++; - _ptrc_glGetProgramBinary = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLenum *, void *))IntGetProcAddress("glGetProgramBinary"); - if(!_ptrc_glGetProgramBinary) numFailed++; - _ptrc_glGetProgramPipelineInfoLog = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetProgramPipelineInfoLog"); - if(!_ptrc_glGetProgramPipelineInfoLog) numFailed++; - _ptrc_glGetProgramPipelineiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetProgramPipelineiv"); - if(!_ptrc_glGetProgramPipelineiv) numFailed++; - _ptrc_glGetShaderPrecisionFormat = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *, GLint *))IntGetProcAddress("glGetShaderPrecisionFormat"); - if(!_ptrc_glGetShaderPrecisionFormat) numFailed++; - _ptrc_glGetVertexAttribLdv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLdouble *))IntGetProcAddress("glGetVertexAttribLdv"); - if(!_ptrc_glGetVertexAttribLdv) numFailed++; - _ptrc_glIsProgramPipeline = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsProgramPipeline"); - if(!_ptrc_glIsProgramPipeline) numFailed++; - _ptrc_glProgramBinary = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, const void *, GLsizei))IntGetProcAddress("glProgramBinary"); - if(!_ptrc_glProgramBinary) numFailed++; - _ptrc_glProgramParameteri = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint))IntGetProcAddress("glProgramParameteri"); - if(!_ptrc_glProgramParameteri) numFailed++; - _ptrc_glProgramUniform1d = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble))IntGetProcAddress("glProgramUniform1d"); - if(!_ptrc_glProgramUniform1d) numFailed++; - _ptrc_glProgramUniform1dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform1dv"); - if(!_ptrc_glProgramUniform1dv) numFailed++; - _ptrc_glProgramUniform1f = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat))IntGetProcAddress("glProgramUniform1f"); - if(!_ptrc_glProgramUniform1f) numFailed++; - _ptrc_glProgramUniform1fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform1fv"); - if(!_ptrc_glProgramUniform1fv) numFailed++; - _ptrc_glProgramUniform1i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint))IntGetProcAddress("glProgramUniform1i"); - if(!_ptrc_glProgramUniform1i) numFailed++; - _ptrc_glProgramUniform1iv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform1iv"); - if(!_ptrc_glProgramUniform1iv) numFailed++; - _ptrc_glProgramUniform1ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint))IntGetProcAddress("glProgramUniform1ui"); - if(!_ptrc_glProgramUniform1ui) numFailed++; - _ptrc_glProgramUniform1uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform1uiv"); - if(!_ptrc_glProgramUniform1uiv) numFailed++; - _ptrc_glProgramUniform2d = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble, GLdouble))IntGetProcAddress("glProgramUniform2d"); - if(!_ptrc_glProgramUniform2d) numFailed++; - _ptrc_glProgramUniform2dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform2dv"); - if(!_ptrc_glProgramUniform2dv) numFailed++; - _ptrc_glProgramUniform2f = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat, GLfloat))IntGetProcAddress("glProgramUniform2f"); - if(!_ptrc_glProgramUniform2f) numFailed++; - _ptrc_glProgramUniform2fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform2fv"); - if(!_ptrc_glProgramUniform2fv) numFailed++; - _ptrc_glProgramUniform2i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint))IntGetProcAddress("glProgramUniform2i"); - if(!_ptrc_glProgramUniform2i) numFailed++; - _ptrc_glProgramUniform2iv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform2iv"); - if(!_ptrc_glProgramUniform2iv) numFailed++; - _ptrc_glProgramUniform2ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint, GLuint))IntGetProcAddress("glProgramUniform2ui"); - if(!_ptrc_glProgramUniform2ui) numFailed++; - _ptrc_glProgramUniform2uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform2uiv"); - if(!_ptrc_glProgramUniform2uiv) numFailed++; - _ptrc_glProgramUniform3d = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glProgramUniform3d"); - if(!_ptrc_glProgramUniform3d) numFailed++; - _ptrc_glProgramUniform3dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform3dv"); - if(!_ptrc_glProgramUniform3dv) numFailed++; - _ptrc_glProgramUniform3f = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glProgramUniform3f"); - if(!_ptrc_glProgramUniform3f) numFailed++; - _ptrc_glProgramUniform3fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform3fv"); - if(!_ptrc_glProgramUniform3fv) numFailed++; - _ptrc_glProgramUniform3i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint))IntGetProcAddress("glProgramUniform3i"); - if(!_ptrc_glProgramUniform3i) numFailed++; - _ptrc_glProgramUniform3iv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform3iv"); - if(!_ptrc_glProgramUniform3iv) numFailed++; - _ptrc_glProgramUniform3ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint, GLuint, GLuint))IntGetProcAddress("glProgramUniform3ui"); - if(!_ptrc_glProgramUniform3ui) numFailed++; - _ptrc_glProgramUniform3uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform3uiv"); - if(!_ptrc_glProgramUniform3uiv) numFailed++; - _ptrc_glProgramUniform4d = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glProgramUniform4d"); - if(!_ptrc_glProgramUniform4d) numFailed++; - _ptrc_glProgramUniform4dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLdouble *))IntGetProcAddress("glProgramUniform4dv"); - if(!_ptrc_glProgramUniform4dv) numFailed++; - _ptrc_glProgramUniform4f = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glProgramUniform4f"); - if(!_ptrc_glProgramUniform4f) numFailed++; - _ptrc_glProgramUniform4fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLfloat *))IntGetProcAddress("glProgramUniform4fv"); - if(!_ptrc_glProgramUniform4fv) numFailed++; - _ptrc_glProgramUniform4i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint, GLint))IntGetProcAddress("glProgramUniform4i"); - if(!_ptrc_glProgramUniform4i) numFailed++; - _ptrc_glProgramUniform4iv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLint *))IntGetProcAddress("glProgramUniform4iv"); - if(!_ptrc_glProgramUniform4iv) numFailed++; - _ptrc_glProgramUniform4ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glProgramUniform4ui"); - if(!_ptrc_glProgramUniform4ui) numFailed++; - _ptrc_glProgramUniform4uiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, const GLuint *))IntGetProcAddress("glProgramUniform4uiv"); - if(!_ptrc_glProgramUniform4uiv) numFailed++; - _ptrc_glProgramUniformMatrix2dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix2dv"); - if(!_ptrc_glProgramUniformMatrix2dv) numFailed++; - _ptrc_glProgramUniformMatrix2fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix2fv"); - if(!_ptrc_glProgramUniformMatrix2fv) numFailed++; - _ptrc_glProgramUniformMatrix2x3dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix2x3dv"); - if(!_ptrc_glProgramUniformMatrix2x3dv) numFailed++; - _ptrc_glProgramUniformMatrix2x3fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix2x3fv"); - if(!_ptrc_glProgramUniformMatrix2x3fv) numFailed++; - _ptrc_glProgramUniformMatrix2x4dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix2x4dv"); - if(!_ptrc_glProgramUniformMatrix2x4dv) numFailed++; - _ptrc_glProgramUniformMatrix2x4fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix2x4fv"); - if(!_ptrc_glProgramUniformMatrix2x4fv) numFailed++; - _ptrc_glProgramUniformMatrix3dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix3dv"); - if(!_ptrc_glProgramUniformMatrix3dv) numFailed++; - _ptrc_glProgramUniformMatrix3fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix3fv"); - if(!_ptrc_glProgramUniformMatrix3fv) numFailed++; - _ptrc_glProgramUniformMatrix3x2dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix3x2dv"); - if(!_ptrc_glProgramUniformMatrix3x2dv) numFailed++; - _ptrc_glProgramUniformMatrix3x2fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix3x2fv"); - if(!_ptrc_glProgramUniformMatrix3x2fv) numFailed++; - _ptrc_glProgramUniformMatrix3x4dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix3x4dv"); - if(!_ptrc_glProgramUniformMatrix3x4dv) numFailed++; - _ptrc_glProgramUniformMatrix3x4fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix3x4fv"); - if(!_ptrc_glProgramUniformMatrix3x4fv) numFailed++; - _ptrc_glProgramUniformMatrix4dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix4dv"); - if(!_ptrc_glProgramUniformMatrix4dv) numFailed++; - _ptrc_glProgramUniformMatrix4fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix4fv"); - if(!_ptrc_glProgramUniformMatrix4fv) numFailed++; - _ptrc_glProgramUniformMatrix4x2dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix4x2dv"); - if(!_ptrc_glProgramUniformMatrix4x2dv) numFailed++; - _ptrc_glProgramUniformMatrix4x2fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix4x2fv"); - if(!_ptrc_glProgramUniformMatrix4x2fv) numFailed++; - _ptrc_glProgramUniformMatrix4x3dv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *))IntGetProcAddress("glProgramUniformMatrix4x3dv"); - if(!_ptrc_glProgramUniformMatrix4x3dv) numFailed++; - _ptrc_glProgramUniformMatrix4x3fv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glProgramUniformMatrix4x3fv"); - if(!_ptrc_glProgramUniformMatrix4x3fv) numFailed++; - _ptrc_glReleaseShaderCompiler = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glReleaseShaderCompiler"); - if(!_ptrc_glReleaseShaderCompiler) numFailed++; - _ptrc_glScissorArrayv = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLint *))IntGetProcAddress("glScissorArrayv"); - if(!_ptrc_glScissorArrayv) numFailed++; - _ptrc_glScissorIndexed = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glScissorIndexed"); - if(!_ptrc_glScissorIndexed) numFailed++; - _ptrc_glScissorIndexedv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glScissorIndexedv"); - if(!_ptrc_glScissorIndexedv) numFailed++; - _ptrc_glShaderBinary = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *, GLenum, const void *, GLsizei))IntGetProcAddress("glShaderBinary"); - if(!_ptrc_glShaderBinary) numFailed++; - _ptrc_glUseProgramStages = (void (CODEGEN_FUNCPTR *)(GLuint, GLbitfield, GLuint))IntGetProcAddress("glUseProgramStages"); - if(!_ptrc_glUseProgramStages) numFailed++; - _ptrc_glValidateProgramPipeline = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glValidateProgramPipeline"); - if(!_ptrc_glValidateProgramPipeline) numFailed++; - _ptrc_glVertexAttribL1d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble))IntGetProcAddress("glVertexAttribL1d"); - if(!_ptrc_glVertexAttribL1d) numFailed++; - _ptrc_glVertexAttribL1dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttribL1dv"); - if(!_ptrc_glVertexAttribL1dv) numFailed++; - _ptrc_glVertexAttribL2d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble))IntGetProcAddress("glVertexAttribL2d"); - if(!_ptrc_glVertexAttribL2d) numFailed++; - _ptrc_glVertexAttribL2dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttribL2dv"); - if(!_ptrc_glVertexAttribL2dv) numFailed++; - _ptrc_glVertexAttribL3d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glVertexAttribL3d"); - if(!_ptrc_glVertexAttribL3d) numFailed++; - _ptrc_glVertexAttribL3dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttribL3dv"); - if(!_ptrc_glVertexAttribL3dv) numFailed++; - _ptrc_glVertexAttribL4d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glVertexAttribL4d"); - if(!_ptrc_glVertexAttribL4d) numFailed++; - _ptrc_glVertexAttribL4dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttribL4dv"); - if(!_ptrc_glVertexAttribL4dv) numFailed++; - _ptrc_glVertexAttribLPointer = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLsizei, const void *))IntGetProcAddress("glVertexAttribLPointer"); - if(!_ptrc_glVertexAttribLPointer) numFailed++; - _ptrc_glViewportArrayv = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLfloat *))IntGetProcAddress("glViewportArrayv"); - if(!_ptrc_glViewportArrayv) numFailed++; - _ptrc_glViewportIndexedf = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glViewportIndexedf"); - if(!_ptrc_glViewportIndexedf) numFailed++; - _ptrc_glViewportIndexedfv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glViewportIndexedfv"); - if(!_ptrc_glViewportIndexedfv) numFailed++; - _ptrc_glBindImageTexture = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum))IntGetProcAddress("glBindImageTexture"); - if(!_ptrc_glBindImageTexture) numFailed++; - _ptrc_glDrawArraysInstancedBaseInstance = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLsizei, GLsizei, GLuint))IntGetProcAddress("glDrawArraysInstancedBaseInstance"); - if(!_ptrc_glDrawArraysInstancedBaseInstance) numFailed++; - _ptrc_glDrawElementsInstancedBaseInstance = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint))IntGetProcAddress("glDrawElementsInstancedBaseInstance"); - if(!_ptrc_glDrawElementsInstancedBaseInstance) numFailed++; - _ptrc_glDrawElementsInstancedBaseVertexBaseInstance = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint))IntGetProcAddress("glDrawElementsInstancedBaseVertexBaseInstance"); - if(!_ptrc_glDrawElementsInstancedBaseVertexBaseInstance) numFailed++; - _ptrc_glDrawTransformFeedbackInstanced = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei))IntGetProcAddress("glDrawTransformFeedbackInstanced"); - if(!_ptrc_glDrawTransformFeedbackInstanced) numFailed++; - _ptrc_glDrawTransformFeedbackStreamInstanced = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint, GLsizei))IntGetProcAddress("glDrawTransformFeedbackStreamInstanced"); - if(!_ptrc_glDrawTransformFeedbackStreamInstanced) numFailed++; - _ptrc_glGetActiveAtomicCounterBufferiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLint *))IntGetProcAddress("glGetActiveAtomicCounterBufferiv"); - if(!_ptrc_glGetActiveAtomicCounterBufferiv) numFailed++; - _ptrc_glGetInternalformativ = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLsizei, GLint *))IntGetProcAddress("glGetInternalformativ"); - if(!_ptrc_glGetInternalformativ) numFailed++; - _ptrc_glMemoryBarrier = (void (CODEGEN_FUNCPTR *)(GLbitfield))IntGetProcAddress("glMemoryBarrier"); - if(!_ptrc_glMemoryBarrier) numFailed++; - _ptrc_glTexStorage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei))IntGetProcAddress("glTexStorage1D"); - if(!_ptrc_glTexStorage1D) numFailed++; - _ptrc_glTexStorage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei))IntGetProcAddress("glTexStorage2D"); - if(!_ptrc_glTexStorage2D) numFailed++; - _ptrc_glTexStorage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei))IntGetProcAddress("glTexStorage3D"); - if(!_ptrc_glTexStorage3D) numFailed++; - _ptrc_glBindVertexBuffer = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLintptr, GLsizei))IntGetProcAddress("glBindVertexBuffer"); - if(!_ptrc_glBindVertexBuffer) numFailed++; - _ptrc_glClearBufferData = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLenum, const void *))IntGetProcAddress("glClearBufferData"); - if(!_ptrc_glClearBufferData) numFailed++; - _ptrc_glClearBufferSubData = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *))IntGetProcAddress("glClearBufferSubData"); - if(!_ptrc_glClearBufferSubData) numFailed++; - _ptrc_glCopyImageSubData = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei))IntGetProcAddress("glCopyImageSubData"); - if(!_ptrc_glCopyImageSubData) numFailed++; - _ptrc_glDebugMessageCallback = (void (CODEGEN_FUNCPTR *)(GLDEBUGPROC, const void *))IntGetProcAddress("glDebugMessageCallback"); - if(!_ptrc_glDebugMessageCallback) numFailed++; - _ptrc_glDebugMessageControl = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean))IntGetProcAddress("glDebugMessageControl"); - if(!_ptrc_glDebugMessageControl) numFailed++; - _ptrc_glDebugMessageInsert = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *))IntGetProcAddress("glDebugMessageInsert"); - if(!_ptrc_glDebugMessageInsert) numFailed++; - _ptrc_glDispatchCompute = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glDispatchCompute"); - if(!_ptrc_glDispatchCompute) numFailed++; - _ptrc_glDispatchComputeIndirect = (void (CODEGEN_FUNCPTR *)(GLintptr))IntGetProcAddress("glDispatchComputeIndirect"); - if(!_ptrc_glDispatchComputeIndirect) numFailed++; - _ptrc_glFramebufferParameteri = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint))IntGetProcAddress("glFramebufferParameteri"); - if(!_ptrc_glFramebufferParameteri) numFailed++; - _ptrc_glGetDebugMessageLog = (GLuint (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *))IntGetProcAddress("glGetDebugMessageLog"); - if(!_ptrc_glGetDebugMessageLog) numFailed++; - _ptrc_glGetFramebufferParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetFramebufferParameteriv"); - if(!_ptrc_glGetFramebufferParameteriv) numFailed++; - _ptrc_glGetInternalformati64v = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLsizei, GLint64 *))IntGetProcAddress("glGetInternalformati64v"); - if(!_ptrc_glGetInternalformati64v) numFailed++; - _ptrc_glGetObjectLabel = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetObjectLabel"); - if(!_ptrc_glGetObjectLabel) numFailed++; - _ptrc_glGetObjectPtrLabel = (void (CODEGEN_FUNCPTR *)(const void *, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetObjectPtrLabel"); - if(!_ptrc_glGetObjectPtrLabel) numFailed++; - _ptrc_glGetProgramInterfaceiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLenum, GLint *))IntGetProcAddress("glGetProgramInterfaceiv"); - if(!_ptrc_glGetProgramInterfaceiv) numFailed++; - _ptrc_glGetProgramResourceIndex = (GLuint (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLchar *))IntGetProcAddress("glGetProgramResourceIndex"); - if(!_ptrc_glGetProgramResourceIndex) numFailed++; - _ptrc_glGetProgramResourceLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLchar *))IntGetProcAddress("glGetProgramResourceLocation"); - if(!_ptrc_glGetProgramResourceLocation) numFailed++; - _ptrc_glGetProgramResourceLocationIndex = (GLint (CODEGEN_FUNCPTR *)(GLuint, GLenum, const GLchar *))IntGetProcAddress("glGetProgramResourceLocationIndex"); - if(!_ptrc_glGetProgramResourceLocationIndex) numFailed++; - _ptrc_glGetProgramResourceName = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetProgramResourceName"); - if(!_ptrc_glGetProgramResourceName) numFailed++; - _ptrc_glGetProgramResourceiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *))IntGetProcAddress("glGetProgramResourceiv"); - if(!_ptrc_glGetProgramResourceiv) numFailed++; - _ptrc_glInvalidateBufferData = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glInvalidateBufferData"); - if(!_ptrc_glInvalidateBufferData) numFailed++; - _ptrc_glInvalidateBufferSubData = (void (CODEGEN_FUNCPTR *)(GLuint, GLintptr, GLsizeiptr))IntGetProcAddress("glInvalidateBufferSubData"); - if(!_ptrc_glInvalidateBufferSubData) numFailed++; - _ptrc_glInvalidateFramebuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, const GLenum *))IntGetProcAddress("glInvalidateFramebuffer"); - if(!_ptrc_glInvalidateFramebuffer) numFailed++; - _ptrc_glInvalidateSubFramebuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glInvalidateSubFramebuffer"); - if(!_ptrc_glInvalidateSubFramebuffer) numFailed++; - _ptrc_glInvalidateTexImage = (void (CODEGEN_FUNCPTR *)(GLuint, GLint))IntGetProcAddress("glInvalidateTexImage"); - if(!_ptrc_glInvalidateTexImage) numFailed++; - _ptrc_glInvalidateTexSubImage = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei))IntGetProcAddress("glInvalidateTexSubImage"); - if(!_ptrc_glInvalidateTexSubImage) numFailed++; - _ptrc_glMultiDrawArraysIndirect = (void (CODEGEN_FUNCPTR *)(GLenum, const void *, GLsizei, GLsizei))IntGetProcAddress("glMultiDrawArraysIndirect"); - if(!_ptrc_glMultiDrawArraysIndirect) numFailed++; - _ptrc_glMultiDrawElementsIndirect = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const void *, GLsizei, GLsizei))IntGetProcAddress("glMultiDrawElementsIndirect"); - if(!_ptrc_glMultiDrawElementsIndirect) numFailed++; - _ptrc_glObjectLabel = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei, const GLchar *))IntGetProcAddress("glObjectLabel"); - if(!_ptrc_glObjectLabel) numFailed++; - _ptrc_glObjectPtrLabel = (void (CODEGEN_FUNCPTR *)(const void *, GLsizei, const GLchar *))IntGetProcAddress("glObjectPtrLabel"); - if(!_ptrc_glObjectPtrLabel) numFailed++; - _ptrc_glPopDebugGroup = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glPopDebugGroup"); - if(!_ptrc_glPopDebugGroup) numFailed++; - _ptrc_glPushDebugGroup = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei, const GLchar *))IntGetProcAddress("glPushDebugGroup"); - if(!_ptrc_glPushDebugGroup) numFailed++; - _ptrc_glShaderStorageBlockBinding = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glShaderStorageBlockBinding"); - if(!_ptrc_glShaderStorageBlockBinding) numFailed++; - _ptrc_glTexBufferRange = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr))IntGetProcAddress("glTexBufferRange"); - if(!_ptrc_glTexBufferRange) numFailed++; - _ptrc_glTexStorage2DMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTexStorage2DMultisample"); - if(!_ptrc_glTexStorage2DMultisample) numFailed++; - _ptrc_glTexStorage3DMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTexStorage3DMultisample"); - if(!_ptrc_glTexStorage3DMultisample) numFailed++; - _ptrc_glTextureView = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glTextureView"); - if(!_ptrc_glTextureView) numFailed++; - _ptrc_glVertexAttribBinding = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glVertexAttribBinding"); - if(!_ptrc_glVertexAttribBinding) numFailed++; - _ptrc_glVertexAttribFormat = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLboolean, GLuint))IntGetProcAddress("glVertexAttribFormat"); - if(!_ptrc_glVertexAttribFormat) numFailed++; - _ptrc_glVertexAttribIFormat = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLuint))IntGetProcAddress("glVertexAttribIFormat"); - if(!_ptrc_glVertexAttribIFormat) numFailed++; - _ptrc_glVertexAttribLFormat = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLuint))IntGetProcAddress("glVertexAttribLFormat"); - if(!_ptrc_glVertexAttribLFormat) numFailed++; - _ptrc_glVertexBindingDivisor = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glVertexBindingDivisor"); - if(!_ptrc_glVertexBindingDivisor) numFailed++; - _ptrc_glBindBuffersBase = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei, const GLuint *))IntGetProcAddress("glBindBuffersBase"); - if(!_ptrc_glBindBuffersBase) numFailed++; - _ptrc_glBindBuffersRange = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *))IntGetProcAddress("glBindBuffersRange"); - if(!_ptrc_glBindBuffersRange) numFailed++; - _ptrc_glBindImageTextures = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLuint *))IntGetProcAddress("glBindImageTextures"); - if(!_ptrc_glBindImageTextures) numFailed++; - _ptrc_glBindSamplers = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLuint *))IntGetProcAddress("glBindSamplers"); - if(!_ptrc_glBindSamplers) numFailed++; - _ptrc_glBindTextures = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLuint *))IntGetProcAddress("glBindTextures"); - if(!_ptrc_glBindTextures) numFailed++; - _ptrc_glBindVertexBuffers = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *))IntGetProcAddress("glBindVertexBuffers"); - if(!_ptrc_glBindVertexBuffers) numFailed++; - _ptrc_glBufferStorage = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizeiptr, const void *, GLbitfield))IntGetProcAddress("glBufferStorage"); - if(!_ptrc_glBufferStorage) numFailed++; - _ptrc_glClearTexImage = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLenum, const void *))IntGetProcAddress("glClearTexImage"); - if(!_ptrc_glClearTexImage) numFailed++; - _ptrc_glClearTexSubImage = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *))IntGetProcAddress("glClearTexSubImage"); - if(!_ptrc_glClearTexSubImage) numFailed++; - return numFailed; -} - -typedef int (*PFN_LOADFUNCPOINTERS)(); -typedef struct ogl_StrToExtMap_s -{ - char *extensionName; - int *extensionVariable; - PFN_LOADFUNCPOINTERS LoadExtension; -} ogl_StrToExtMap; - -static ogl_StrToExtMap ExtensionMap[11] = { - {"GL_AMD_vertex_shader_layer", &ogl_ext_AMD_vertex_shader_layer, NULL}, - {"GL_AMD_shader_trinary_minmax", &ogl_ext_AMD_shader_trinary_minmax, NULL}, - {"GL_ARB_robustness", &ogl_ext_ARB_robustness, Load_ARB_robustness}, - {"GL_ATI_texture_mirror_once", &ogl_ext_ATI_texture_mirror_once, NULL}, - {"GL_EXT_texture_filter_anisotropic", &ogl_ext_EXT_texture_filter_anisotropic, NULL}, - {"GL_EXT_texture_mirror_clamp", &ogl_ext_EXT_texture_mirror_clamp, NULL}, - {"GL_EXT_direct_state_access", &ogl_ext_EXT_direct_state_access, Load_EXT_direct_state_access}, - {"GL_EXT_texture_sRGB_decode", &ogl_ext_EXT_texture_sRGB_decode, NULL}, - {"GL_EXT_debug_label", &ogl_ext_EXT_debug_label, Load_EXT_debug_label}, - {"GL_EXT_debug_marker", &ogl_ext_EXT_debug_marker, Load_EXT_debug_marker}, - {"GL_GREMEDY_string_marker", &ogl_ext_GREMEDY_string_marker, Load_GREMEDY_string_marker}, -}; - -static int g_extensionMapSize = 11; - -static void ClearExtensionVars() -{ - ogl_ext_AMD_vertex_shader_layer = ogl_LOAD_FAILED; - ogl_ext_AMD_shader_trinary_minmax = ogl_LOAD_FAILED; - ogl_ext_ARB_robustness = ogl_LOAD_FAILED; - ogl_ext_ATI_texture_mirror_once = ogl_LOAD_FAILED; - ogl_ext_EXT_texture_filter_anisotropic = ogl_LOAD_FAILED; - ogl_ext_EXT_texture_mirror_clamp = ogl_LOAD_FAILED; - ogl_ext_EXT_direct_state_access = ogl_LOAD_FAILED; - ogl_ext_EXT_texture_sRGB_decode = ogl_LOAD_FAILED; - ogl_ext_EXT_debug_label = ogl_LOAD_FAILED; - ogl_ext_EXT_debug_marker = ogl_LOAD_FAILED; - ogl_ext_GREMEDY_string_marker = ogl_LOAD_FAILED; -} - -static void LoadExts() -{ - int loop; - ogl_StrToExtMap *entry = ExtensionMap; - for(loop = 0; loop < g_extensionMapSize; ++loop, ++entry) - { - if(entry->LoadExtension) - { - int numFailed = entry->LoadExtension(); - if(numFailed == 0) - { - *(entry->extensionVariable) = ogl_LOAD_SUCCEEDED; - } - else - { - *(entry->extensionVariable) = ogl_LOAD_SUCCEEDED + numFailed; - } - } - else - { - *(entry->extensionVariable) = ogl_LOAD_SUCCEEDED; - } - } -} - -int ogl_LoadFunctions() -{ - int numFailed = 0; - ClearExtensionVars(); - - LoadExts(); - numFailed = Load_Version_4_4(); - - if(numFailed == 0) - return ogl_LOAD_SUCCEEDED; - else - return ogl_LOAD_SUCCEEDED + numFailed; -} - -static int g_major_version = 0; -static int g_minor_version = 0; - -static void GetGLVersion() -{ - glGetIntegerv(GL_MAJOR_VERSION, &g_major_version); - glGetIntegerv(GL_MINOR_VERSION, &g_minor_version); -} - -int ogl_GetMajorVersion() -{ - if(g_major_version == 0) - GetGLVersion(); - return g_major_version; -} - -int ogl_GetMinorVersion() -{ - if(g_major_version == 0) //Yes, check the major version to get the minor one. - GetGLVersion(); - return g_minor_version; -} - -int ogl_IsVersionGEQ(int majorVersion, int minorVersion) -{ - if(g_major_version == 0) - GetGLVersion(); - - if(majorVersion > g_major_version) return 1; - if(majorVersion < g_major_version) return 0; - if(minorVersion >= g_minor_version) return 1; - return 0; -} - diff --git a/src/MagnumExternal/OpenGL/GL/gl_magnum.h b/src/MagnumExternal/OpenGL/GL/gl_magnum.h deleted file mode 100644 index 08bceb8e2..000000000 --- a/src/MagnumExternal/OpenGL/GL/gl_magnum.h +++ /dev/null @@ -1,3233 +0,0 @@ -#ifndef POINTER_C_GENERATED_HEADER_OPENGL_H -#define POINTER_C_GENERATED_HEADER_OPENGL_H - -#if defined(__glew_h__) || defined(__GLEW_H__) -#error Attempt to include auto-generated header after including glew.h -#endif -#if defined(__gl_h_) || defined(__GL_H__) -#error Attempt to include auto-generated header after including gl.h -#endif -#if defined(__glext_h_) || defined(__GLEXT_H_) -#error Attempt to include auto-generated header after including glext.h -#endif -#if defined(__gltypes_h_) -#error Attempt to include auto-generated header after gltypes.h -#endif -#if defined(__gl_ATI_h_) -#error Attempt to include auto-generated header after including glATI.h -#endif - -#define __glew_h__ -#define __GLEW_H__ -#define __gl_h_ -#define __GL_H__ -#define __glext_h_ -#define __GLEXT_H_ -#define __gltypes_h_ -#define __gl_ATI_h_ - -#ifndef APIENTRY - #if defined(__MINGW32__) - #ifndef WIN32_LEAN_AND_MEAN - #define WIN32_LEAN_AND_MEAN 1 - #endif - #ifndef NOMINMAX - #define NOMINMAX - #endif - #include - #elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) - #ifndef WIN32_LEAN_AND_MEAN - #define WIN32_LEAN_AND_MEAN 1 - #endif - #ifndef NOMINMAX - #define NOMINMAX - #endif - #include - #else - #define APIENTRY - #endif -#endif /*APIENTRY*/ - -#ifndef CODEGEN_FUNCPTR - #define CODEGEN_REMOVE_FUNCPTR - #if defined(_WIN32) - #define CODEGEN_FUNCPTR APIENTRY - #else - #define CODEGEN_FUNCPTR - #endif -#endif /*CODEGEN_FUNCPTR*/ - -#ifdef _WIN32 - #ifdef GLLoadGen_EXPORTS - #define GLLOADGEN_EXPORT __declspec(dllexport) - #else - #define GLLOADGEN_EXPORT __declspec(dllimport) - #endif -#else - #define GLLOADGEN_EXPORT __attribute__ ((visibility ("default"))) -#endif - -#ifndef GLAPI - #define GLAPI extern -#endif - - -#ifndef GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS -#define GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS - - -#endif /*GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS*/ - - -#include -#ifndef GLEXT_64_TYPES_DEFINED -/* This code block is duplicated in glxext.h, so must be protected */ -#define GLEXT_64_TYPES_DEFINED -/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ -/* (as used in the GL_EXT_timer_query extension). */ -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -#include -#elif defined(__sun__) || defined(__digital__) -#include -#if defined(__STDC__) -#if defined(__arch64__) || defined(_LP64) -typedef long int int64_t; -typedef unsigned long int uint64_t; -#else -typedef long long int int64_t; -typedef unsigned long long int uint64_t; -#endif /* __arch64__ */ -#endif /* __STDC__ */ -#elif defined( __VMS ) || defined(__sgi) -#include -#elif defined(__SCO__) || defined(__USLC__) -#include -#elif defined(__UNIXOS2__) || defined(__SOL64__) -typedef long int int32_t; -typedef long long int int64_t; -typedef unsigned long long int uint64_t; -#elif defined(_WIN32) && defined(__GNUC__) -#include -#elif defined(_WIN32) -typedef __int32 int32_t; -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; -#else -/* Fallback if nothing above works */ -#include -#endif -#endif - typedef unsigned int GLenum; - typedef unsigned char GLboolean; - typedef unsigned int GLbitfield; - typedef void GLvoid; - typedef signed char GLbyte; - typedef short GLshort; - typedef int GLint; - typedef unsigned char GLubyte; - typedef unsigned short GLushort; - typedef unsigned int GLuint; - typedef int GLsizei; - typedef float GLfloat; - typedef float GLclampf; - typedef double GLdouble; - typedef double GLclampd; - typedef char GLchar; - typedef char GLcharARB; - #ifdef __APPLE__ -typedef void *GLhandleARB; -#else -typedef unsigned int GLhandleARB; -#endif - typedef unsigned short GLhalfARB; - typedef unsigned short GLhalf; - typedef GLint GLfixed; - typedef ptrdiff_t GLintptr; - typedef ptrdiff_t GLsizeiptr; - typedef int64_t GLint64; - typedef uint64_t GLuint64; - typedef ptrdiff_t GLintptrARB; - typedef ptrdiff_t GLsizeiptrARB; - typedef int64_t GLint64EXT; - typedef uint64_t GLuint64EXT; - typedef struct __GLsync *GLsync; - struct _cl_context; - struct _cl_event; - typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); - typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); - typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); - typedef unsigned short GLhalfNV; - typedef GLintptr GLvdpauSurfaceNV; - -#ifdef __cplusplus -extern "C" { -#endif /*__cplusplus*/ - -extern int ogl_ext_AMD_vertex_shader_layer; -extern int ogl_ext_AMD_shader_trinary_minmax; -extern int ogl_ext_ARB_robustness; -extern int ogl_ext_ATI_texture_mirror_once; -extern int ogl_ext_EXT_texture_filter_anisotropic; -extern int ogl_ext_EXT_texture_mirror_clamp; -extern int ogl_ext_EXT_direct_state_access; -extern int ogl_ext_EXT_texture_sRGB_decode; -extern int ogl_ext_EXT_debug_label; -extern int ogl_ext_EXT_debug_marker; -extern int ogl_ext_GREMEDY_string_marker; - -#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 -#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 -#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 -#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 -#define GL_NO_ERROR 0 -#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 -#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 -#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 - -#define GL_MIRROR_CLAMP_ATI 0x8742 -#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 - -#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF -#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE - -#define GL_MIRROR_CLAMP_EXT 0x8742 -#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 -#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 - -#define GL_PROGRAM_MATRIX_EXT 0x8E2D -#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F -#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E - -#define GL_DECODE_EXT 0x8A49 -#define GL_SKIP_DECODE_EXT 0x8A4A -#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 - -#define GL_BUFFER_OBJECT_EXT 0x9151 -#define GL_PROGRAM_OBJECT_EXT 0x8B40 -#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F -#define GL_QUERY_OBJECT_EXT 0x9153 -#define GL_SAMPLER 0x82E6 -#define GL_SHADER_OBJECT_EXT 0x8B48 -#define GL_TRANSFORM_FEEDBACK 0x8E22 -#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 - -#define GL_ALPHA 0x1906 -#define GL_ALWAYS 0x0207 -#define GL_AND 0x1501 -#define GL_AND_INVERTED 0x1504 -#define GL_AND_REVERSE 0x1502 -#define GL_BACK 0x0405 -#define GL_BACK_LEFT 0x0402 -#define GL_BACK_RIGHT 0x0403 -#define GL_BLEND 0x0BE2 -#define GL_BLEND_DST 0x0BE0 -#define GL_BLEND_SRC 0x0BE1 -#define GL_BLUE 0x1905 -#define GL_BYTE 0x1400 -#define GL_CCW 0x0901 -#define GL_CLEAR 0x1500 -#define GL_COLOR 0x1800 -#define GL_COLOR_BUFFER_BIT 0x00004000 -#define GL_COLOR_CLEAR_VALUE 0x0C22 -#define GL_COLOR_LOGIC_OP 0x0BF2 -#define GL_COLOR_WRITEMASK 0x0C23 -#define GL_COPY 0x1503 -#define GL_COPY_INVERTED 0x150C -#define GL_CULL_FACE 0x0B44 -#define GL_CULL_FACE_MODE 0x0B45 -#define GL_CW 0x0900 -#define GL_DECR 0x1E03 -#define GL_DEPTH 0x1801 -#define GL_DEPTH_BUFFER_BIT 0x00000100 -#define GL_DEPTH_CLEAR_VALUE 0x0B73 -#define GL_DEPTH_COMPONENT 0x1902 -#define GL_DEPTH_FUNC 0x0B74 -#define GL_DEPTH_RANGE 0x0B70 -#define GL_DEPTH_TEST 0x0B71 -#define GL_DEPTH_WRITEMASK 0x0B72 -#define GL_DITHER 0x0BD0 -#define GL_DONT_CARE 0x1100 -#define GL_DOUBLE 0x140A -#define GL_DOUBLEBUFFER 0x0C32 -#define GL_DRAW_BUFFER 0x0C01 -#define GL_DST_ALPHA 0x0304 -#define GL_DST_COLOR 0x0306 -#define GL_EQUAL 0x0202 -#define GL_EQUIV 0x1509 -#define GL_EXTENSIONS 0x1F03 -#define GL_FALSE 0 -#define GL_FASTEST 0x1101 -#define GL_FILL 0x1B02 -#define GL_FLOAT 0x1406 -#define GL_FRONT 0x0404 -#define GL_FRONT_AND_BACK 0x0408 -#define GL_FRONT_FACE 0x0B46 -#define GL_FRONT_LEFT 0x0400 -#define GL_FRONT_RIGHT 0x0401 -#define GL_GEQUAL 0x0206 -#define GL_GREATER 0x0204 -#define GL_GREEN 0x1904 -#define GL_INCR 0x1E02 -#define GL_INT 0x1404 -#define GL_INVALID_ENUM 0x0500 -#define GL_INVALID_OPERATION 0x0502 -#define GL_INVALID_VALUE 0x0501 -#define GL_INVERT 0x150A -#define GL_KEEP 0x1E00 -#define GL_LEFT 0x0406 -#define GL_LEQUAL 0x0203 -#define GL_LESS 0x0201 -#define GL_LINE 0x1B01 -#define GL_LINEAR 0x2601 -#define GL_LINEAR_MIPMAP_LINEAR 0x2703 -#define GL_LINEAR_MIPMAP_NEAREST 0x2701 -#define GL_LINES 0x0001 -#define GL_LINE_LOOP 0x0002 -#define GL_LINE_SMOOTH 0x0B20 -#define GL_LINE_SMOOTH_HINT 0x0C52 -#define GL_LINE_STRIP 0x0003 -#define GL_LINE_WIDTH 0x0B21 -#define GL_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_LINE_WIDTH_RANGE 0x0B22 -#define GL_LOGIC_OP_MODE 0x0BF0 -#define GL_MAX_TEXTURE_SIZE 0x0D33 -#define GL_MAX_VIEWPORT_DIMS 0x0D3A -#define GL_NAND 0x150E -#define GL_NEAREST 0x2600 -#define GL_NEAREST_MIPMAP_LINEAR 0x2702 -#define GL_NEAREST_MIPMAP_NEAREST 0x2700 -#define GL_NEVER 0x0200 -#define GL_NICEST 0x1102 -#define GL_NONE 0 -#define GL_NOOP 0x1505 -#define GL_NOR 0x1508 -#define GL_NOTEQUAL 0x0205 -/*Copied GL_NO_ERROR From: ARB_robustness*/ -#define GL_ONE 1 -#define GL_ONE_MINUS_DST_ALPHA 0x0305 -#define GL_ONE_MINUS_DST_COLOR 0x0307 -#define GL_ONE_MINUS_SRC_ALPHA 0x0303 -#define GL_ONE_MINUS_SRC_COLOR 0x0301 -#define GL_OR 0x1507 -#define GL_OR_INVERTED 0x150D -#define GL_OR_REVERSE 0x150B -#define GL_OUT_OF_MEMORY 0x0505 -#define GL_PACK_ALIGNMENT 0x0D05 -#define GL_PACK_LSB_FIRST 0x0D01 -#define GL_PACK_ROW_LENGTH 0x0D02 -#define GL_PACK_SKIP_PIXELS 0x0D04 -#define GL_PACK_SKIP_ROWS 0x0D03 -#define GL_PACK_SWAP_BYTES 0x0D00 -#define GL_POINT 0x1B00 -#define GL_POINTS 0x0000 -#define GL_POINT_SIZE 0x0B11 -#define GL_POINT_SIZE_GRANULARITY 0x0B13 -#define GL_POINT_SIZE_RANGE 0x0B12 -#define GL_POLYGON_MODE 0x0B40 -#define GL_POLYGON_OFFSET_FACTOR 0x8038 -#define GL_POLYGON_OFFSET_FILL 0x8037 -#define GL_POLYGON_OFFSET_LINE 0x2A02 -#define GL_POLYGON_OFFSET_POINT 0x2A01 -#define GL_POLYGON_OFFSET_UNITS 0x2A00 -#define GL_POLYGON_SMOOTH 0x0B41 -#define GL_POLYGON_SMOOTH_HINT 0x0C53 -#define GL_PROXY_TEXTURE_1D 0x8063 -#define GL_PROXY_TEXTURE_2D 0x8064 -#define GL_QUADS 0x0007 -#define GL_R3_G3_B2 0x2A10 -#define GL_READ_BUFFER 0x0C02 -#define GL_RED 0x1903 -#define GL_RENDERER 0x1F01 -#define GL_REPEAT 0x2901 -#define GL_REPLACE 0x1E01 -#define GL_RGB 0x1907 -#define GL_RGB10 0x8052 -#define GL_RGB10_A2 0x8059 -#define GL_RGB12 0x8053 -#define GL_RGB16 0x8054 -#define GL_RGB4 0x804F -#define GL_RGB5 0x8050 -#define GL_RGB5_A1 0x8057 -#define GL_RGB8 0x8051 -#define GL_RGBA 0x1908 -#define GL_RGBA12 0x805A -#define GL_RGBA16 0x805B -#define GL_RGBA2 0x8055 -#define GL_RGBA4 0x8056 -#define GL_RGBA8 0x8058 -#define GL_RIGHT 0x0407 -#define GL_SCISSOR_BOX 0x0C10 -#define GL_SCISSOR_TEST 0x0C11 -#define GL_SET 0x150F -#define GL_SHORT 0x1402 -#define GL_SRC_ALPHA 0x0302 -#define GL_SRC_ALPHA_SATURATE 0x0308 -#define GL_SRC_COLOR 0x0300 -#define GL_STACK_OVERFLOW 0x0503 -#define GL_STACK_UNDERFLOW 0x0504 -#define GL_STENCIL 0x1802 -#define GL_STENCIL_BUFFER_BIT 0x00000400 -#define GL_STENCIL_CLEAR_VALUE 0x0B91 -#define GL_STENCIL_FAIL 0x0B94 -#define GL_STENCIL_FUNC 0x0B92 -#define GL_STENCIL_INDEX 0x1901 -#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 -#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 -#define GL_STENCIL_REF 0x0B97 -#define GL_STENCIL_TEST 0x0B90 -#define GL_STENCIL_VALUE_MASK 0x0B93 -#define GL_STENCIL_WRITEMASK 0x0B98 -#define GL_STEREO 0x0C33 -#define GL_SUBPIXEL_BITS 0x0D50 -#define GL_TEXTURE 0x1702 -#define GL_TEXTURE_1D 0x0DE0 -#define GL_TEXTURE_2D 0x0DE1 -#define GL_TEXTURE_ALPHA_SIZE 0x805F -#define GL_TEXTURE_BINDING_1D 0x8068 -#define GL_TEXTURE_BINDING_2D 0x8069 -#define GL_TEXTURE_BLUE_SIZE 0x805E -#define GL_TEXTURE_BORDER_COLOR 0x1004 -#define GL_TEXTURE_GREEN_SIZE 0x805D -#define GL_TEXTURE_HEIGHT 0x1001 -#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 -#define GL_TEXTURE_MAG_FILTER 0x2800 -#define GL_TEXTURE_MIN_FILTER 0x2801 -#define GL_TEXTURE_RED_SIZE 0x805C -#define GL_TEXTURE_WIDTH 0x1000 -#define GL_TEXTURE_WRAP_S 0x2802 -#define GL_TEXTURE_WRAP_T 0x2803 -#define GL_TRIANGLES 0x0004 -#define GL_TRIANGLE_FAN 0x0006 -#define GL_TRIANGLE_STRIP 0x0005 -#define GL_TRUE 1 -#define GL_UNPACK_ALIGNMENT 0x0CF5 -#define GL_UNPACK_LSB_FIRST 0x0CF1 -#define GL_UNPACK_ROW_LENGTH 0x0CF2 -#define GL_UNPACK_SKIP_PIXELS 0x0CF4 -#define GL_UNPACK_SKIP_ROWS 0x0CF3 -#define GL_UNPACK_SWAP_BYTES 0x0CF0 -#define GL_UNSIGNED_BYTE 0x1401 -#define GL_UNSIGNED_INT 0x1405 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_VENDOR 0x1F00 -#define GL_VERSION 0x1F02 -#define GL_VERTEX_ARRAY 0x8074 -#define GL_VIEWPORT 0x0BA2 -#define GL_XOR 0x1506 -#define GL_ZERO 0 - -#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E -#define GL_BGR 0x80E0 -#define GL_BGRA 0x80E1 -#define GL_CLAMP_TO_EDGE 0x812F -#define GL_MAX_3D_TEXTURE_SIZE 0x8073 -#define GL_MAX_ELEMENTS_INDICES 0x80E9 -#define GL_MAX_ELEMENTS_VERTICES 0x80E8 -#define GL_PACK_IMAGE_HEIGHT 0x806C -#define GL_PACK_SKIP_IMAGES 0x806B -#define GL_PROXY_TEXTURE_3D 0x8070 -#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 -#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 -#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 -#define GL_TEXTURE_3D 0x806F -#define GL_TEXTURE_BASE_LEVEL 0x813C -#define GL_TEXTURE_BINDING_3D 0x806A -#define GL_TEXTURE_DEPTH 0x8071 -#define GL_TEXTURE_MAX_LEVEL 0x813D -#define GL_TEXTURE_MAX_LOD 0x813B -#define GL_TEXTURE_MIN_LOD 0x813A -#define GL_TEXTURE_WRAP_R 0x8072 -#define GL_UNPACK_IMAGE_HEIGHT 0x806E -#define GL_UNPACK_SKIP_IMAGES 0x806D -#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 -#define GL_UNSIGNED_BYTE_3_3_2 0x8032 -#define GL_UNSIGNED_INT_10_10_10_2 0x8036 -#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 -#define GL_UNSIGNED_INT_8_8_8_8 0x8035 -#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 -#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 -#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 -#define GL_UNSIGNED_SHORT_5_6_5 0x8363 -#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 - -#define GL_ACTIVE_TEXTURE 0x84E0 -#define GL_CLAMP_TO_BORDER 0x812D -#define GL_COMPRESSED_RGB 0x84ED -#define GL_COMPRESSED_RGBA 0x84EE -#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C -#define GL_MULTISAMPLE 0x809D -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 -#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B -#define GL_SAMPLES 0x80A9 -#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E -#define GL_SAMPLE_ALPHA_TO_ONE 0x809F -#define GL_SAMPLE_BUFFERS 0x80A8 -#define GL_SAMPLE_COVERAGE 0x80A0 -#define GL_SAMPLE_COVERAGE_INVERT 0x80AB -#define GL_SAMPLE_COVERAGE_VALUE 0x80AA -#define GL_TEXTURE0 0x84C0 -#define GL_TEXTURE1 0x84C1 -#define GL_TEXTURE10 0x84CA -#define GL_TEXTURE11 0x84CB -#define GL_TEXTURE12 0x84CC -#define GL_TEXTURE13 0x84CD -#define GL_TEXTURE14 0x84CE -#define GL_TEXTURE15 0x84CF -#define GL_TEXTURE16 0x84D0 -#define GL_TEXTURE17 0x84D1 -#define GL_TEXTURE18 0x84D2 -#define GL_TEXTURE19 0x84D3 -#define GL_TEXTURE2 0x84C2 -#define GL_TEXTURE20 0x84D4 -#define GL_TEXTURE21 0x84D5 -#define GL_TEXTURE22 0x84D6 -#define GL_TEXTURE23 0x84D7 -#define GL_TEXTURE24 0x84D8 -#define GL_TEXTURE25 0x84D9 -#define GL_TEXTURE26 0x84DA -#define GL_TEXTURE27 0x84DB -#define GL_TEXTURE28 0x84DC -#define GL_TEXTURE29 0x84DD -#define GL_TEXTURE3 0x84C3 -#define GL_TEXTURE30 0x84DE -#define GL_TEXTURE31 0x84DF -#define GL_TEXTURE4 0x84C4 -#define GL_TEXTURE5 0x84C5 -#define GL_TEXTURE6 0x84C6 -#define GL_TEXTURE7 0x84C7 -#define GL_TEXTURE8 0x84C8 -#define GL_TEXTURE9 0x84C9 -#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 -#define GL_TEXTURE_COMPRESSED 0x86A1 -#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 -#define GL_TEXTURE_COMPRESSION_HINT 0x84EF -#define GL_TEXTURE_CUBE_MAP 0x8513 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 - -#define GL_BLEND_DST_ALPHA 0x80CA -#define GL_BLEND_DST_RGB 0x80C8 -#define GL_BLEND_SRC_ALPHA 0x80CB -#define GL_BLEND_SRC_RGB 0x80C9 -#define GL_CONSTANT_ALPHA 0x8003 -#define GL_CONSTANT_COLOR 0x8001 -#define GL_DECR_WRAP 0x8508 -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_DEPTH_COMPONENT24 0x81A6 -#define GL_DEPTH_COMPONENT32 0x81A7 -#define GL_FUNC_ADD 0x8006 -#define GL_FUNC_REVERSE_SUBTRACT 0x800B -#define GL_FUNC_SUBTRACT 0x800A -#define GL_INCR_WRAP 0x8507 -#define GL_MAX 0x8008 -#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD -#define GL_MIN 0x8007 -#define GL_MIRRORED_REPEAT 0x8370 -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 -#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 -#define GL_TEXTURE_COMPARE_FUNC 0x884D -#define GL_TEXTURE_COMPARE_MODE 0x884C -#define GL_TEXTURE_DEPTH_SIZE 0x884A -#define GL_TEXTURE_LOD_BIAS 0x8501 - -#define GL_ARRAY_BUFFER 0x8892 -#define GL_ARRAY_BUFFER_BINDING 0x8894 -#define GL_BUFFER_ACCESS 0x88BB -#define GL_BUFFER_MAPPED 0x88BC -#define GL_BUFFER_MAP_POINTER 0x88BD -#define GL_BUFFER_SIZE 0x8764 -#define GL_BUFFER_USAGE 0x8765 -#define GL_CURRENT_QUERY 0x8865 -#define GL_DYNAMIC_COPY 0x88EA -#define GL_DYNAMIC_DRAW 0x88E8 -#define GL_DYNAMIC_READ 0x88E9 -#define GL_ELEMENT_ARRAY_BUFFER 0x8893 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 -#define GL_QUERY_COUNTER_BITS 0x8864 -#define GL_QUERY_RESULT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE 0x8867 -#define GL_READ_ONLY 0x88B8 -#define GL_READ_WRITE 0x88BA -#define GL_SAMPLES_PASSED 0x8914 -#define GL_SRC1_ALPHA 0x8589 -#define GL_STATIC_COPY 0x88E6 -#define GL_STATIC_DRAW 0x88E4 -#define GL_STATIC_READ 0x88E5 -#define GL_STREAM_COPY 0x88E2 -#define GL_STREAM_DRAW 0x88E0 -#define GL_STREAM_READ 0x88E1 -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F -#define GL_WRITE_ONLY 0x88B9 - -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_BLEND_EQUATION_ALPHA 0x883D -#define GL_BLEND_EQUATION_RGB 0x8009 -#define GL_BOOL 0x8B56 -#define GL_BOOL_VEC2 0x8B57 -#define GL_BOOL_VEC3 0x8B58 -#define GL_BOOL_VEC4 0x8B59 -#define GL_COMPILE_STATUS 0x8B81 -#define GL_CURRENT_PROGRAM 0x8B8D -#define GL_CURRENT_VERTEX_ATTRIB 0x8626 -#define GL_DELETE_STATUS 0x8B80 -#define GL_DRAW_BUFFER0 0x8825 -#define GL_DRAW_BUFFER1 0x8826 -#define GL_DRAW_BUFFER10 0x882F -#define GL_DRAW_BUFFER11 0x8830 -#define GL_DRAW_BUFFER12 0x8831 -#define GL_DRAW_BUFFER13 0x8832 -#define GL_DRAW_BUFFER14 0x8833 -#define GL_DRAW_BUFFER15 0x8834 -#define GL_DRAW_BUFFER2 0x8827 -#define GL_DRAW_BUFFER3 0x8828 -#define GL_DRAW_BUFFER4 0x8829 -#define GL_DRAW_BUFFER5 0x882A -#define GL_DRAW_BUFFER6 0x882B -#define GL_DRAW_BUFFER7 0x882C -#define GL_DRAW_BUFFER8 0x882D -#define GL_DRAW_BUFFER9 0x882E -#define GL_FLOAT_MAT2 0x8B5A -#define GL_FLOAT_MAT3 0x8B5B -#define GL_FLOAT_MAT4 0x8B5C -#define GL_FLOAT_VEC2 0x8B50 -#define GL_FLOAT_VEC3 0x8B51 -#define GL_FLOAT_VEC4 0x8B52 -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B -#define GL_INFO_LOG_LENGTH 0x8B84 -#define GL_INT_VEC2 0x8B53 -#define GL_INT_VEC3 0x8B54 -#define GL_INT_VEC4 0x8B55 -#define GL_LINK_STATUS 0x8B82 -#define GL_LOWER_LEFT 0x8CA1 -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_MAX_DRAW_BUFFERS 0x8824 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_MAX_VARYING_FLOATS 0x8B4B -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A -#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 -#define GL_SAMPLER_1D 0x8B5D -#define GL_SAMPLER_1D_SHADOW 0x8B61 -#define GL_SAMPLER_2D 0x8B5E -#define GL_SAMPLER_2D_SHADOW 0x8B62 -#define GL_SAMPLER_3D 0x8B5F -#define GL_SAMPLER_CUBE 0x8B60 -#define GL_SHADER_SOURCE_LENGTH 0x8B88 -#define GL_SHADER_TYPE 0x8B4F -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_STENCIL_BACK_FAIL 0x8801 -#define GL_STENCIL_BACK_FUNC 0x8800 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 -#define GL_STENCIL_BACK_REF 0x8CA3 -#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 -#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 -#define GL_UPPER_LEFT 0x8CA2 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 -#define GL_VERTEX_SHADER 0x8B31 - -#define GL_COMPRESSED_SRGB 0x8C48 -#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 -#define GL_FLOAT_MAT2x3 0x8B65 -#define GL_FLOAT_MAT2x4 0x8B66 -#define GL_FLOAT_MAT3x2 0x8B67 -#define GL_FLOAT_MAT3x4 0x8B68 -#define GL_FLOAT_MAT4x2 0x8B69 -#define GL_FLOAT_MAT4x3 0x8B6A -#define GL_PIXEL_PACK_BUFFER 0x88EB -#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED -#define GL_PIXEL_UNPACK_BUFFER 0x88EC -#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF -#define GL_SRGB 0x8C40 -#define GL_SRGB8 0x8C41 -#define GL_SRGB8_ALPHA8 0x8C43 -#define GL_SRGB_ALPHA 0x8C42 - -#define GL_BGRA_INTEGER 0x8D9B -#define GL_BGR_INTEGER 0x8D9A -#define GL_BLUE_INTEGER 0x8D96 -#define GL_BUFFER_ACCESS_FLAGS 0x911F -#define GL_BUFFER_MAP_LENGTH 0x9120 -#define GL_BUFFER_MAP_OFFSET 0x9121 -#define GL_CLAMP_READ_COLOR 0x891C -#define GL_CLIP_DISTANCE0 0x3000 -#define GL_CLIP_DISTANCE1 0x3001 -#define GL_CLIP_DISTANCE2 0x3002 -#define GL_CLIP_DISTANCE3 0x3003 -#define GL_CLIP_DISTANCE4 0x3004 -#define GL_CLIP_DISTANCE5 0x3005 -#define GL_CLIP_DISTANCE6 0x3006 -#define GL_CLIP_DISTANCE7 0x3007 -#define GL_COLOR_ATTACHMENT0 0x8CE0 -#define GL_COLOR_ATTACHMENT1 0x8CE1 -#define GL_COLOR_ATTACHMENT10 0x8CEA -#define GL_COLOR_ATTACHMENT11 0x8CEB -#define GL_COLOR_ATTACHMENT12 0x8CEC -#define GL_COLOR_ATTACHMENT13 0x8CED -#define GL_COLOR_ATTACHMENT14 0x8CEE -#define GL_COLOR_ATTACHMENT15 0x8CEF -#define GL_COLOR_ATTACHMENT2 0x8CE2 -#define GL_COLOR_ATTACHMENT3 0x8CE3 -#define GL_COLOR_ATTACHMENT4 0x8CE4 -#define GL_COLOR_ATTACHMENT5 0x8CE5 -#define GL_COLOR_ATTACHMENT6 0x8CE6 -#define GL_COLOR_ATTACHMENT7 0x8CE7 -#define GL_COLOR_ATTACHMENT8 0x8CE8 -#define GL_COLOR_ATTACHMENT9 0x8CE9 -#define GL_COMPARE_REF_TO_TEXTURE 0x884E -#define GL_COMPRESSED_RED 0x8225 -#define GL_COMPRESSED_RED_RGTC1 0x8DBB -#define GL_COMPRESSED_RG 0x8226 -#define GL_COMPRESSED_RG_RGTC2 0x8DBD -#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC -#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE -#define GL_CONTEXT_FLAGS 0x821E -#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 -#define GL_DEPTH24_STENCIL8 0x88F0 -#define GL_DEPTH32F_STENCIL8 0x8CAD -#define GL_DEPTH_ATTACHMENT 0x8D00 -#define GL_DEPTH_COMPONENT32F 0x8CAC -#define GL_DEPTH_STENCIL 0x84F9 -#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A -#define GL_DRAW_FRAMEBUFFER 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_FIXED_ONLY 0x891D -#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD -#define GL_FRAMEBUFFER 0x8D40 -#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 -#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 -#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 -#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 -#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 -#define GL_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 -#define GL_FRAMEBUFFER_DEFAULT 0x8218 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC -#define GL_FRAMEBUFFER_SRGB 0x8DB9 -#define GL_FRAMEBUFFER_UNDEFINED 0x8219 -#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD -#define GL_GREEN_INTEGER 0x8D95 -#define GL_HALF_FLOAT 0x140B -#define GL_INTERLEAVED_ATTRIBS 0x8C8C -#define GL_INT_SAMPLER_1D 0x8DC9 -#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE -#define GL_INT_SAMPLER_2D 0x8DCA -#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF -#define GL_INT_SAMPLER_3D 0x8DCB -#define GL_INT_SAMPLER_CUBE 0x8DCC -#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 -#define GL_MAJOR_VERSION 0x821B -#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 -#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 -#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 -#define GL_MAP_READ_BIT 0x0001 -#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 -#define GL_MAP_WRITE_BIT 0x0002 -#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF -#define GL_MAX_CLIP_DISTANCES 0x0D32 -#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF -#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 -#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 -#define GL_MAX_SAMPLES 0x8D57 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 -#define GL_MAX_VARYING_COMPONENTS 0x8B4B -#define GL_MINOR_VERSION 0x821C -#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 -#define GL_NUM_EXTENSIONS 0x821D -#define GL_PRIMITIVES_GENERATED 0x8C87 -#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 -#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B -#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 -#define GL_QUERY_BY_REGION_WAIT 0x8E15 -#define GL_QUERY_NO_WAIT 0x8E14 -#define GL_QUERY_WAIT 0x8E13 -#define GL_R11F_G11F_B10F 0x8C3A -#define GL_R16 0x822A -#define GL_R16F 0x822D -#define GL_R16I 0x8233 -#define GL_R16UI 0x8234 -#define GL_R32F 0x822E -#define GL_R32I 0x8235 -#define GL_R32UI 0x8236 -#define GL_R8 0x8229 -#define GL_R8I 0x8231 -#define GL_R8UI 0x8232 -#define GL_RASTERIZER_DISCARD 0x8C89 -#define GL_READ_FRAMEBUFFER 0x8CA8 -#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA -#define GL_RED_INTEGER 0x8D94 -#define GL_RENDERBUFFER 0x8D41 -#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 -#define GL_RENDERBUFFER_BINDING 0x8CA7 -#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 -#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 -#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 -#define GL_RENDERBUFFER_HEIGHT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 -#define GL_RENDERBUFFER_RED_SIZE 0x8D50 -#define GL_RENDERBUFFER_SAMPLES 0x8CAB -#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 -#define GL_RENDERBUFFER_WIDTH 0x8D42 -#define GL_RG 0x8227 -#define GL_RG16 0x822C -#define GL_RG16F 0x822F -#define GL_RG16I 0x8239 -#define GL_RG16UI 0x823A -#define GL_RG32F 0x8230 -#define GL_RG32I 0x823B -#define GL_RG32UI 0x823C -#define GL_RG8 0x822B -#define GL_RG8I 0x8237 -#define GL_RG8UI 0x8238 -#define GL_RGB16F 0x881B -#define GL_RGB16I 0x8D89 -#define GL_RGB16UI 0x8D77 -#define GL_RGB32F 0x8815 -#define GL_RGB32I 0x8D83 -#define GL_RGB32UI 0x8D71 -#define GL_RGB8I 0x8D8F -#define GL_RGB8UI 0x8D7D -#define GL_RGB9_E5 0x8C3D -#define GL_RGBA16F 0x881A -#define GL_RGBA16I 0x8D88 -#define GL_RGBA16UI 0x8D76 -#define GL_RGBA32F 0x8814 -#define GL_RGBA32I 0x8D82 -#define GL_RGBA32UI 0x8D70 -#define GL_RGBA8I 0x8D8E -#define GL_RGBA8UI 0x8D7C -#define GL_RGBA_INTEGER 0x8D99 -#define GL_RGB_INTEGER 0x8D98 -#define GL_RG_INTEGER 0x8228 -#define GL_SAMPLER_1D_ARRAY 0x8DC0 -#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 -#define GL_SAMPLER_2D_ARRAY 0x8DC1 -#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 -#define GL_SEPARATE_ATTRIBS 0x8C8D -#define GL_STENCIL_ATTACHMENT 0x8D20 -#define GL_STENCIL_INDEX1 0x8D46 -#define GL_STENCIL_INDEX16 0x8D49 -#define GL_STENCIL_INDEX4 0x8D47 -#define GL_STENCIL_INDEX8 0x8D48 -#define GL_TEXTURE_1D_ARRAY 0x8C18 -#define GL_TEXTURE_2D_ARRAY 0x8C1A -#define GL_TEXTURE_ALPHA_TYPE 0x8C13 -#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C -#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D -#define GL_TEXTURE_BLUE_TYPE 0x8C12 -#define GL_TEXTURE_DEPTH_TYPE 0x8C16 -#define GL_TEXTURE_GREEN_TYPE 0x8C11 -#define GL_TEXTURE_RED_TYPE 0x8C10 -#define GL_TEXTURE_SHARED_SIZE 0x8C3F -#define GL_TEXTURE_STENCIL_SIZE 0x88F1 -#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 -#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 -#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 -#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B -#define GL_UNSIGNED_INT_24_8 0x84FA -#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E -#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 -#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 -#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 -#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 -#define GL_UNSIGNED_INT_VEC2 0x8DC6 -#define GL_UNSIGNED_INT_VEC3 0x8DC7 -#define GL_UNSIGNED_INT_VEC4 0x8DC8 -#define GL_UNSIGNED_NORMALIZED 0x8C17 -#define GL_VERTEX_ARRAY_BINDING 0x85B5 -#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD - -#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 -#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 -#define GL_COPY_READ_BUFFER 0x8F36 -#define GL_COPY_WRITE_BUFFER 0x8F37 -#define GL_INT_SAMPLER_2D_RECT 0x8DCD -#define GL_INT_SAMPLER_BUFFER 0x8DD0 -#define GL_INVALID_INDEX 0xFFFFFFFF -#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 -#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E -#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 -#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D -#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 -#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B -#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 -#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F -#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B -#define GL_PRIMITIVE_RESTART 0x8F9D -#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E -#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 -#define GL_R16_SNORM 0x8F98 -#define GL_R8_SNORM 0x8F94 -#define GL_RG16_SNORM 0x8F99 -#define GL_RG8_SNORM 0x8F95 -#define GL_RGB16_SNORM 0x8F9A -#define GL_RGB8_SNORM 0x8F96 -#define GL_RGBA16_SNORM 0x8F9B -#define GL_RGBA8_SNORM 0x8F97 -#define GL_SAMPLER_2D_RECT 0x8B63 -#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 -#define GL_SAMPLER_BUFFER 0x8DC2 -#define GL_SIGNED_NORMALIZED 0x8F9C -#define GL_TEXTURE_BINDING_BUFFER 0x8C2C -#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 -#define GL_TEXTURE_BUFFER 0x8C2A -#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D -#define GL_TEXTURE_RECTANGLE 0x84F5 -#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 -#define GL_UNIFORM_BLOCK_BINDING 0x8A3F -#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 -#define GL_UNIFORM_BLOCK_INDEX 0x8A3A -#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 -#define GL_UNIFORM_BUFFER 0x8A11 -#define GL_UNIFORM_BUFFER_BINDING 0x8A28 -#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 -#define GL_UNIFORM_BUFFER_SIZE 0x8A2A -#define GL_UNIFORM_BUFFER_START 0x8A29 -#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E -#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D -#define GL_UNIFORM_NAME_LENGTH 0x8A39 -#define GL_UNIFORM_OFFSET 0x8A3B -#define GL_UNIFORM_SIZE 0x8A38 -#define GL_UNIFORM_TYPE 0x8A37 -#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 -#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 - -#define GL_ALREADY_SIGNALED 0x911A -#define GL_CONDITION_SATISFIED 0x911C -#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 -#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 -#define GL_CONTEXT_PROFILE_MASK 0x9126 -#define GL_DEPTH_CLAMP 0x864F -#define GL_FIRST_VERTEX_CONVENTION 0x8E4D -#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 -#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 -#define GL_GEOMETRY_INPUT_TYPE 0x8917 -#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 -#define GL_GEOMETRY_SHADER 0x8DD9 -#define GL_GEOMETRY_VERTICES_OUT 0x8916 -#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 -#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C -#define GL_LAST_VERTEX_CONVENTION 0x8E4E -#define GL_LINES_ADJACENCY 0x000A -#define GL_LINE_STRIP_ADJACENCY 0x000B -#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E -#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F -#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 -#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 -#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 -#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 -#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 -#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 -#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF -#define GL_MAX_INTEGER_SAMPLES 0x9110 -#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 -#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 -#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 -#define GL_OBJECT_TYPE 0x9112 -#define GL_PROGRAM_POINT_SIZE 0x8642 -#define GL_PROVOKING_VERTEX 0x8E4F -#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 -#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 -#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C -#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 -#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B -#define GL_SAMPLE_MASK 0x8E51 -#define GL_SAMPLE_MASK_VALUE 0x8E52 -#define GL_SAMPLE_POSITION 0x8E50 -#define GL_SIGNALED 0x9119 -#define GL_SYNC_CONDITION 0x9113 -#define GL_SYNC_FENCE 0x9116 -#define GL_SYNC_FLAGS 0x9115 -#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 -#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 -#define GL_SYNC_STATUS 0x9114 -#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 -#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 -#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 -#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 -#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F -#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 -#define GL_TEXTURE_SAMPLES 0x9106 -#define GL_TIMEOUT_EXPIRED 0x911B -#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF -#define GL_TRIANGLES_ADJACENCY 0x000C -#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D -#define GL_UNSIGNALED 0x9118 -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A -#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D -#define GL_WAIT_FAILED 0x911D - -#define GL_ANY_SAMPLES_PASSED 0x8C2F -#define GL_INT_2_10_10_10_REV 0x8D9F -#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC -#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB -#define GL_ONE_MINUS_SRC1_COLOR 0x88FA -#define GL_RGB10_A2UI 0x906F -#define GL_SAMPLER_BINDING 0x8919 -#define GL_SRC1_COLOR 0x88F9 -#define GL_TEXTURE_SWIZZLE_A 0x8E45 -#define GL_TEXTURE_SWIZZLE_B 0x8E44 -#define GL_TEXTURE_SWIZZLE_G 0x8E43 -#define GL_TEXTURE_SWIZZLE_R 0x8E42 -#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 -#define GL_TIMESTAMP 0x8E28 -#define GL_TIME_ELAPSED 0x88BF -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE - -#define GL_ACTIVE_SUBROUTINES 0x8DE5 -#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 -#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 -#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 -#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 -#define GL_COMPATIBLE_SUBROUTINES 0x8E4B -#define GL_DOUBLE_MAT2 0x8F46 -#define GL_DOUBLE_MAT2x3 0x8F49 -#define GL_DOUBLE_MAT2x4 0x8F4A -#define GL_DOUBLE_MAT3 0x8F47 -#define GL_DOUBLE_MAT3x2 0x8F4B -#define GL_DOUBLE_MAT3x4 0x8F4C -#define GL_DOUBLE_MAT4 0x8F48 -#define GL_DOUBLE_MAT4x2 0x8F4D -#define GL_DOUBLE_MAT4x3 0x8F4E -#define GL_DOUBLE_VEC2 0x8FFC -#define GL_DOUBLE_VEC3 0x8FFD -#define GL_DOUBLE_VEC4 0x8FFE -#define GL_DRAW_INDIRECT_BUFFER 0x8F3F -#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 -#define GL_FRACTIONAL_EVEN 0x8E7C -#define GL_FRACTIONAL_ODD 0x8E7B -#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D -#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F -#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E -#define GL_ISOLINES 0x8E7A -#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E -#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F -#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C -#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A -#define GL_MAX_PATCH_VERTICES 0x8E7D -#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F -#define GL_MAX_SUBROUTINES 0x8DE7 -#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 -#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C -#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 -#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 -#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 -#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 -#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F -#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D -#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 -#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 -#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A -#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 -#define GL_MAX_TESS_GEN_LEVEL 0x8E7E -#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 -#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 -#define GL_MAX_VERTEX_STREAMS 0x8E71 -#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B -#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E -#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 -#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A -#define GL_PATCHES 0x000E -#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 -#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 -#define GL_PATCH_VERTICES 0x8E72 -#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B -#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C -#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D -#define GL_SAMPLE_SHADING 0x8C36 -#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 -#define GL_TESS_CONTROL_SHADER 0x8E88 -#define GL_TESS_EVALUATION_SHADER 0x8E87 -#define GL_TESS_GEN_MODE 0x8E76 -#define GL_TESS_GEN_POINT_MODE 0x8E79 -#define GL_TESS_GEN_SPACING 0x8E77 -#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 -#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A -#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 -/*Copied GL_TRANSFORM_FEEDBACK From: EXT_debug_label*/ -#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 -#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 -#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 -#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F - -#define GL_ACTIVE_PROGRAM 0x8259 -#define GL_ALL_SHADER_BITS 0xFFFFFFFF -#define GL_FIXED 0x140C -#define GL_FRAGMENT_SHADER_BIT 0x00000002 -#define GL_GEOMETRY_SHADER_BIT 0x00000004 -#define GL_HIGH_FLOAT 0x8DF2 -#define GL_HIGH_INT 0x8DF5 -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B -#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A -#define GL_LAYER_PROVOKING_VERTEX 0x825E -#define GL_LOW_FLOAT 0x8DF0 -#define GL_LOW_INT 0x8DF3 -#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD -#define GL_MAX_VARYING_VECTORS 0x8DFC -#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB -#define GL_MAX_VIEWPORTS 0x825B -#define GL_MEDIUM_FLOAT 0x8DF1 -#define GL_MEDIUM_INT 0x8DF4 -#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE -#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 -#define GL_PROGRAM_BINARY_FORMATS 0x87FF -#define GL_PROGRAM_BINARY_LENGTH 0x8741 -#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 -#define GL_PROGRAM_PIPELINE_BINDING 0x825A -#define GL_PROGRAM_SEPARABLE 0x8258 -#define GL_RGB565 0x8D62 -#define GL_SHADER_BINARY_FORMATS 0x8DF8 -#define GL_SHADER_COMPILER 0x8DFA -#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 -#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 -#define GL_UNDEFINED_VERTEX 0x8260 -#define GL_VERTEX_SHADER_BIT 0x00000001 -#define GL_VIEWPORT_BOUNDS_RANGE 0x825D -#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F -#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C - -#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 -#define GL_ALL_BARRIER_BITS 0xFFFFFFFF -#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 -#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 -#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 -#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 -#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 -#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 -#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 -#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 -#define GL_COMMAND_BARRIER_BIT 0x00000040 -#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C -#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E -#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F -#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D -#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 -#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 -#define GL_IMAGE_1D 0x904C -#define GL_IMAGE_1D_ARRAY 0x9052 -#define GL_IMAGE_2D 0x904D -#define GL_IMAGE_2D_ARRAY 0x9053 -#define GL_IMAGE_2D_MULTISAMPLE 0x9055 -#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 -#define GL_IMAGE_2D_RECT 0x904F -#define GL_IMAGE_3D 0x904E -#define GL_IMAGE_BINDING_ACCESS 0x8F3E -#define GL_IMAGE_BINDING_FORMAT 0x906E -#define GL_IMAGE_BINDING_LAYER 0x8F3D -#define GL_IMAGE_BINDING_LAYERED 0x8F3C -#define GL_IMAGE_BINDING_LEVEL 0x8F3B -#define GL_IMAGE_BINDING_NAME 0x8F3A -#define GL_IMAGE_BUFFER 0x9051 -#define GL_IMAGE_CUBE 0x9050 -#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 -#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 -#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 -#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 -#define GL_INT_IMAGE_1D 0x9057 -#define GL_INT_IMAGE_1D_ARRAY 0x905D -#define GL_INT_IMAGE_2D 0x9058 -#define GL_INT_IMAGE_2D_ARRAY 0x905E -#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 -#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 -#define GL_INT_IMAGE_2D_RECT 0x905A -#define GL_INT_IMAGE_3D 0x9059 -#define GL_INT_IMAGE_BUFFER 0x905C -#define GL_INT_IMAGE_CUBE 0x905B -#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F -#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC -#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 -#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 -#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 -#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF -#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 -#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 -#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 -#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE -#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 -#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF -#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD -#define GL_MAX_IMAGE_SAMPLES 0x906D -#define GL_MAX_IMAGE_UNITS 0x8F38 -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 -#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD -#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 -#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE -#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC -#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 -#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC -#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA -#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC -#define GL_NUM_SAMPLE_COUNTS 0x9380 -#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D -#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C -#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E -#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B -#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 -#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 -#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 -#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F -#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 -#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 -#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA -#define GL_UNIFORM_BARRIER_BIT 0x00000004 -#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 -#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 -#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A -#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 -#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB -#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 -#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 -#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 -#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B -#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C -#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 -#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 -#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 -#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 -#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A -#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 - -#define GL_ACTIVE_RESOURCES 0x92F5 -#define GL_ACTIVE_VARIABLES 0x9305 -#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A -#define GL_ARRAY_SIZE 0x92FB -#define GL_ARRAY_STRIDE 0x92FE -#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 -#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED -#define GL_AUTO_GENERATE_MIPMAP 0x8295 -#define GL_BLOCK_INDEX 0x92FD -#define GL_BUFFER 0x82E0 -#define GL_BUFFER_BINDING 0x9302 -#define GL_BUFFER_DATA_SIZE 0x9303 -#define GL_BUFFER_VARIABLE 0x92E5 -#define GL_CAVEAT_SUPPORT 0x82B8 -#define GL_CLEAR_BUFFER 0x82B4 -#define GL_COLOR_COMPONENTS 0x8283 -#define GL_COLOR_ENCODING 0x8296 -#define GL_COLOR_RENDERABLE 0x8286 -#define GL_COMPRESSED_R11_EAC 0x9270 -#define GL_COMPRESSED_RG11_EAC 0x9272 -#define GL_COMPRESSED_RGB8_ETC2 0x9274 -#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 -#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 -#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 -#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 -#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 -#define GL_COMPRESSED_SRGB8_ETC2 0x9275 -#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 -#define GL_COMPUTE_SHADER 0x91B9 -#define GL_COMPUTE_SUBROUTINE 0x92ED -#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 -#define GL_COMPUTE_TEXTURE 0x82A0 -#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 -#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 -#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 -#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 -#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D -#define GL_DEBUG_LOGGED_MESSAGES 0x9145 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 -#define GL_DEBUG_OUTPUT 0x92E0 -#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 -#define GL_DEBUG_SEVERITY_HIGH 0x9146 -#define GL_DEBUG_SEVERITY_LOW 0x9148 -#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 -#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B -#define GL_DEBUG_SOURCE_API 0x8246 -#define GL_DEBUG_SOURCE_APPLICATION 0x824A -#define GL_DEBUG_SOURCE_OTHER 0x824B -#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 -#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D -#define GL_DEBUG_TYPE_ERROR 0x824C -#define GL_DEBUG_TYPE_MARKER 0x8268 -#define GL_DEBUG_TYPE_OTHER 0x8251 -#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 -#define GL_DEBUG_TYPE_POP_GROUP 0x826A -#define GL_DEBUG_TYPE_PORTABILITY 0x824F -#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E -#define GL_DEPTH_COMPONENTS 0x8284 -#define GL_DEPTH_RENDERABLE 0x8287 -#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA -#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE -#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF -#define GL_FILTER 0x829A -#define GL_FRAGMENT_SUBROUTINE 0x92EC -#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 -#define GL_FRAGMENT_TEXTURE 0x829F -#define GL_FRAMEBUFFER_BLEND 0x828B -#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 -#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 -#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 -#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 -#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 -#define GL_FRAMEBUFFER_RENDERABLE 0x8289 -#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A -#define GL_FULL_SUPPORT 0x82B7 -#define GL_GEOMETRY_SUBROUTINE 0x92EB -#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 -#define GL_GEOMETRY_TEXTURE 0x829E -#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 -#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 -#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 -#define GL_IMAGE_CLASS_11_11_10 0x82C2 -#define GL_IMAGE_CLASS_1_X_16 0x82BE -#define GL_IMAGE_CLASS_1_X_32 0x82BB -#define GL_IMAGE_CLASS_1_X_8 0x82C1 -#define GL_IMAGE_CLASS_2_X_16 0x82BD -#define GL_IMAGE_CLASS_2_X_32 0x82BA -#define GL_IMAGE_CLASS_2_X_8 0x82C0 -#define GL_IMAGE_CLASS_4_X_16 0x82BC -#define GL_IMAGE_CLASS_4_X_32 0x82B9 -#define GL_IMAGE_CLASS_4_X_8 0x82BF -#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 -#define GL_IMAGE_PIXEL_FORMAT 0x82A9 -#define GL_IMAGE_PIXEL_TYPE 0x82AA -#define GL_IMAGE_TEXEL_SIZE 0x82A7 -#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 -#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B -#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 -#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A -#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 -#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C -#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 -#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 -#define GL_INTERNALFORMAT_PREFERRED 0x8270 -#define GL_INTERNALFORMAT_RED_SIZE 0x8271 -#define GL_INTERNALFORMAT_RED_TYPE 0x8278 -#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 -#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 -#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D -#define GL_INTERNALFORMAT_SUPPORTED 0x826F -#define GL_IS_PER_PATCH 0x92E7 -#define GL_IS_ROW_MAJOR 0x9300 -#define GL_LOCATION 0x930E -#define GL_LOCATION_INDEX 0x930F -#define GL_MANUAL_GENERATE_MIPMAP 0x8294 -#define GL_MATRIX_STRIDE 0x92FF -#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 -#define GL_MAX_COMBINED_DIMENSIONS 0x8282 -#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 -#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC -#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 -#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 -#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD -#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB -#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 -#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC -#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB -#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 -#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE -#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB -#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF -#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C -#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 -#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 -#define GL_MAX_DEPTH 0x8280 -#define GL_MAX_ELEMENT_INDEX 0x8D6B -#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA -#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 -#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 -#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 -#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 -#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 -#define GL_MAX_HEIGHT 0x827F -#define GL_MAX_LABEL_LENGTH 0x82E8 -#define GL_MAX_LAYERS 0x8281 -#define GL_MAX_NAME_LENGTH 0x92F6 -#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 -#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 -#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE -#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD -#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 -#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 -#define GL_MAX_UNIFORM_LOCATIONS 0x826E -#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA -#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 -#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 -#define GL_MAX_WIDTH 0x827E -#define GL_MIPMAP 0x8293 -#define GL_NAME_LENGTH 0x92F9 -#define GL_NUM_ACTIVE_VARIABLES 0x9304 -#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 -#define GL_OFFSET 0x92FC -#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 -#define GL_PROGRAM 0x82E2 -#define GL_PROGRAM_INPUT 0x92E3 -#define GL_PROGRAM_OUTPUT 0x92E4 -#define GL_PROGRAM_PIPELINE 0x82E4 -#define GL_QUERY 0x82E3 -#define GL_READ_PIXELS 0x828C -#define GL_READ_PIXELS_FORMAT 0x828D -#define GL_READ_PIXELS_TYPE 0x828E -#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B -#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A -#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 -#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 -#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 -#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 -/*Copied GL_SAMPLER From: EXT_debug_label*/ -#define GL_SHADER 0x82E1 -#define GL_SHADER_IMAGE_ATOMIC 0x82A6 -#define GL_SHADER_IMAGE_LOAD 0x82A4 -#define GL_SHADER_IMAGE_STORE 0x82A5 -#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000 -#define GL_SHADER_STORAGE_BLOCK 0x92E6 -#define GL_SHADER_STORAGE_BUFFER 0x90D2 -#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 -#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF -#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 -#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 -#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC -#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE -#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD -#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF -#define GL_SRGB_READ 0x8297 -#define GL_SRGB_WRITE 0x8298 -#define GL_STENCIL_COMPONENTS 0x8285 -#define GL_STENCIL_RENDERABLE 0x8288 -#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 -#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF -#define GL_TESS_CONTROL_TEXTURE 0x829C -#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA -#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 -#define GL_TESS_EVALUATION_TEXTURE 0x829D -#define GL_TEXTURE_BUFFER_OFFSET 0x919D -#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F -#define GL_TEXTURE_BUFFER_SIZE 0x919E -#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 -#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 -#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 -#define GL_TEXTURE_GATHER 0x82A2 -#define GL_TEXTURE_GATHER_SHADOW 0x82A3 -#define GL_TEXTURE_IMAGE_FORMAT 0x828F -#define GL_TEXTURE_IMAGE_TYPE 0x8290 -#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF -#define GL_TEXTURE_SHADOW 0x82A1 -#define GL_TEXTURE_VIEW 0x82B5 -#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD -#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB -#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE -#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC -#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C -#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D -#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 -#define GL_TYPE 0x92FA -#define GL_UNIFORM 0x92E1 -#define GL_UNIFORM_BLOCK 0x92E2 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC -#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E -#define GL_VERTEX_ATTRIB_BINDING 0x82D4 -#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 -#define GL_VERTEX_BINDING_DIVISOR 0x82D6 -#define GL_VERTEX_BINDING_OFFSET 0x82D7 -#define GL_VERTEX_BINDING_STRIDE 0x82D8 -#define GL_VERTEX_SUBROUTINE 0x92E8 -#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE -#define GL_VERTEX_TEXTURE 0x829B -#define GL_VIEW_CLASS_128_BITS 0x82C4 -#define GL_VIEW_CLASS_16_BITS 0x82CA -#define GL_VIEW_CLASS_24_BITS 0x82C9 -#define GL_VIEW_CLASS_32_BITS 0x82C8 -#define GL_VIEW_CLASS_48_BITS 0x82C7 -#define GL_VIEW_CLASS_64_BITS 0x82C6 -#define GL_VIEW_CLASS_8_BITS 0x82CB -#define GL_VIEW_CLASS_96_BITS 0x82C5 -#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 -#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 -#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 -#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 -#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC -#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD -#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE -#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF -#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 - -#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F -#define GL_BUFFER_STORAGE_FLAGS 0x8220 -#define GL_CLEAR_TEXTURE 0x9365 -#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 -#define GL_CLIENT_STORAGE_BIT 0x0200 -#define GL_DYNAMIC_STORAGE_BIT 0x0100 -#define GL_LOCATION_COMPONENT 0x934A -#define GL_MAP_COHERENT_BIT 0x0080 -#define GL_MAP_PERSISTENT_BIT 0x0040 -#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 -#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 -#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 -#define GL_QUERY_BUFFER 0x9192 -#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 -#define GL_QUERY_BUFFER_BINDING 0x9193 -#define GL_QUERY_RESULT_NO_WAIT 0x9194 -#define GL_TEXTURE_BUFFER_BINDING 0x8C2A -#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B -#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C - - - -#ifndef GL_ARB_robustness -#define GL_ARB_robustness 1 -extern GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glGetGraphicsResetStatusARB)(); -#define glGetGraphicsResetStatusARB _ptrc_glGetGraphicsResetStatusARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnColorTableARB)(GLenum, GLenum, GLenum, GLsizei, void *); -#define glGetnColorTableARB _ptrc_glGetnColorTableARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *); -#define glGetnCompressedTexImageARB _ptrc_glGetnCompressedTexImageARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnConvolutionFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *); -#define glGetnConvolutionFilterARB _ptrc_glGetnConvolutionFilterARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnHistogramARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *); -#define glGetnHistogramARB _ptrc_glGetnHistogramARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMapdvARB)(GLenum, GLenum, GLsizei, GLdouble *); -#define glGetnMapdvARB _ptrc_glGetnMapdvARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMapfvARB)(GLenum, GLenum, GLsizei, GLfloat *); -#define glGetnMapfvARB _ptrc_glGetnMapfvARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMapivARB)(GLenum, GLenum, GLsizei, GLint *); -#define glGetnMapivARB _ptrc_glGetnMapivARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnMinmaxARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void *); -#define glGetnMinmaxARB _ptrc_glGetnMinmaxARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPixelMapfvARB)(GLenum, GLsizei, GLfloat *); -#define glGetnPixelMapfvARB _ptrc_glGetnPixelMapfvARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPixelMapuivARB)(GLenum, GLsizei, GLuint *); -#define glGetnPixelMapuivARB _ptrc_glGetnPixelMapuivARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPixelMapusvARB)(GLenum, GLsizei, GLushort *); -#define glGetnPixelMapusvARB _ptrc_glGetnPixelMapusvARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnPolygonStippleARB)(GLsizei, GLubyte *); -#define glGetnPolygonStippleARB _ptrc_glGetnPolygonStippleARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnSeparableFilterARB)(GLenum, GLenum, GLenum, GLsizei, void *, GLsizei, void *, void *); -#define glGetnSeparableFilterARB _ptrc_glGetnSeparableFilterARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, void *); -#define glGetnTexImageARB _ptrc_glGetnTexImageARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *); -#define glGetnUniformdvARB _ptrc_glGetnUniformdvARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformfvARB)(GLuint, GLint, GLsizei, GLfloat *); -#define glGetnUniformfvARB _ptrc_glGetnUniformfvARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformivARB)(GLuint, GLint, GLsizei, GLint *); -#define glGetnUniformivARB _ptrc_glGetnUniformivARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetnUniformuivARB)(GLuint, GLint, GLsizei, GLuint *); -#define glGetnUniformuivARB _ptrc_glGetnUniformuivARB -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *); -#define glReadnPixelsARB _ptrc_glReadnPixelsARB -#endif /*GL_ARB_robustness*/ - - - - -#ifndef GL_EXT_direct_state_access -#define GL_EXT_direct_state_access 1 -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindMultiTextureEXT)(GLenum, GLenum, GLuint); -#define glBindMultiTextureEXT _ptrc_glBindMultiTextureEXT -extern GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glCheckNamedFramebufferStatusEXT)(GLuint, GLenum); -#define glCheckNamedFramebufferStatusEXT _ptrc_glCheckNamedFramebufferStatusEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearNamedBufferDataEXT)(GLuint, GLenum, GLenum, GLenum, const void *); -#define glClearNamedBufferDataEXT _ptrc_glClearNamedBufferDataEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearNamedBufferSubDataEXT)(GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, const void *); -#define glClearNamedBufferSubDataEXT _ptrc_glClearNamedBufferSubDataEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClientAttribDefaultEXT)(GLbitfield); -#define glClientAttribDefaultEXT _ptrc_glClientAttribDefaultEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); -#define glCompressedMultiTexImage1DEXT _ptrc_glCompressedMultiTexImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedMultiTexImage2DEXT _ptrc_glCompressedMultiTexImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedMultiTexImage3DEXT _ptrc_glCompressedMultiTexImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedMultiTexSubImage1DEXT _ptrc_glCompressedMultiTexSubImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedMultiTexSubImage2DEXT _ptrc_glCompressedMultiTexSubImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedMultiTexSubImage3DEXT _ptrc_glCompressedMultiTexSubImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTextureImage1DEXT _ptrc_glCompressedTextureImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTextureImage2DEXT _ptrc_glCompressedTextureImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureImage3DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTextureImage3DEXT _ptrc_glCompressedTextureImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTextureSubImage1DEXT _ptrc_glCompressedTextureSubImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTextureSubImage2DEXT _ptrc_glCompressedTextureSubImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTextureSubImage3DEXT _ptrc_glCompressedTextureSubImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); -#define glCopyMultiTexImage1DEXT _ptrc_glCopyMultiTexImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); -#define glCopyMultiTexImage2DEXT _ptrc_glCopyMultiTexImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei); -#define glCopyMultiTexSubImage1DEXT _ptrc_glCopyMultiTexSubImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyMultiTexSubImage2DEXT _ptrc_glCopyMultiTexSubImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyMultiTexSubImage3DEXT _ptrc_glCopyMultiTexSubImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); -#define glCopyTextureImage1DEXT _ptrc_glCopyTextureImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); -#define glCopyTextureImage2DEXT _ptrc_glCopyTextureImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei); -#define glCopyTextureSubImage1DEXT _ptrc_glCopyTextureSubImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTextureSubImage2DEXT _ptrc_glCopyTextureSubImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTextureSubImage3DEXT _ptrc_glCopyTextureSubImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableClientStateIndexedEXT)(GLenum, GLuint); -#define glDisableClientStateIndexedEXT _ptrc_glDisableClientStateIndexedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableClientStateiEXT)(GLenum, GLuint); -#define glDisableClientStateiEXT _ptrc_glDisableClientStateiEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableIndexedEXT)(GLenum, GLuint); -#define glDisableIndexedEXT _ptrc_glDisableIndexedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexArrayAttribEXT)(GLuint, GLuint); -#define glDisableVertexArrayAttribEXT _ptrc_glDisableVertexArrayAttribEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexArrayEXT)(GLuint, GLenum); -#define glDisableVertexArrayEXT _ptrc_glDisableVertexArrayEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableClientStateIndexedEXT)(GLenum, GLuint); -#define glEnableClientStateIndexedEXT _ptrc_glEnableClientStateIndexedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableClientStateiEXT)(GLenum, GLuint); -#define glEnableClientStateiEXT _ptrc_glEnableClientStateiEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableIndexedEXT)(GLenum, GLuint); -#define glEnableIndexedEXT _ptrc_glEnableIndexedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexArrayAttribEXT)(GLuint, GLuint); -#define glEnableVertexArrayAttribEXT _ptrc_glEnableVertexArrayAttribEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexArrayEXT)(GLuint, GLenum); -#define glEnableVertexArrayEXT _ptrc_glEnableVertexArrayEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFlushMappedNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr); -#define glFlushMappedNamedBufferRangeEXT _ptrc_glFlushMappedNamedBufferRangeEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferDrawBufferEXT)(GLuint, GLenum); -#define glFramebufferDrawBufferEXT _ptrc_glFramebufferDrawBufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferDrawBuffersEXT)(GLuint, GLsizei, const GLenum *); -#define glFramebufferDrawBuffersEXT _ptrc_glFramebufferDrawBuffersEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferReadBufferEXT)(GLuint, GLenum); -#define glFramebufferReadBufferEXT _ptrc_glFramebufferReadBufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenerateMultiTexMipmapEXT)(GLenum, GLenum); -#define glGenerateMultiTexMipmapEXT _ptrc_glGenerateMultiTexMipmapEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenerateTextureMipmapEXT)(GLuint, GLenum); -#define glGenerateTextureMipmapEXT _ptrc_glGenerateTextureMipmapEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *); -#define glGetBooleanIndexedvEXT _ptrc_glGetBooleanIndexedvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedMultiTexImageEXT)(GLenum, GLenum, GLint, void *); -#define glGetCompressedMultiTexImageEXT _ptrc_glGetCompressedMultiTexImageEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedTextureImageEXT)(GLuint, GLenum, GLint, void *); -#define glGetCompressedTextureImageEXT _ptrc_glGetCompressedTextureImageEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoubleIndexedvEXT)(GLenum, GLuint, GLdouble *); -#define glGetDoubleIndexedvEXT _ptrc_glGetDoubleIndexedvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoublei_vEXT)(GLenum, GLuint, GLdouble *); -#define glGetDoublei_vEXT _ptrc_glGetDoublei_vEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloatIndexedvEXT)(GLenum, GLuint, GLfloat *); -#define glGetFloatIndexedvEXT _ptrc_glGetFloatIndexedvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloati_vEXT)(GLenum, GLuint, GLfloat *); -#define glGetFloati_vEXT _ptrc_glGetFloati_vEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferParameterivEXT)(GLuint, GLenum, GLint *); -#define glGetFramebufferParameterivEXT _ptrc_glGetFramebufferParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetIntegerIndexedvEXT)(GLenum, GLuint, GLint *); -#define glGetIntegerIndexedvEXT _ptrc_glGetIntegerIndexedvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, GLfloat *); -#define glGetMultiTexEnvfvEXT _ptrc_glGetMultiTexEnvfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexEnvivEXT)(GLenum, GLenum, GLenum, GLint *); -#define glGetMultiTexEnvivEXT _ptrc_glGetMultiTexEnvivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexGendvEXT)(GLenum, GLenum, GLenum, GLdouble *); -#define glGetMultiTexGendvEXT _ptrc_glGetMultiTexGendvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexGenfvEXT)(GLenum, GLenum, GLenum, GLfloat *); -#define glGetMultiTexGenfvEXT _ptrc_glGetMultiTexGenfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexGenivEXT)(GLenum, GLenum, GLenum, GLint *); -#define glGetMultiTexGenivEXT _ptrc_glGetMultiTexGenivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexImageEXT)(GLenum, GLenum, GLint, GLenum, GLenum, void *); -#define glGetMultiTexImageEXT _ptrc_glGetMultiTexImageEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexLevelParameterfvEXT)(GLenum, GLenum, GLint, GLenum, GLfloat *); -#define glGetMultiTexLevelParameterfvEXT _ptrc_glGetMultiTexLevelParameterfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexLevelParameterivEXT)(GLenum, GLenum, GLint, GLenum, GLint *); -#define glGetMultiTexLevelParameterivEXT _ptrc_glGetMultiTexLevelParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, GLint *); -#define glGetMultiTexParameterIivEXT _ptrc_glGetMultiTexParameterIivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, GLuint *); -#define glGetMultiTexParameterIuivEXT _ptrc_glGetMultiTexParameterIuivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, GLfloat *); -#define glGetMultiTexParameterfvEXT _ptrc_glGetMultiTexParameterfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultiTexParameterivEXT)(GLenum, GLenum, GLenum, GLint *); -#define glGetMultiTexParameterivEXT _ptrc_glGetMultiTexParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedBufferParameterivEXT)(GLuint, GLenum, GLint *); -#define glGetNamedBufferParameterivEXT _ptrc_glGetNamedBufferParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedBufferPointervEXT)(GLuint, GLenum, void **); -#define glGetNamedBufferPointervEXT _ptrc_glGetNamedBufferPointervEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, void *); -#define glGetNamedBufferSubDataEXT _ptrc_glGetNamedBufferSubDataEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedFramebufferAttachmentParameterivEXT)(GLuint, GLenum, GLenum, GLint *); -#define glGetNamedFramebufferAttachmentParameterivEXT _ptrc_glGetNamedFramebufferAttachmentParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedFramebufferParameterivEXT)(GLuint, GLenum, GLint *); -#define glGetNamedFramebufferParameterivEXT _ptrc_glGetNamedFramebufferParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterIivEXT)(GLuint, GLenum, GLuint, GLint *); -#define glGetNamedProgramLocalParameterIivEXT _ptrc_glGetNamedProgramLocalParameterIivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterIuivEXT)(GLuint, GLenum, GLuint, GLuint *); -#define glGetNamedProgramLocalParameterIuivEXT _ptrc_glGetNamedProgramLocalParameterIuivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterdvEXT)(GLuint, GLenum, GLuint, GLdouble *); -#define glGetNamedProgramLocalParameterdvEXT _ptrc_glGetNamedProgramLocalParameterdvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramLocalParameterfvEXT)(GLuint, GLenum, GLuint, GLfloat *); -#define glGetNamedProgramLocalParameterfvEXT _ptrc_glGetNamedProgramLocalParameterfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramStringEXT)(GLuint, GLenum, GLenum, void *); -#define glGetNamedProgramStringEXT _ptrc_glGetNamedProgramStringEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedProgramivEXT)(GLuint, GLenum, GLenum, GLint *); -#define glGetNamedProgramivEXT _ptrc_glGetNamedProgramivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetNamedRenderbufferParameterivEXT)(GLuint, GLenum, GLint *); -#define glGetNamedRenderbufferParameterivEXT _ptrc_glGetNamedRenderbufferParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetPointerIndexedvEXT)(GLenum, GLuint, void **); -#define glGetPointerIndexedvEXT _ptrc_glGetPointerIndexedvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetPointeri_vEXT)(GLenum, GLuint, void **); -#define glGetPointeri_vEXT _ptrc_glGetPointeri_vEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureImageEXT)(GLuint, GLenum, GLint, GLenum, GLenum, void *); -#define glGetTextureImageEXT _ptrc_glGetTextureImageEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureLevelParameterfvEXT)(GLuint, GLenum, GLint, GLenum, GLfloat *); -#define glGetTextureLevelParameterfvEXT _ptrc_glGetTextureLevelParameterfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureLevelParameterivEXT)(GLuint, GLenum, GLint, GLenum, GLint *); -#define glGetTextureLevelParameterivEXT _ptrc_glGetTextureLevelParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterIivEXT)(GLuint, GLenum, GLenum, GLint *); -#define glGetTextureParameterIivEXT _ptrc_glGetTextureParameterIivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterIuivEXT)(GLuint, GLenum, GLenum, GLuint *); -#define glGetTextureParameterIuivEXT _ptrc_glGetTextureParameterIuivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterfvEXT)(GLuint, GLenum, GLenum, GLfloat *); -#define glGetTextureParameterfvEXT _ptrc_glGetTextureParameterfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTextureParameterivEXT)(GLuint, GLenum, GLenum, GLint *); -#define glGetTextureParameterivEXT _ptrc_glGetTextureParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayIntegeri_vEXT)(GLuint, GLuint, GLenum, GLint *); -#define glGetVertexArrayIntegeri_vEXT _ptrc_glGetVertexArrayIntegeri_vEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayIntegervEXT)(GLuint, GLenum, GLint *); -#define glGetVertexArrayIntegervEXT _ptrc_glGetVertexArrayIntegervEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayPointeri_vEXT)(GLuint, GLuint, GLenum, void **); -#define glGetVertexArrayPointeri_vEXT _ptrc_glGetVertexArrayPointeri_vEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexArrayPointervEXT)(GLuint, GLenum, void **); -#define glGetVertexArrayPointervEXT _ptrc_glGetVertexArrayPointervEXT -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabledIndexedEXT)(GLenum, GLuint); -#define glIsEnabledIndexedEXT _ptrc_glIsEnabledIndexedEXT -extern GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapNamedBufferEXT)(GLuint, GLenum); -#define glMapNamedBufferEXT _ptrc_glMapNamedBufferEXT -extern GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr, GLbitfield); -#define glMapNamedBufferRangeEXT _ptrc_glMapNamedBufferRangeEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixFrustumEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); -#define glMatrixFrustumEXT _ptrc_glMatrixFrustumEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadIdentityEXT)(GLenum); -#define glMatrixLoadIdentityEXT _ptrc_glMatrixLoadIdentityEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadTransposedEXT)(GLenum, const GLdouble *); -#define glMatrixLoadTransposedEXT _ptrc_glMatrixLoadTransposedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadTransposefEXT)(GLenum, const GLfloat *); -#define glMatrixLoadTransposefEXT _ptrc_glMatrixLoadTransposefEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoaddEXT)(GLenum, const GLdouble *); -#define glMatrixLoaddEXT _ptrc_glMatrixLoaddEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixLoadfEXT)(GLenum, const GLfloat *); -#define glMatrixLoadfEXT _ptrc_glMatrixLoadfEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultTransposedEXT)(GLenum, const GLdouble *); -#define glMatrixMultTransposedEXT _ptrc_glMatrixMultTransposedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultTransposefEXT)(GLenum, const GLfloat *); -#define glMatrixMultTransposefEXT _ptrc_glMatrixMultTransposefEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultdEXT)(GLenum, const GLdouble *); -#define glMatrixMultdEXT _ptrc_glMatrixMultdEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixMultfEXT)(GLenum, const GLfloat *); -#define glMatrixMultfEXT _ptrc_glMatrixMultfEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixOrthoEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); -#define glMatrixOrthoEXT _ptrc_glMatrixOrthoEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixPopEXT)(GLenum); -#define glMatrixPopEXT _ptrc_glMatrixPopEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixPushEXT)(GLenum); -#define glMatrixPushEXT _ptrc_glMatrixPushEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixRotatedEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble); -#define glMatrixRotatedEXT _ptrc_glMatrixRotatedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixRotatefEXT)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat); -#define glMatrixRotatefEXT _ptrc_glMatrixRotatefEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixScaledEXT)(GLenum, GLdouble, GLdouble, GLdouble); -#define glMatrixScaledEXT _ptrc_glMatrixScaledEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixScalefEXT)(GLenum, GLfloat, GLfloat, GLfloat); -#define glMatrixScalefEXT _ptrc_glMatrixScalefEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixTranslatedEXT)(GLenum, GLdouble, GLdouble, GLdouble); -#define glMatrixTranslatedEXT _ptrc_glMatrixTranslatedEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMatrixTranslatefEXT)(GLenum, GLfloat, GLfloat, GLfloat); -#define glMatrixTranslatefEXT _ptrc_glMatrixTranslatefEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexBufferEXT)(GLenum, GLenum, GLenum, GLuint); -#define glMultiTexBufferEXT _ptrc_glMultiTexBufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexCoordPointerEXT)(GLenum, GLint, GLenum, GLsizei, const void *); -#define glMultiTexCoordPointerEXT _ptrc_glMultiTexCoordPointerEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnvfEXT)(GLenum, GLenum, GLenum, GLfloat); -#define glMultiTexEnvfEXT _ptrc_glMultiTexEnvfEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, const GLfloat *); -#define glMultiTexEnvfvEXT _ptrc_glMultiTexEnvfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnviEXT)(GLenum, GLenum, GLenum, GLint); -#define glMultiTexEnviEXT _ptrc_glMultiTexEnviEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexEnvivEXT)(GLenum, GLenum, GLenum, const GLint *); -#define glMultiTexEnvivEXT _ptrc_glMultiTexEnvivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGendEXT)(GLenum, GLenum, GLenum, GLdouble); -#define glMultiTexGendEXT _ptrc_glMultiTexGendEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGendvEXT)(GLenum, GLenum, GLenum, const GLdouble *); -#define glMultiTexGendvEXT _ptrc_glMultiTexGendvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGenfEXT)(GLenum, GLenum, GLenum, GLfloat); -#define glMultiTexGenfEXT _ptrc_glMultiTexGenfEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGenfvEXT)(GLenum, GLenum, GLenum, const GLfloat *); -#define glMultiTexGenfvEXT _ptrc_glMultiTexGenfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGeniEXT)(GLenum, GLenum, GLenum, GLint); -#define glMultiTexGeniEXT _ptrc_glMultiTexGeniEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexGenivEXT)(GLenum, GLenum, GLenum, const GLint *); -#define glMultiTexGenivEXT _ptrc_glMultiTexGenivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); -#define glMultiTexImage1DEXT _ptrc_glMultiTexImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glMultiTexImage2DEXT _ptrc_glMultiTexImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glMultiTexImage3DEXT _ptrc_glMultiTexImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, const GLint *); -#define glMultiTexParameterIivEXT _ptrc_glMultiTexParameterIivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, const GLuint *); -#define glMultiTexParameterIuivEXT _ptrc_glMultiTexParameterIuivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterfEXT)(GLenum, GLenum, GLenum, GLfloat); -#define glMultiTexParameterfEXT _ptrc_glMultiTexParameterfEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, const GLfloat *); -#define glMultiTexParameterfvEXT _ptrc_glMultiTexParameterfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameteriEXT)(GLenum, GLenum, GLenum, GLint); -#define glMultiTexParameteriEXT _ptrc_glMultiTexParameteriEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexParameterivEXT)(GLenum, GLenum, GLenum, const GLint *); -#define glMultiTexParameterivEXT _ptrc_glMultiTexParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexRenderbufferEXT)(GLenum, GLenum, GLuint); -#define glMultiTexRenderbufferEXT _ptrc_glMultiTexRenderbufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); -#define glMultiTexSubImage1DEXT _ptrc_glMultiTexSubImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glMultiTexSubImage2DEXT _ptrc_glMultiTexSubImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glMultiTexSubImage3DEXT _ptrc_glMultiTexSubImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedBufferDataEXT)(GLuint, GLsizeiptr, const void *, GLenum); -#define glNamedBufferDataEXT _ptrc_glNamedBufferDataEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedBufferStorageEXT)(GLuint, GLsizeiptr, const void *, GLbitfield); -#define glNamedBufferStorageEXT _ptrc_glNamedBufferStorageEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, const void *); -#define glNamedBufferSubDataEXT _ptrc_glNamedBufferSubDataEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedCopyBufferSubDataEXT)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr); -#define glNamedCopyBufferSubDataEXT _ptrc_glNamedCopyBufferSubDataEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferParameteriEXT)(GLuint, GLenum, GLint); -#define glNamedFramebufferParameteriEXT _ptrc_glNamedFramebufferParameteriEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferRenderbufferEXT)(GLuint, GLenum, GLenum, GLuint); -#define glNamedFramebufferRenderbufferEXT _ptrc_glNamedFramebufferRenderbufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTexture1DEXT)(GLuint, GLenum, GLenum, GLuint, GLint); -#define glNamedFramebufferTexture1DEXT _ptrc_glNamedFramebufferTexture1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTexture2DEXT)(GLuint, GLenum, GLenum, GLuint, GLint); -#define glNamedFramebufferTexture2DEXT _ptrc_glNamedFramebufferTexture2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTexture3DEXT)(GLuint, GLenum, GLenum, GLuint, GLint, GLint); -#define glNamedFramebufferTexture3DEXT _ptrc_glNamedFramebufferTexture3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTextureEXT)(GLuint, GLenum, GLuint, GLint); -#define glNamedFramebufferTextureEXT _ptrc_glNamedFramebufferTextureEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTextureFaceEXT)(GLuint, GLenum, GLuint, GLint, GLenum); -#define glNamedFramebufferTextureFaceEXT _ptrc_glNamedFramebufferTextureFaceEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedFramebufferTextureLayerEXT)(GLuint, GLenum, GLuint, GLint, GLint); -#define glNamedFramebufferTextureLayerEXT _ptrc_glNamedFramebufferTextureLayerEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4dEXT)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glNamedProgramLocalParameter4dEXT _ptrc_glNamedProgramLocalParameter4dEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4dvEXT)(GLuint, GLenum, GLuint, const GLdouble *); -#define glNamedProgramLocalParameter4dvEXT _ptrc_glNamedProgramLocalParameter4dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4fEXT)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glNamedProgramLocalParameter4fEXT _ptrc_glNamedProgramLocalParameter4fEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameter4fvEXT)(GLuint, GLenum, GLuint, const GLfloat *); -#define glNamedProgramLocalParameter4fvEXT _ptrc_glNamedProgramLocalParameter4fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4iEXT)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint); -#define glNamedProgramLocalParameterI4iEXT _ptrc_glNamedProgramLocalParameterI4iEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4ivEXT)(GLuint, GLenum, GLuint, const GLint *); -#define glNamedProgramLocalParameterI4ivEXT _ptrc_glNamedProgramLocalParameterI4ivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4uiEXT)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); -#define glNamedProgramLocalParameterI4uiEXT _ptrc_glNamedProgramLocalParameterI4uiEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameterI4uivEXT)(GLuint, GLenum, GLuint, const GLuint *); -#define glNamedProgramLocalParameterI4uivEXT _ptrc_glNamedProgramLocalParameterI4uivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParameters4fvEXT)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *); -#define glNamedProgramLocalParameters4fvEXT _ptrc_glNamedProgramLocalParameters4fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParametersI4ivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLint *); -#define glNamedProgramLocalParametersI4ivEXT _ptrc_glNamedProgramLocalParametersI4ivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramLocalParametersI4uivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLuint *); -#define glNamedProgramLocalParametersI4uivEXT _ptrc_glNamedProgramLocalParametersI4uivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLsizei, const void *); -#define glNamedProgramStringEXT _ptrc_glNamedProgramStringEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedRenderbufferStorageEXT)(GLuint, GLenum, GLsizei, GLsizei); -#define glNamedRenderbufferStorageEXT _ptrc_glNamedRenderbufferStorageEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei); -#define glNamedRenderbufferStorageMultisampleCoverageEXT _ptrc_glNamedRenderbufferStorageMultisampleCoverageEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glNamedRenderbufferStorageMultisampleEXT)(GLuint, GLsizei, GLenum, GLsizei, GLsizei); -#define glNamedRenderbufferStorageMultisampleEXT _ptrc_glNamedRenderbufferStorageMultisampleEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1dEXT)(GLuint, GLint, GLdouble); -#define glProgramUniform1dEXT _ptrc_glProgramUniform1dEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform1dvEXT _ptrc_glProgramUniform1dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1fEXT)(GLuint, GLint, GLfloat); -#define glProgramUniform1fEXT _ptrc_glProgramUniform1fEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fvEXT _ptrc_glProgramUniform1fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1iEXT)(GLuint, GLint, GLint); -#define glProgramUniform1iEXT _ptrc_glProgramUniform1iEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1ivEXT _ptrc_glProgramUniform1ivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1uiEXT)(GLuint, GLint, GLuint); -#define glProgramUniform1uiEXT _ptrc_glProgramUniform1uiEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform1uivEXT _ptrc_glProgramUniform1uivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2dEXT)(GLuint, GLint, GLdouble, GLdouble); -#define glProgramUniform2dEXT _ptrc_glProgramUniform2dEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform2dvEXT _ptrc_glProgramUniform2dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2fEXT _ptrc_glProgramUniform2fEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fvEXT _ptrc_glProgramUniform2fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2iEXT)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2iEXT _ptrc_glProgramUniform2iEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2ivEXT _ptrc_glProgramUniform2ivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint); -#define glProgramUniform2uiEXT _ptrc_glProgramUniform2uiEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform2uivEXT _ptrc_glProgramUniform2uivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble); -#define glProgramUniform3dEXT _ptrc_glProgramUniform3dEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform3dvEXT _ptrc_glProgramUniform3dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3fEXT _ptrc_glProgramUniform3fEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fvEXT _ptrc_glProgramUniform3fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3iEXT _ptrc_glProgramUniform3iEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3ivEXT _ptrc_glProgramUniform3ivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint); -#define glProgramUniform3uiEXT _ptrc_glProgramUniform3uiEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform3uivEXT _ptrc_glProgramUniform3uivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glProgramUniform4dEXT _ptrc_glProgramUniform4dEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4dvEXT)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform4dvEXT _ptrc_glProgramUniform4dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4fEXT _ptrc_glProgramUniform4fEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fvEXT _ptrc_glProgramUniform4fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4iEXT _ptrc_glProgramUniform4iEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4ivEXT _ptrc_glProgramUniform4ivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); -#define glProgramUniform4uiEXT _ptrc_glProgramUniform4uiEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform4uivEXT _ptrc_glProgramUniform4uivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2dvEXT _ptrc_glProgramUniformMatrix2dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fvEXT _ptrc_glProgramUniformMatrix2fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2x3dvEXT _ptrc_glProgramUniformMatrix2x3dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x3fvEXT _ptrc_glProgramUniformMatrix2x3fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2x4dvEXT _ptrc_glProgramUniformMatrix2x4dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x4fvEXT _ptrc_glProgramUniformMatrix2x4fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3dvEXT _ptrc_glProgramUniformMatrix3dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fvEXT _ptrc_glProgramUniformMatrix3fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3x2dvEXT _ptrc_glProgramUniformMatrix3x2dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x2fvEXT _ptrc_glProgramUniformMatrix3x2fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3x4dvEXT _ptrc_glProgramUniformMatrix3x4dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x4fvEXT _ptrc_glProgramUniformMatrix3x4fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4dvEXT _ptrc_glProgramUniformMatrix4dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fvEXT _ptrc_glProgramUniformMatrix4fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4x2dvEXT _ptrc_glProgramUniformMatrix4x2dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x2fvEXT _ptrc_glProgramUniformMatrix4x2fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4x3dvEXT _ptrc_glProgramUniformMatrix4x3dvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x3fvEXT _ptrc_glProgramUniformMatrix4x3fvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPushClientAttribDefaultEXT)(GLbitfield); -#define glPushClientAttribDefaultEXT _ptrc_glPushClientAttribDefaultEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureBufferEXT)(GLuint, GLenum, GLenum, GLuint); -#define glTextureBufferEXT _ptrc_glTextureBufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureBufferRangeEXT)(GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTextureBufferRangeEXT _ptrc_glTextureBufferRangeEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTextureImage1DEXT _ptrc_glTextureImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureImage2DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTextureImage2DEXT _ptrc_glTextureImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureImage3DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTextureImage3DEXT _ptrc_glTextureImage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexturePageCommitmentEXT)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexturePageCommitmentEXT _ptrc_glTexturePageCommitmentEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterIivEXT)(GLuint, GLenum, GLenum, const GLint *); -#define glTextureParameterIivEXT _ptrc_glTextureParameterIivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterIuivEXT)(GLuint, GLenum, GLenum, const GLuint *); -#define glTextureParameterIuivEXT _ptrc_glTextureParameterIuivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterfEXT)(GLuint, GLenum, GLenum, GLfloat); -#define glTextureParameterfEXT _ptrc_glTextureParameterfEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterfvEXT)(GLuint, GLenum, GLenum, const GLfloat *); -#define glTextureParameterfvEXT _ptrc_glTextureParameterfvEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameteriEXT)(GLuint, GLenum, GLenum, GLint); -#define glTextureParameteriEXT _ptrc_glTextureParameteriEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureParameterivEXT)(GLuint, GLenum, GLenum, const GLint *); -#define glTextureParameterivEXT _ptrc_glTextureParameterivEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureRenderbufferEXT)(GLuint, GLenum, GLuint); -#define glTextureRenderbufferEXT _ptrc_glTextureRenderbufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage1DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei); -#define glTextureStorage1DEXT _ptrc_glTextureStorage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage2DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glTextureStorage2DEXT _ptrc_glTextureStorage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage2DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTextureStorage2DMultisampleEXT _ptrc_glTextureStorage2DMultisampleEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage3DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); -#define glTextureStorage3DEXT _ptrc_glTextureStorage3DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureStorage3DMultisampleEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTextureStorage3DMultisampleEXT _ptrc_glTextureStorage3DMultisampleEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); -#define glTextureSubImage1DEXT _ptrc_glTextureSubImage1DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTextureSubImage2DEXT _ptrc_glTextureSubImage2DEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTextureSubImage3DEXT _ptrc_glTextureSubImage3DEXT -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glUnmapNamedBufferEXT)(GLuint); -#define glUnmapNamedBufferEXT _ptrc_glUnmapNamedBufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayBindVertexBufferEXT)(GLuint, GLuint, GLuint, GLintptr, GLsizei); -#define glVertexArrayBindVertexBufferEXT _ptrc_glVertexArrayBindVertexBufferEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); -#define glVertexArrayColorOffsetEXT _ptrc_glVertexArrayColorOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayEdgeFlagOffsetEXT)(GLuint, GLuint, GLsizei, GLintptr); -#define glVertexArrayEdgeFlagOffsetEXT _ptrc_glVertexArrayEdgeFlagOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayFogCoordOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr); -#define glVertexArrayFogCoordOffsetEXT _ptrc_glVertexArrayFogCoordOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayIndexOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr); -#define glVertexArrayIndexOffsetEXT _ptrc_glVertexArrayIndexOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayMultiTexCoordOffsetEXT)(GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr); -#define glVertexArrayMultiTexCoordOffsetEXT _ptrc_glVertexArrayMultiTexCoordOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayNormalOffsetEXT)(GLuint, GLuint, GLenum, GLsizei, GLintptr); -#define glVertexArrayNormalOffsetEXT _ptrc_glVertexArrayNormalOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArraySecondaryColorOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); -#define glVertexArraySecondaryColorOffsetEXT _ptrc_glVertexArraySecondaryColorOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayTexCoordOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); -#define glVertexArrayTexCoordOffsetEXT _ptrc_glVertexArrayTexCoordOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribBindingEXT)(GLuint, GLuint, GLuint); -#define glVertexArrayVertexAttribBindingEXT _ptrc_glVertexArrayVertexAttribBindingEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribDivisorEXT)(GLuint, GLuint, GLuint); -#define glVertexArrayVertexAttribDivisorEXT _ptrc_glVertexArrayVertexAttribDivisorEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribFormatEXT)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint); -#define glVertexArrayVertexAttribFormatEXT _ptrc_glVertexArrayVertexAttribFormatEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribIFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint); -#define glVertexArrayVertexAttribIFormatEXT _ptrc_glVertexArrayVertexAttribIFormatEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribIOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); -#define glVertexArrayVertexAttribIOffsetEXT _ptrc_glVertexArrayVertexAttribIOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribLFormatEXT)(GLuint, GLuint, GLint, GLenum, GLuint); -#define glVertexArrayVertexAttribLFormatEXT _ptrc_glVertexArrayVertexAttribLFormatEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribLOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); -#define glVertexArrayVertexAttribLOffsetEXT _ptrc_glVertexArrayVertexAttribLOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexAttribOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr); -#define glVertexArrayVertexAttribOffsetEXT _ptrc_glVertexArrayVertexAttribOffsetEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexBindingDivisorEXT)(GLuint, GLuint, GLuint); -#define glVertexArrayVertexBindingDivisorEXT _ptrc_glVertexArrayVertexBindingDivisorEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexArrayVertexOffsetEXT)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr); -#define glVertexArrayVertexOffsetEXT _ptrc_glVertexArrayVertexOffsetEXT -#endif /*GL_EXT_direct_state_access*/ - - -#ifndef GL_EXT_debug_label -#define GL_EXT_debug_label 1 -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetObjectLabelEXT)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabelEXT _ptrc_glGetObjectLabelEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLabelObjectEXT)(GLenum, GLuint, GLsizei, const GLchar *); -#define glLabelObjectEXT _ptrc_glLabelObjectEXT -#endif /*GL_EXT_debug_label*/ - -#ifndef GL_EXT_debug_marker -#define GL_EXT_debug_marker 1 -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInsertEventMarkerEXT)(GLsizei, const GLchar *); -#define glInsertEventMarkerEXT _ptrc_glInsertEventMarkerEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPopGroupMarkerEXT)(); -#define glPopGroupMarkerEXT _ptrc_glPopGroupMarkerEXT -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPushGroupMarkerEXT)(GLsizei, const GLchar *); -#define glPushGroupMarkerEXT _ptrc_glPushGroupMarkerEXT -#endif /*GL_EXT_debug_marker*/ - -#ifndef GL_GREMEDY_string_marker -#define GL_GREMEDY_string_marker 1 -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStringMarkerGREMEDY)(GLsizei, const void *); -#define glStringMarkerGREMEDY _ptrc_glStringMarkerGREMEDY -#endif /*GL_GREMEDY_string_marker*/ - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFunc)(GLenum, GLenum); -#define glBlendFunc _ptrc_glBlendFunc -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClear)(GLbitfield); -#define glClear _ptrc_glClear -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearColor)(GLfloat, GLfloat, GLfloat, GLfloat); -#define glClearColor _ptrc_glClearColor -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearDepth)(GLdouble); -#define glClearDepth _ptrc_glClearDepth -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearStencil)(GLint); -#define glClearStencil _ptrc_glClearStencil -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glColorMask)(GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMask _ptrc_glColorMask -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCullFace)(GLenum); -#define glCullFace _ptrc_glCullFace -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthFunc)(GLenum); -#define glDepthFunc _ptrc_glDepthFunc -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthMask)(GLboolean); -#define glDepthMask _ptrc_glDepthMask -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRange)(GLdouble, GLdouble); -#define glDepthRange _ptrc_glDepthRange -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisable)(GLenum); -#define glDisable _ptrc_glDisable -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffer)(GLenum); -#define glDrawBuffer _ptrc_glDrawBuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnable)(GLenum); -#define glEnable _ptrc_glEnable -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFinish)(); -#define glFinish _ptrc_glFinish -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFlush)(); -#define glFlush _ptrc_glFlush -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFrontFace)(GLenum); -#define glFrontFace _ptrc_glFrontFace -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBooleanv)(GLenum, GLboolean *); -#define glGetBooleanv _ptrc_glGetBooleanv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoublev)(GLenum, GLdouble *); -#define glGetDoublev _ptrc_glGetDoublev -extern GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glGetError)(); -#define glGetError _ptrc_glGetError -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloatv)(GLenum, GLfloat *); -#define glGetFloatv _ptrc_glGetFloatv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetIntegerv)(GLenum, GLint *); -#define glGetIntegerv _ptrc_glGetIntegerv -extern GLLOADGEN_EXPORT const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetString)(GLenum); -#define glGetString _ptrc_glGetString -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexImage)(GLenum, GLint, GLenum, GLenum, void *); -#define glGetTexImage _ptrc_glGetTexImage -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *); -#define glGetTexLevelParameterfv _ptrc_glGetTexLevelParameterfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *); -#define glGetTexLevelParameteriv _ptrc_glGetTexLevelParameteriv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterfv)(GLenum, GLenum, GLfloat *); -#define glGetTexParameterfv _ptrc_glGetTexParameterfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameteriv)(GLenum, GLenum, GLint *); -#define glGetTexParameteriv _ptrc_glGetTexParameteriv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glHint)(GLenum, GLenum); -#define glHint _ptrc_glHint -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabled)(GLenum); -#define glIsEnabled _ptrc_glIsEnabled -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLineWidth)(GLfloat); -#define glLineWidth _ptrc_glLineWidth -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLogicOp)(GLenum); -#define glLogicOp _ptrc_glLogicOp -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPixelStoref)(GLenum, GLfloat); -#define glPixelStoref _ptrc_glPixelStoref -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPixelStorei)(GLenum, GLint); -#define glPixelStorei _ptrc_glPixelStorei -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointSize)(GLfloat); -#define glPointSize _ptrc_glPointSize -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPolygonMode)(GLenum, GLenum); -#define glPolygonMode _ptrc_glPolygonMode -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReadBuffer)(GLenum); -#define glReadBuffer _ptrc_glReadBuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void *); -#define glReadPixels _ptrc_glReadPixels -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissor)(GLint, GLint, GLsizei, GLsizei); -#define glScissor _ptrc_glScissor -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilFunc)(GLenum, GLint, GLuint); -#define glStencilFunc _ptrc_glStencilFunc -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilMask)(GLuint); -#define glStencilMask _ptrc_glStencilMask -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilOp)(GLenum, GLenum, GLenum); -#define glStencilOp _ptrc_glStencilOp -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage1D _ptrc_glTexImage1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage2D _ptrc_glTexImage2D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterf)(GLenum, GLenum, GLfloat); -#define glTexParameterf _ptrc_glTexParameterf -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterfv)(GLenum, GLenum, const GLfloat *); -#define glTexParameterfv _ptrc_glTexParameterfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameteri)(GLenum, GLenum, GLint); -#define glTexParameteri _ptrc_glTexParameteri -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameteriv)(GLenum, GLenum, const GLint *); -#define glTexParameteriv _ptrc_glTexParameteriv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewport)(GLint, GLint, GLsizei, GLsizei); -#define glViewport _ptrc_glViewport - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindTexture)(GLenum, GLuint); -#define glBindTexture _ptrc_glBindTexture -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); -#define glCopyTexImage1D _ptrc_glCopyTexImage1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); -#define glCopyTexImage2D _ptrc_glCopyTexImage2D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei); -#define glCopyTexSubImage1D _ptrc_glCopyTexSubImage1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTexSubImage2D _ptrc_glCopyTexSubImage2D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteTextures)(GLsizei, const GLuint *); -#define glDeleteTextures _ptrc_glDeleteTextures -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArrays)(GLenum, GLint, GLsizei); -#define glDrawArrays _ptrc_glDrawArrays -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElements)(GLenum, GLsizei, GLenum, const void *); -#define glDrawElements _ptrc_glDrawElements -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenTextures)(GLsizei, GLuint *); -#define glGenTextures _ptrc_glGenTextures -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetPointerv)(GLenum, void **); -#define glGetPointerv _ptrc_glGetPointerv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsTexture)(GLuint); -#define glIsTexture _ptrc_glIsTexture -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPolygonOffset)(GLfloat, GLfloat); -#define glPolygonOffset _ptrc_glPolygonOffset -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage1D _ptrc_glTexSubImage1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage2D _ptrc_glTexSubImage2D - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); -#define glCopyTexSubImage3D _ptrc_glCopyTexSubImage3D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *); -#define glDrawRangeElements _ptrc_glDrawRangeElements -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *); -#define glTexImage3D _ptrc_glTexImage3D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glTexSubImage3D _ptrc_glTexSubImage3D - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glActiveTexture)(GLenum); -#define glActiveTexture _ptrc_glActiveTexture -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage1D _ptrc_glCompressedTexImage1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage2D _ptrc_glCompressedTexImage2D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *); -#define glCompressedTexImage3D _ptrc_glCompressedTexImage3D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage1D _ptrc_glCompressedTexSubImage1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage2D _ptrc_glCompressedTexSubImage2D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *); -#define glCompressedTexSubImage3D _ptrc_glCompressedTexSubImage3D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedTexImage)(GLenum, GLint, void *); -#define glGetCompressedTexImage _ptrc_glGetCompressedTexImage -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSampleCoverage)(GLfloat, GLboolean); -#define glSampleCoverage _ptrc_glSampleCoverage - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat); -#define glBlendColor _ptrc_glBlendColor -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquation)(GLenum); -#define glBlendEquation _ptrc_glBlendEquation -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparate _ptrc_glBlendFuncSeparate -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei); -#define glMultiDrawArrays _ptrc_glMultiDrawArrays -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElements)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei); -#define glMultiDrawElements _ptrc_glMultiDrawElements -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameterf)(GLenum, GLfloat); -#define glPointParameterf _ptrc_glPointParameterf -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameterfv)(GLenum, const GLfloat *); -#define glPointParameterfv _ptrc_glPointParameterfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameteri)(GLenum, GLint); -#define glPointParameteri _ptrc_glPointParameteri -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPointParameteriv)(GLenum, const GLint *); -#define glPointParameteriv _ptrc_glPointParameteriv - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginQuery)(GLenum, GLuint); -#define glBeginQuery _ptrc_glBeginQuery -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBuffer)(GLenum, GLuint); -#define glBindBuffer _ptrc_glBindBuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBufferData)(GLenum, GLsizeiptr, const void *, GLenum); -#define glBufferData _ptrc_glBufferData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBufferSubData)(GLenum, GLintptr, GLsizeiptr, const void *); -#define glBufferSubData _ptrc_glBufferSubData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteBuffers)(GLsizei, const GLuint *); -#define glDeleteBuffers _ptrc_glDeleteBuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteQueries)(GLsizei, const GLuint *); -#define glDeleteQueries _ptrc_glDeleteQueries -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndQuery)(GLenum); -#define glEndQuery _ptrc_glEndQuery -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenBuffers)(GLsizei, GLuint *); -#define glGenBuffers _ptrc_glGenBuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenQueries)(GLsizei, GLuint *); -#define glGenQueries _ptrc_glGenQueries -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetBufferParameteriv _ptrc_glGetBufferParameteriv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferPointerv)(GLenum, GLenum, void **); -#define glGetBufferPointerv _ptrc_glGetBufferPointerv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, void *); -#define glGetBufferSubData _ptrc_glGetBufferSubData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectiv)(GLuint, GLenum, GLint *); -#define glGetQueryObjectiv _ptrc_glGetQueryObjectiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectuiv)(GLuint, GLenum, GLuint *); -#define glGetQueryObjectuiv _ptrc_glGetQueryObjectuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryiv)(GLenum, GLenum, GLint *); -#define glGetQueryiv _ptrc_glGetQueryiv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsBuffer)(GLuint); -#define glIsBuffer _ptrc_glIsBuffer -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsQuery)(GLuint); -#define glIsQuery _ptrc_glIsQuery -extern GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapBuffer)(GLenum, GLenum); -#define glMapBuffer _ptrc_glMapBuffer -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glUnmapBuffer)(GLenum); -#define glUnmapBuffer _ptrc_glUnmapBuffer - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glAttachShader)(GLuint, GLuint); -#define glAttachShader _ptrc_glAttachShader -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindAttribLocation)(GLuint, GLuint, const GLchar *); -#define glBindAttribLocation _ptrc_glBindAttribLocation -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationSeparate)(GLenum, GLenum); -#define glBlendEquationSeparate _ptrc_glBlendEquationSeparate -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCompileShader)(GLuint); -#define glCompileShader _ptrc_glCompileShader -extern GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateProgram)(); -#define glCreateProgram _ptrc_glCreateProgram -extern GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateShader)(GLenum); -#define glCreateShader _ptrc_glCreateShader -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteProgram)(GLuint); -#define glDeleteProgram _ptrc_glDeleteProgram -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteShader)(GLuint); -#define glDeleteShader _ptrc_glDeleteShader -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDetachShader)(GLuint, GLuint); -#define glDetachShader _ptrc_glDetachShader -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexAttribArray)(GLuint); -#define glDisableVertexAttribArray _ptrc_glDisableVertexAttribArray -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffers)(GLsizei, const GLenum *); -#define glDrawBuffers _ptrc_glDrawBuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexAttribArray)(GLuint); -#define glEnableVertexAttribArray _ptrc_glEnableVertexAttribArray -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveAttrib _ptrc_glGetActiveAttrib -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *); -#define glGetActiveUniform _ptrc_glGetActiveUniform -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *); -#define glGetAttachedShaders _ptrc_glGetAttachedShaders -extern GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetAttribLocation)(GLuint, const GLchar *); -#define glGetAttribLocation _ptrc_glGetAttribLocation -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramInfoLog _ptrc_glGetProgramInfoLog -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramiv)(GLuint, GLenum, GLint *); -#define glGetProgramiv _ptrc_glGetProgramiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderInfoLog _ptrc_glGetShaderInfoLog -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetShaderSource _ptrc_glGetShaderSource -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderiv)(GLuint, GLenum, GLint *); -#define glGetShaderiv _ptrc_glGetShaderiv -extern GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetUniformLocation)(GLuint, const GLchar *); -#define glGetUniformLocation _ptrc_glGetUniformLocation -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformfv)(GLuint, GLint, GLfloat *); -#define glGetUniformfv _ptrc_glGetUniformfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformiv)(GLuint, GLint, GLint *); -#define glGetUniformiv _ptrc_glGetUniformiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribPointerv)(GLuint, GLenum, void **); -#define glGetVertexAttribPointerv _ptrc_glGetVertexAttribPointerv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribdv)(GLuint, GLenum, GLdouble *); -#define glGetVertexAttribdv _ptrc_glGetVertexAttribdv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribfv)(GLuint, GLenum, GLfloat *); -#define glGetVertexAttribfv _ptrc_glGetVertexAttribfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribiv)(GLuint, GLenum, GLint *); -#define glGetVertexAttribiv _ptrc_glGetVertexAttribiv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsProgram)(GLuint); -#define glIsProgram _ptrc_glIsProgram -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsShader)(GLuint); -#define glIsShader _ptrc_glIsShader -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glLinkProgram)(GLuint); -#define glLinkProgram _ptrc_glLinkProgram -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *); -#define glShaderSource _ptrc_glShaderSource -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint); -#define glStencilFuncSeparate _ptrc_glStencilFuncSeparate -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilMaskSeparate)(GLenum, GLuint); -#define glStencilMaskSeparate _ptrc_glStencilMaskSeparate -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum); -#define glStencilOpSeparate _ptrc_glStencilOpSeparate -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1f)(GLint, GLfloat); -#define glUniform1f _ptrc_glUniform1f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1fv)(GLint, GLsizei, const GLfloat *); -#define glUniform1fv _ptrc_glUniform1fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1i)(GLint, GLint); -#define glUniform1i _ptrc_glUniform1i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1iv)(GLint, GLsizei, const GLint *); -#define glUniform1iv _ptrc_glUniform1iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2f)(GLint, GLfloat, GLfloat); -#define glUniform2f _ptrc_glUniform2f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2fv)(GLint, GLsizei, const GLfloat *); -#define glUniform2fv _ptrc_glUniform2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2i)(GLint, GLint, GLint); -#define glUniform2i _ptrc_glUniform2i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2iv)(GLint, GLsizei, const GLint *); -#define glUniform2iv _ptrc_glUniform2iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3f)(GLint, GLfloat, GLfloat, GLfloat); -#define glUniform3f _ptrc_glUniform3f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3fv)(GLint, GLsizei, const GLfloat *); -#define glUniform3fv _ptrc_glUniform3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3i)(GLint, GLint, GLint, GLint); -#define glUniform3i _ptrc_glUniform3i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3iv)(GLint, GLsizei, const GLint *); -#define glUniform3iv _ptrc_glUniform3iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glUniform4f _ptrc_glUniform4f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4fv)(GLint, GLsizei, const GLfloat *); -#define glUniform4fv _ptrc_glUniform4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4i)(GLint, GLint, GLint, GLint, GLint); -#define glUniform4i _ptrc_glUniform4i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4iv)(GLint, GLsizei, const GLint *); -#define glUniform4iv _ptrc_glUniform4iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2fv _ptrc_glUniformMatrix2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3fv _ptrc_glUniformMatrix3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4fv _ptrc_glUniformMatrix4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUseProgram)(GLuint); -#define glUseProgram _ptrc_glUseProgram -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glValidateProgram)(GLuint); -#define glValidateProgram _ptrc_glValidateProgram -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1d)(GLuint, GLdouble); -#define glVertexAttrib1d _ptrc_glVertexAttrib1d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1dv)(GLuint, const GLdouble *); -#define glVertexAttrib1dv _ptrc_glVertexAttrib1dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1f)(GLuint, GLfloat); -#define glVertexAttrib1f _ptrc_glVertexAttrib1f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1fv)(GLuint, const GLfloat *); -#define glVertexAttrib1fv _ptrc_glVertexAttrib1fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1s)(GLuint, GLshort); -#define glVertexAttrib1s _ptrc_glVertexAttrib1s -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1sv)(GLuint, const GLshort *); -#define glVertexAttrib1sv _ptrc_glVertexAttrib1sv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2d)(GLuint, GLdouble, GLdouble); -#define glVertexAttrib2d _ptrc_glVertexAttrib2d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2dv)(GLuint, const GLdouble *); -#define glVertexAttrib2dv _ptrc_glVertexAttrib2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2f)(GLuint, GLfloat, GLfloat); -#define glVertexAttrib2f _ptrc_glVertexAttrib2f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2fv)(GLuint, const GLfloat *); -#define glVertexAttrib2fv _ptrc_glVertexAttrib2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2s)(GLuint, GLshort, GLshort); -#define glVertexAttrib2s _ptrc_glVertexAttrib2s -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2sv)(GLuint, const GLshort *); -#define glVertexAttrib2sv _ptrc_glVertexAttrib2sv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble); -#define glVertexAttrib3d _ptrc_glVertexAttrib3d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3dv)(GLuint, const GLdouble *); -#define glVertexAttrib3dv _ptrc_glVertexAttrib3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib3f _ptrc_glVertexAttrib3f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3fv)(GLuint, const GLfloat *); -#define glVertexAttrib3fv _ptrc_glVertexAttrib3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort); -#define glVertexAttrib3s _ptrc_glVertexAttrib3s -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3sv)(GLuint, const GLshort *); -#define glVertexAttrib3sv _ptrc_glVertexAttrib3sv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nbv)(GLuint, const GLbyte *); -#define glVertexAttrib4Nbv _ptrc_glVertexAttrib4Nbv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Niv)(GLuint, const GLint *); -#define glVertexAttrib4Niv _ptrc_glVertexAttrib4Niv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nsv)(GLuint, const GLshort *); -#define glVertexAttrib4Nsv _ptrc_glVertexAttrib4Nsv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte); -#define glVertexAttrib4Nub _ptrc_glVertexAttrib4Nub -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nubv)(GLuint, const GLubyte *); -#define glVertexAttrib4Nubv _ptrc_glVertexAttrib4Nubv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nuiv)(GLuint, const GLuint *); -#define glVertexAttrib4Nuiv _ptrc_glVertexAttrib4Nuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nusv)(GLuint, const GLushort *); -#define glVertexAttrib4Nusv _ptrc_glVertexAttrib4Nusv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4bv)(GLuint, const GLbyte *); -#define glVertexAttrib4bv _ptrc_glVertexAttrib4bv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glVertexAttrib4d _ptrc_glVertexAttrib4d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4dv)(GLuint, const GLdouble *); -#define glVertexAttrib4dv _ptrc_glVertexAttrib4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glVertexAttrib4f _ptrc_glVertexAttrib4f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4fv)(GLuint, const GLfloat *); -#define glVertexAttrib4fv _ptrc_glVertexAttrib4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4iv)(GLuint, const GLint *); -#define glVertexAttrib4iv _ptrc_glVertexAttrib4iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort); -#define glVertexAttrib4s _ptrc_glVertexAttrib4s -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4sv)(GLuint, const GLshort *); -#define glVertexAttrib4sv _ptrc_glVertexAttrib4sv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4ubv)(GLuint, const GLubyte *); -#define glVertexAttrib4ubv _ptrc_glVertexAttrib4ubv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4uiv)(GLuint, const GLuint *); -#define glVertexAttrib4uiv _ptrc_glVertexAttrib4uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4usv)(GLuint, const GLushort *); -#define glVertexAttrib4usv _ptrc_glVertexAttrib4usv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *); -#define glVertexAttribPointer _ptrc_glVertexAttribPointer - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2x3fv _ptrc_glUniformMatrix2x3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix2x4fv _ptrc_glUniformMatrix2x4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3x2fv _ptrc_glUniformMatrix3x2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix3x4fv _ptrc_glUniformMatrix3x4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4x2fv _ptrc_glUniformMatrix4x2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *); -#define glUniformMatrix4x3fv _ptrc_glUniformMatrix4x3fv - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginConditionalRender)(GLuint, GLenum); -#define glBeginConditionalRender _ptrc_glBeginConditionalRender -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginTransformFeedback)(GLenum); -#define glBeginTransformFeedback _ptrc_glBeginTransformFeedback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBufferBase)(GLenum, GLuint, GLuint); -#define glBindBufferBase _ptrc_glBindBufferBase -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); -#define glBindBufferRange _ptrc_glBindBufferRange -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindFragDataLocation)(GLuint, GLuint, const GLchar *); -#define glBindFragDataLocation _ptrc_glBindFragDataLocation -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindFramebuffer)(GLenum, GLuint); -#define glBindFramebuffer _ptrc_glBindFramebuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindRenderbuffer)(GLenum, GLuint); -#define glBindRenderbuffer _ptrc_glBindRenderbuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindVertexArray)(GLuint); -#define glBindVertexArray _ptrc_glBindVertexArray -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); -#define glBlitFramebuffer _ptrc_glBlitFramebuffer -extern GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glCheckFramebufferStatus)(GLenum); -#define glCheckFramebufferStatus _ptrc_glCheckFramebufferStatus -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClampColor)(GLenum, GLenum); -#define glClampColor _ptrc_glClampColor -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfi)(GLenum, GLint, GLfloat, GLint); -#define glClearBufferfi _ptrc_glClearBufferfi -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfv)(GLenum, GLint, const GLfloat *); -#define glClearBufferfv _ptrc_glClearBufferfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferiv)(GLenum, GLint, const GLint *); -#define glClearBufferiv _ptrc_glClearBufferiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferuiv)(GLenum, GLint, const GLuint *); -#define glClearBufferuiv _ptrc_glClearBufferuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean); -#define glColorMaski _ptrc_glColorMaski -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteFramebuffers)(GLsizei, const GLuint *); -#define glDeleteFramebuffers _ptrc_glDeleteFramebuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteRenderbuffers)(GLsizei, const GLuint *); -#define glDeleteRenderbuffers _ptrc_glDeleteRenderbuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteVertexArrays)(GLsizei, const GLuint *); -#define glDeleteVertexArrays _ptrc_glDeleteVertexArrays -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDisablei)(GLenum, GLuint); -#define glDisablei _ptrc_glDisablei -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEnablei)(GLenum, GLuint); -#define glEnablei _ptrc_glEnablei -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndConditionalRender)(); -#define glEndConditionalRender _ptrc_glEndConditionalRender -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndTransformFeedback)(); -#define glEndTransformFeedback _ptrc_glEndTransformFeedback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr); -#define glFlushMappedBufferRange _ptrc_glFlushMappedBufferRange -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint); -#define glFramebufferRenderbuffer _ptrc_glFramebufferRenderbuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture1D _ptrc_glFramebufferTexture1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture2D _ptrc_glFramebufferTexture2D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint); -#define glFramebufferTexture3D _ptrc_glFramebufferTexture3D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint); -#define glFramebufferTextureLayer _ptrc_glFramebufferTextureLayer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenFramebuffers)(GLsizei, GLuint *); -#define glGenFramebuffers _ptrc_glGenFramebuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenRenderbuffers)(GLsizei, GLuint *); -#define glGenRenderbuffers _ptrc_glGenRenderbuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenVertexArrays)(GLsizei, GLuint *); -#define glGenVertexArrays _ptrc_glGenVertexArrays -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenerateMipmap)(GLenum); -#define glGenerateMipmap _ptrc_glGenerateMipmap -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBooleani_v)(GLenum, GLuint, GLboolean *); -#define glGetBooleani_v _ptrc_glGetBooleani_v -extern GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetFragDataLocation)(GLuint, const GLchar *); -#define glGetFragDataLocation _ptrc_glGetFragDataLocation -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *); -#define glGetFramebufferAttachmentParameteriv _ptrc_glGetFramebufferAttachmentParameteriv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetIntegeri_v)(GLenum, GLuint, GLint *); -#define glGetIntegeri_v _ptrc_glGetIntegeri_v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetRenderbufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetRenderbufferParameteriv _ptrc_glGetRenderbufferParameteriv -extern GLLOADGEN_EXPORT const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetStringi)(GLenum, GLuint); -#define glGetStringi _ptrc_glGetStringi -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIiv)(GLenum, GLenum, GLint *); -#define glGetTexParameterIiv _ptrc_glGetTexParameterIiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIuiv)(GLenum, GLenum, GLuint *); -#define glGetTexParameterIuiv _ptrc_glGetTexParameterIuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); -#define glGetTransformFeedbackVarying _ptrc_glGetTransformFeedbackVarying -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformuiv)(GLuint, GLint, GLuint *); -#define glGetUniformuiv _ptrc_glGetUniformuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIiv)(GLuint, GLenum, GLint *); -#define glGetVertexAttribIiv _ptrc_glGetVertexAttribIiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIuiv)(GLuint, GLenum, GLuint *); -#define glGetVertexAttribIuiv _ptrc_glGetVertexAttribIuiv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabledi)(GLenum, GLuint); -#define glIsEnabledi _ptrc_glIsEnabledi -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsFramebuffer)(GLuint); -#define glIsFramebuffer _ptrc_glIsFramebuffer -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsRenderbuffer)(GLuint); -#define glIsRenderbuffer _ptrc_glIsRenderbuffer -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsVertexArray)(GLuint); -#define glIsVertexArray _ptrc_glIsVertexArray -extern GLLOADGEN_EXPORT void * (CODEGEN_FUNCPTR *_ptrc_glMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield); -#define glMapBufferRange _ptrc_glMapBufferRange -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorage _ptrc_glRenderbufferStorage -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glRenderbufferStorageMultisample _ptrc_glRenderbufferStorageMultisample -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIiv)(GLenum, GLenum, const GLint *); -#define glTexParameterIiv _ptrc_glTexParameterIiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIuiv)(GLenum, GLenum, const GLuint *); -#define glTexParameterIuiv _ptrc_glTexParameterIuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum); -#define glTransformFeedbackVaryings _ptrc_glTransformFeedbackVaryings -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1ui)(GLint, GLuint); -#define glUniform1ui _ptrc_glUniform1ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1uiv)(GLint, GLsizei, const GLuint *); -#define glUniform1uiv _ptrc_glUniform1uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2ui)(GLint, GLuint, GLuint); -#define glUniform2ui _ptrc_glUniform2ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2uiv)(GLint, GLsizei, const GLuint *); -#define glUniform2uiv _ptrc_glUniform2uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3ui)(GLint, GLuint, GLuint, GLuint); -#define glUniform3ui _ptrc_glUniform3ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3uiv)(GLint, GLsizei, const GLuint *); -#define glUniform3uiv _ptrc_glUniform3uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint); -#define glUniform4ui _ptrc_glUniform4ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4uiv)(GLint, GLsizei, const GLuint *); -#define glUniform4uiv _ptrc_glUniform4uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1i)(GLuint, GLint); -#define glVertexAttribI1i _ptrc_glVertexAttribI1i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1iv)(GLuint, const GLint *); -#define glVertexAttribI1iv _ptrc_glVertexAttribI1iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1ui)(GLuint, GLuint); -#define glVertexAttribI1ui _ptrc_glVertexAttribI1ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1uiv)(GLuint, const GLuint *); -#define glVertexAttribI1uiv _ptrc_glVertexAttribI1uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2i)(GLuint, GLint, GLint); -#define glVertexAttribI2i _ptrc_glVertexAttribI2i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2iv)(GLuint, const GLint *); -#define glVertexAttribI2iv _ptrc_glVertexAttribI2iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2ui)(GLuint, GLuint, GLuint); -#define glVertexAttribI2ui _ptrc_glVertexAttribI2ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2uiv)(GLuint, const GLuint *); -#define glVertexAttribI2uiv _ptrc_glVertexAttribI2uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3i)(GLuint, GLint, GLint, GLint); -#define glVertexAttribI3i _ptrc_glVertexAttribI3i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3iv)(GLuint, const GLint *); -#define glVertexAttribI3iv _ptrc_glVertexAttribI3iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint); -#define glVertexAttribI3ui _ptrc_glVertexAttribI3ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3uiv)(GLuint, const GLuint *); -#define glVertexAttribI3uiv _ptrc_glVertexAttribI3uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4bv)(GLuint, const GLbyte *); -#define glVertexAttribI4bv _ptrc_glVertexAttribI4bv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint); -#define glVertexAttribI4i _ptrc_glVertexAttribI4i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4iv)(GLuint, const GLint *); -#define glVertexAttribI4iv _ptrc_glVertexAttribI4iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4sv)(GLuint, const GLshort *); -#define glVertexAttribI4sv _ptrc_glVertexAttribI4sv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ubv)(GLuint, const GLubyte *); -#define glVertexAttribI4ubv _ptrc_glVertexAttribI4ubv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint); -#define glVertexAttribI4ui _ptrc_glVertexAttribI4ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4uiv)(GLuint, const GLuint *); -#define glVertexAttribI4uiv _ptrc_glVertexAttribI4uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4usv)(GLuint, const GLushort *); -#define glVertexAttribI4usv _ptrc_glVertexAttribI4usv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const void *); -#define glVertexAttribIPointer _ptrc_glVertexAttribIPointer - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); -#define glCopyBufferSubData _ptrc_glCopyBufferSubData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei); -#define glDrawArraysInstanced _ptrc_glDrawArraysInstanced -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstanced)(GLenum, GLsizei, GLenum, const void *, GLsizei); -#define glDrawElementsInstanced _ptrc_glDrawElementsInstanced -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveUniformBlockName _ptrc_glGetActiveUniformBlockName -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *); -#define glGetActiveUniformBlockiv _ptrc_glGetActiveUniformBlockiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveUniformName _ptrc_glGetActiveUniformName -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *); -#define glGetActiveUniformsiv _ptrc_glGetActiveUniformsiv -extern GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetUniformBlockIndex)(GLuint, const GLchar *); -#define glGetUniformBlockIndex _ptrc_glGetUniformBlockIndex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *); -#define glGetUniformIndices _ptrc_glGetUniformIndices -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPrimitiveRestartIndex)(GLuint); -#define glPrimitiveRestartIndex _ptrc_glPrimitiveRestartIndex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexBuffer)(GLenum, GLenum, GLuint); -#define glTexBuffer _ptrc_glTexBuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformBlockBinding)(GLuint, GLuint, GLuint); -#define glUniformBlockBinding _ptrc_glUniformBlockBinding - -extern GLLOADGEN_EXPORT GLenum (CODEGEN_FUNCPTR *_ptrc_glClientWaitSync)(GLsync, GLbitfield, GLuint64); -#define glClientWaitSync _ptrc_glClientWaitSync -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteSync)(GLsync); -#define glDeleteSync _ptrc_glDeleteSync -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLint); -#define glDrawElementsBaseVertex _ptrc_glDrawElementsBaseVertex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint); -#define glDrawElementsInstancedBaseVertex _ptrc_glDrawElementsInstancedBaseVertex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void *, GLint); -#define glDrawRangeElementsBaseVertex _ptrc_glDrawRangeElementsBaseVertex -extern GLLOADGEN_EXPORT GLsync (CODEGEN_FUNCPTR *_ptrc_glFenceSync)(GLenum, GLbitfield); -#define glFenceSync _ptrc_glFenceSync -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture)(GLenum, GLenum, GLuint, GLint); -#define glFramebufferTexture _ptrc_glFramebufferTexture -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteri64v)(GLenum, GLenum, GLint64 *); -#define glGetBufferParameteri64v _ptrc_glGetBufferParameteri64v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64i_v)(GLenum, GLuint, GLint64 *); -#define glGetInteger64i_v _ptrc_glGetInteger64i_v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64v)(GLenum, GLint64 *); -#define glGetInteger64v _ptrc_glGetInteger64v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetMultisamplefv)(GLenum, GLuint, GLfloat *); -#define glGetMultisamplefv _ptrc_glGetMultisamplefv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *); -#define glGetSynciv _ptrc_glGetSynciv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsSync)(GLsync); -#define glIsSync _ptrc_glIsSync -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const void *const*, GLsizei, const GLint *); -#define glMultiDrawElementsBaseVertex _ptrc_glMultiDrawElementsBaseVertex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProvokingVertex)(GLenum); -#define glProvokingVertex _ptrc_glProvokingVertex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSampleMaski)(GLuint, GLbitfield); -#define glSampleMaski _ptrc_glSampleMaski -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTexImage2DMultisample _ptrc_glTexImage2DMultisample -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexImage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexImage3DMultisample _ptrc_glTexImage3DMultisample -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glWaitSync)(GLsync, GLbitfield, GLuint64); -#define glWaitSync _ptrc_glWaitSync - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *); -#define glBindFragDataLocationIndexed _ptrc_glBindFragDataLocationIndexed -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindSampler)(GLuint, GLuint); -#define glBindSampler _ptrc_glBindSampler -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteSamplers)(GLsizei, const GLuint *); -#define glDeleteSamplers _ptrc_glDeleteSamplers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenSamplers)(GLsizei, GLuint *); -#define glGenSamplers _ptrc_glGenSamplers -extern GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetFragDataIndex)(GLuint, const GLchar *); -#define glGetFragDataIndex _ptrc_glGetFragDataIndex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjecti64v)(GLuint, GLenum, GLint64 *); -#define glGetQueryObjecti64v _ptrc_glGetQueryObjecti64v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *); -#define glGetQueryObjectui64v _ptrc_glGetQueryObjectui64v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameterIiv)(GLuint, GLenum, GLint *); -#define glGetSamplerParameterIiv _ptrc_glGetSamplerParameterIiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *); -#define glGetSamplerParameterIuiv _ptrc_glGetSamplerParameterIuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameterfv)(GLuint, GLenum, GLfloat *); -#define glGetSamplerParameterfv _ptrc_glGetSamplerParameterfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetSamplerParameteriv)(GLuint, GLenum, GLint *); -#define glGetSamplerParameteriv _ptrc_glGetSamplerParameteriv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsSampler)(GLuint); -#define glIsSampler _ptrc_glIsSampler -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glQueryCounter)(GLuint, GLenum); -#define glQueryCounter _ptrc_glQueryCounter -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterIiv)(GLuint, GLenum, const GLint *); -#define glSamplerParameterIiv _ptrc_glSamplerParameterIiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterIuiv)(GLuint, GLenum, const GLuint *); -#define glSamplerParameterIuiv _ptrc_glSamplerParameterIuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterf)(GLuint, GLenum, GLfloat); -#define glSamplerParameterf _ptrc_glSamplerParameterf -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameterfv)(GLuint, GLenum, const GLfloat *); -#define glSamplerParameterfv _ptrc_glSamplerParameterfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameteri)(GLuint, GLenum, GLint); -#define glSamplerParameteri _ptrc_glSamplerParameteri -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glSamplerParameteriv)(GLuint, GLenum, const GLint *); -#define glSamplerParameteriv _ptrc_glSamplerParameteriv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribDivisor)(GLuint, GLuint); -#define glVertexAttribDivisor _ptrc_glVertexAttribDivisor -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP1ui _ptrc_glVertexAttribP1ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP1uiv _ptrc_glVertexAttribP1uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP2ui _ptrc_glVertexAttribP2ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP2uiv _ptrc_glVertexAttribP2uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP3ui _ptrc_glVertexAttribP3ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP3uiv _ptrc_glVertexAttribP3uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint); -#define glVertexAttribP4ui _ptrc_glVertexAttribP4ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *); -#define glVertexAttribP4uiv _ptrc_glVertexAttribP4uiv - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBeginQueryIndexed)(GLenum, GLuint, GLuint); -#define glBeginQueryIndexed _ptrc_glBeginQueryIndexed -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindTransformFeedback)(GLenum, GLuint); -#define glBindTransformFeedback _ptrc_glBindTransformFeedback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationSeparatei)(GLuint, GLenum, GLenum); -#define glBlendEquationSeparatei _ptrc_glBlendEquationSeparatei -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationi)(GLuint, GLenum); -#define glBlendEquationi _ptrc_glBlendEquationi -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum); -#define glBlendFuncSeparatei _ptrc_glBlendFuncSeparatei -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBlendFunci)(GLuint, GLenum, GLenum); -#define glBlendFunci _ptrc_glBlendFunci -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteTransformFeedbacks)(GLsizei, const GLuint *); -#define glDeleteTransformFeedbacks _ptrc_glDeleteTransformFeedbacks -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysIndirect)(GLenum, const void *); -#define glDrawArraysIndirect _ptrc_glDrawArraysIndirect -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsIndirect)(GLenum, GLenum, const void *); -#define glDrawElementsIndirect _ptrc_glDrawElementsIndirect -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedback)(GLenum, GLuint); -#define glDrawTransformFeedback _ptrc_glDrawTransformFeedback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedbackStream)(GLenum, GLuint, GLuint); -#define glDrawTransformFeedbackStream _ptrc_glDrawTransformFeedbackStream -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glEndQueryIndexed)(GLenum, GLuint); -#define glEndQueryIndexed _ptrc_glEndQueryIndexed -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenTransformFeedbacks)(GLsizei, GLuint *); -#define glGenTransformFeedbacks _ptrc_glGenTransformFeedbacks -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveSubroutineName _ptrc_glGetActiveSubroutineName -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetActiveSubroutineUniformName _ptrc_glGetActiveSubroutineUniformName -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *); -#define glGetActiveSubroutineUniformiv _ptrc_glGetActiveSubroutineUniformiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *); -#define glGetProgramStageiv _ptrc_glGetProgramStageiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *); -#define glGetQueryIndexediv _ptrc_glGetQueryIndexediv -extern GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetSubroutineIndex)(GLuint, GLenum, const GLchar *); -#define glGetSubroutineIndex _ptrc_glGetSubroutineIndex -extern GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *); -#define glGetSubroutineUniformLocation _ptrc_glGetSubroutineUniformLocation -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformSubroutineuiv)(GLenum, GLint, GLuint *); -#define glGetUniformSubroutineuiv _ptrc_glGetUniformSubroutineuiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetUniformdv)(GLuint, GLint, GLdouble *); -#define glGetUniformdv _ptrc_glGetUniformdv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsTransformFeedback)(GLuint); -#define glIsTransformFeedback _ptrc_glIsTransformFeedback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMinSampleShading)(GLfloat); -#define glMinSampleShading _ptrc_glMinSampleShading -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPatchParameterfv)(GLenum, const GLfloat *); -#define glPatchParameterfv _ptrc_glPatchParameterfv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPatchParameteri)(GLenum, GLint); -#define glPatchParameteri _ptrc_glPatchParameteri -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPauseTransformFeedback)(); -#define glPauseTransformFeedback _ptrc_glPauseTransformFeedback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glResumeTransformFeedback)(); -#define glResumeTransformFeedback _ptrc_glResumeTransformFeedback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1d)(GLint, GLdouble); -#define glUniform1d _ptrc_glUniform1d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform1dv)(GLint, GLsizei, const GLdouble *); -#define glUniform1dv _ptrc_glUniform1dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2d)(GLint, GLdouble, GLdouble); -#define glUniform2d _ptrc_glUniform2d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform2dv)(GLint, GLsizei, const GLdouble *); -#define glUniform2dv _ptrc_glUniform2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3d)(GLint, GLdouble, GLdouble, GLdouble); -#define glUniform3d _ptrc_glUniform3d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform3dv)(GLint, GLsizei, const GLdouble *); -#define glUniform3dv _ptrc_glUniform3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glUniform4d _ptrc_glUniform4d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniform4dv)(GLint, GLsizei, const GLdouble *); -#define glUniform4dv _ptrc_glUniform4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix2dv _ptrc_glUniformMatrix2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix2x3dv _ptrc_glUniformMatrix2x3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix2x4dv _ptrc_glUniformMatrix2x4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix3dv _ptrc_glUniformMatrix3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix3x2dv _ptrc_glUniformMatrix3x2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix3x4dv _ptrc_glUniformMatrix3x4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix4dv _ptrc_glUniformMatrix4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix4x2dv _ptrc_glUniformMatrix4x2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *); -#define glUniformMatrix4x3dv _ptrc_glUniformMatrix4x3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *); -#define glUniformSubroutinesuiv _ptrc_glUniformSubroutinesuiv - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glActiveShaderProgram)(GLuint, GLuint); -#define glActiveShaderProgram _ptrc_glActiveShaderProgram -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindProgramPipeline)(GLuint); -#define glBindProgramPipeline _ptrc_glBindProgramPipeline -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearDepthf)(GLfloat); -#define glClearDepthf _ptrc_glClearDepthf -extern GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateShaderProgramv)(GLenum, GLsizei, const GLchar *const*); -#define glCreateShaderProgramv _ptrc_glCreateShaderProgramv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDeleteProgramPipelines)(GLsizei, const GLuint *); -#define glDeleteProgramPipelines _ptrc_glDeleteProgramPipelines -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRangeArrayv)(GLuint, GLsizei, const GLdouble *); -#define glDepthRangeArrayv _ptrc_glDepthRangeArrayv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRangeIndexed)(GLuint, GLdouble, GLdouble); -#define glDepthRangeIndexed _ptrc_glDepthRangeIndexed -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDepthRangef)(GLfloat, GLfloat); -#define glDepthRangef _ptrc_glDepthRangef -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGenProgramPipelines)(GLsizei, GLuint *); -#define glGenProgramPipelines _ptrc_glGenProgramPipelines -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetDoublei_v)(GLenum, GLuint, GLdouble *); -#define glGetDoublei_v _ptrc_glGetDoublei_v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFloati_v)(GLenum, GLuint, GLfloat *); -#define glGetFloati_v _ptrc_glGetFloati_v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, void *); -#define glGetProgramBinary _ptrc_glGetProgramBinary -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramPipelineInfoLog _ptrc_glGetProgramPipelineInfoLog -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramPipelineiv)(GLuint, GLenum, GLint *); -#define glGetProgramPipelineiv _ptrc_glGetProgramPipelineiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *); -#define glGetShaderPrecisionFormat _ptrc_glGetShaderPrecisionFormat -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribLdv)(GLuint, GLenum, GLdouble *); -#define glGetVertexAttribLdv _ptrc_glGetVertexAttribLdv -extern GLLOADGEN_EXPORT GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsProgramPipeline)(GLuint); -#define glIsProgramPipeline _ptrc_glIsProgramPipeline -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramBinary)(GLuint, GLenum, const void *, GLsizei); -#define glProgramBinary _ptrc_glProgramBinary -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramParameteri)(GLuint, GLenum, GLint); -#define glProgramParameteri _ptrc_glProgramParameteri -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1d)(GLuint, GLint, GLdouble); -#define glProgramUniform1d _ptrc_glProgramUniform1d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform1dv _ptrc_glProgramUniform1dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1f)(GLuint, GLint, GLfloat); -#define glProgramUniform1f _ptrc_glProgramUniform1f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform1fv _ptrc_glProgramUniform1fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1i)(GLuint, GLint, GLint); -#define glProgramUniform1i _ptrc_glProgramUniform1i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform1iv _ptrc_glProgramUniform1iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1ui)(GLuint, GLint, GLuint); -#define glProgramUniform1ui _ptrc_glProgramUniform1ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform1uiv _ptrc_glProgramUniform1uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble); -#define glProgramUniform2d _ptrc_glProgramUniform2d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform2dv _ptrc_glProgramUniform2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat); -#define glProgramUniform2f _ptrc_glProgramUniform2f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform2fv _ptrc_glProgramUniform2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2i)(GLuint, GLint, GLint, GLint); -#define glProgramUniform2i _ptrc_glProgramUniform2i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform2iv _ptrc_glProgramUniform2iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2ui)(GLuint, GLint, GLuint, GLuint); -#define glProgramUniform2ui _ptrc_glProgramUniform2ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform2uiv _ptrc_glProgramUniform2uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble); -#define glProgramUniform3d _ptrc_glProgramUniform3d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform3dv _ptrc_glProgramUniform3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat); -#define glProgramUniform3f _ptrc_glProgramUniform3f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform3fv _ptrc_glProgramUniform3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint); -#define glProgramUniform3i _ptrc_glProgramUniform3i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform3iv _ptrc_glProgramUniform3iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint); -#define glProgramUniform3ui _ptrc_glProgramUniform3ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform3uiv _ptrc_glProgramUniform3uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glProgramUniform4d _ptrc_glProgramUniform4d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *); -#define glProgramUniform4dv _ptrc_glProgramUniform4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glProgramUniform4f _ptrc_glProgramUniform4f -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *); -#define glProgramUniform4fv _ptrc_glProgramUniform4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint); -#define glProgramUniform4i _ptrc_glProgramUniform4i -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *); -#define glProgramUniform4iv _ptrc_glProgramUniform4iv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint); -#define glProgramUniform4ui _ptrc_glProgramUniform4ui -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *); -#define glProgramUniform4uiv _ptrc_glProgramUniform4uiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2dv _ptrc_glProgramUniformMatrix2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2fv _ptrc_glProgramUniformMatrix2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2x3dv _ptrc_glProgramUniformMatrix2x3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x3fv _ptrc_glProgramUniformMatrix2x3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix2x4dv _ptrc_glProgramUniformMatrix2x4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix2x4fv _ptrc_glProgramUniformMatrix2x4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3dv _ptrc_glProgramUniformMatrix3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3fv _ptrc_glProgramUniformMatrix3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3x2dv _ptrc_glProgramUniformMatrix3x2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x2fv _ptrc_glProgramUniformMatrix3x2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix3x4dv _ptrc_glProgramUniformMatrix3x4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix3x4fv _ptrc_glProgramUniformMatrix3x4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4dv _ptrc_glProgramUniformMatrix4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4fv _ptrc_glProgramUniformMatrix4fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4x2dv _ptrc_glProgramUniformMatrix4x2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x2fv _ptrc_glProgramUniformMatrix4x2fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *); -#define glProgramUniformMatrix4x3dv _ptrc_glProgramUniformMatrix4x3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *); -#define glProgramUniformMatrix4x3fv _ptrc_glProgramUniformMatrix4x3fv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glReleaseShaderCompiler)(); -#define glReleaseShaderCompiler _ptrc_glReleaseShaderCompiler -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissorArrayv)(GLuint, GLsizei, const GLint *); -#define glScissorArrayv _ptrc_glScissorArrayv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissorIndexed)(GLuint, GLint, GLint, GLsizei, GLsizei); -#define glScissorIndexed _ptrc_glScissorIndexed -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glScissorIndexedv)(GLuint, const GLint *); -#define glScissorIndexedv _ptrc_glScissorIndexedv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glShaderBinary)(GLsizei, const GLuint *, GLenum, const void *, GLsizei); -#define glShaderBinary _ptrc_glShaderBinary -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glUseProgramStages)(GLuint, GLbitfield, GLuint); -#define glUseProgramStages _ptrc_glUseProgramStages -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glValidateProgramPipeline)(GLuint); -#define glValidateProgramPipeline _ptrc_glValidateProgramPipeline -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL1d)(GLuint, GLdouble); -#define glVertexAttribL1d _ptrc_glVertexAttribL1d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL1dv)(GLuint, const GLdouble *); -#define glVertexAttribL1dv _ptrc_glVertexAttribL1dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL2d)(GLuint, GLdouble, GLdouble); -#define glVertexAttribL2d _ptrc_glVertexAttribL2d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL2dv)(GLuint, const GLdouble *); -#define glVertexAttribL2dv _ptrc_glVertexAttribL2dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble); -#define glVertexAttribL3d _ptrc_glVertexAttribL3d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL3dv)(GLuint, const GLdouble *); -#define glVertexAttribL3dv _ptrc_glVertexAttribL3dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble); -#define glVertexAttribL4d _ptrc_glVertexAttribL4d -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribL4dv)(GLuint, const GLdouble *); -#define glVertexAttribL4dv _ptrc_glVertexAttribL4dv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const void *); -#define glVertexAttribLPointer _ptrc_glVertexAttribLPointer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewportArrayv)(GLuint, GLsizei, const GLfloat *); -#define glViewportArrayv _ptrc_glViewportArrayv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat); -#define glViewportIndexedf _ptrc_glViewportIndexedf -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glViewportIndexedfv)(GLuint, const GLfloat *); -#define glViewportIndexedfv _ptrc_glViewportIndexedfv - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindImageTexture)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum); -#define glBindImageTexture _ptrc_glBindImageTexture -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysInstancedBaseInstance)(GLenum, GLint, GLsizei, GLsizei, GLuint); -#define glDrawArraysInstancedBaseInstance _ptrc_glDrawArraysInstancedBaseInstance -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLuint); -#define glDrawElementsInstancedBaseInstance _ptrc_glDrawElementsInstancedBaseInstance -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseVertexBaseInstance)(GLenum, GLsizei, GLenum, const void *, GLsizei, GLint, GLuint); -#define glDrawElementsInstancedBaseVertexBaseInstance _ptrc_glDrawElementsInstancedBaseVertexBaseInstance -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedbackInstanced)(GLenum, GLuint, GLsizei); -#define glDrawTransformFeedbackInstanced _ptrc_glDrawTransformFeedbackInstanced -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDrawTransformFeedbackStreamInstanced)(GLenum, GLuint, GLuint, GLsizei); -#define glDrawTransformFeedbackStreamInstanced _ptrc_glDrawTransformFeedbackStreamInstanced -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetActiveAtomicCounterBufferiv)(GLuint, GLuint, GLenum, GLint *); -#define glGetActiveAtomicCounterBufferiv _ptrc_glGetActiveAtomicCounterBufferiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInternalformativ)(GLenum, GLenum, GLenum, GLsizei, GLint *); -#define glGetInternalformativ _ptrc_glGetInternalformativ -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMemoryBarrier)(GLbitfield); -#define glMemoryBarrier _ptrc_glMemoryBarrier -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage1D)(GLenum, GLsizei, GLenum, GLsizei); -#define glTexStorage1D _ptrc_glTexStorage1D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); -#define glTexStorage2D _ptrc_glTexStorage2D -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); -#define glTexStorage3D _ptrc_glTexStorage3D - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei); -#define glBindVertexBuffer _ptrc_glBindVertexBuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferData)(GLenum, GLenum, GLenum, GLenum, const void *); -#define glClearBufferData _ptrc_glClearBufferData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearBufferSubData)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void *); -#define glClearBufferSubData _ptrc_glClearBufferSubData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glCopyImageSubData)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glCopyImageSubData _ptrc_glCopyImageSubData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDebugMessageCallback)(GLDEBUGPROC, const void *); -#define glDebugMessageCallback _ptrc_glDebugMessageCallback -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDebugMessageControl)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean); -#define glDebugMessageControl _ptrc_glDebugMessageControl -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDebugMessageInsert)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *); -#define glDebugMessageInsert _ptrc_glDebugMessageInsert -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDispatchCompute)(GLuint, GLuint, GLuint); -#define glDispatchCompute _ptrc_glDispatchCompute -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glDispatchComputeIndirect)(GLintptr); -#define glDispatchComputeIndirect _ptrc_glDispatchComputeIndirect -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glFramebufferParameteri)(GLenum, GLenum, GLint); -#define glFramebufferParameteri _ptrc_glFramebufferParameteri -extern GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetDebugMessageLog)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *); -#define glGetDebugMessageLog _ptrc_glGetDebugMessageLog -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferParameteriv)(GLenum, GLenum, GLint *); -#define glGetFramebufferParameteriv _ptrc_glGetFramebufferParameteriv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetInternalformati64v)(GLenum, GLenum, GLenum, GLsizei, GLint64 *); -#define glGetInternalformati64v _ptrc_glGetInternalformati64v -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetObjectLabel)(GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetObjectLabel _ptrc_glGetObjectLabel -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetObjectPtrLabel)(const void *, GLsizei, GLsizei *, GLchar *); -#define glGetObjectPtrLabel _ptrc_glGetObjectPtrLabel -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramInterfaceiv)(GLuint, GLenum, GLenum, GLint *); -#define glGetProgramInterfaceiv _ptrc_glGetProgramInterfaceiv -extern GLLOADGEN_EXPORT GLuint (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceIndex)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceIndex _ptrc_glGetProgramResourceIndex -extern GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceLocation)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceLocation _ptrc_glGetProgramResourceLocation -extern GLLOADGEN_EXPORT GLint (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceLocationIndex)(GLuint, GLenum, const GLchar *); -#define glGetProgramResourceLocationIndex _ptrc_glGetProgramResourceLocationIndex -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *); -#define glGetProgramResourceName _ptrc_glGetProgramResourceName -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glGetProgramResourceiv)(GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *); -#define glGetProgramResourceiv _ptrc_glGetProgramResourceiv -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateBufferData)(GLuint); -#define glInvalidateBufferData _ptrc_glInvalidateBufferData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateBufferSubData)(GLuint, GLintptr, GLsizeiptr); -#define glInvalidateBufferSubData _ptrc_glInvalidateBufferSubData -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateFramebuffer)(GLenum, GLsizei, const GLenum *); -#define glInvalidateFramebuffer _ptrc_glInvalidateFramebuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateSubFramebuffer)(GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei); -#define glInvalidateSubFramebuffer _ptrc_glInvalidateSubFramebuffer -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateTexImage)(GLuint, GLint); -#define glInvalidateTexImage _ptrc_glInvalidateTexImage -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glInvalidateTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei); -#define glInvalidateTexSubImage _ptrc_glInvalidateTexSubImage -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawArraysIndirect)(GLenum, const void *, GLsizei, GLsizei); -#define glMultiDrawArraysIndirect _ptrc_glMultiDrawArraysIndirect -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElementsIndirect)(GLenum, GLenum, const void *, GLsizei, GLsizei); -#define glMultiDrawElementsIndirect _ptrc_glMultiDrawElementsIndirect -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glObjectLabel)(GLenum, GLuint, GLsizei, const GLchar *); -#define glObjectLabel _ptrc_glObjectLabel -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glObjectPtrLabel)(const void *, GLsizei, const GLchar *); -#define glObjectPtrLabel _ptrc_glObjectPtrLabel -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPopDebugGroup)(); -#define glPopDebugGroup _ptrc_glPopDebugGroup -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glPushDebugGroup)(GLenum, GLuint, GLsizei, const GLchar *); -#define glPushDebugGroup _ptrc_glPushDebugGroup -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glShaderStorageBlockBinding)(GLuint, GLuint, GLuint); -#define glShaderStorageBlockBinding _ptrc_glShaderStorageBlockBinding -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexBufferRange)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr); -#define glTexBufferRange _ptrc_glTexBufferRange -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage2DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean); -#define glTexStorage2DMultisample _ptrc_glTexStorage2DMultisample -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTexStorage3DMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean); -#define glTexStorage3DMultisample _ptrc_glTexStorage3DMultisample -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glTextureView)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint); -#define glTextureView _ptrc_glTextureView -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribBinding)(GLuint, GLuint); -#define glVertexAttribBinding _ptrc_glVertexAttribBinding -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribFormat)(GLuint, GLint, GLenum, GLboolean, GLuint); -#define glVertexAttribFormat _ptrc_glVertexAttribFormat -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribIFormat)(GLuint, GLint, GLenum, GLuint); -#define glVertexAttribIFormat _ptrc_glVertexAttribIFormat -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribLFormat)(GLuint, GLint, GLenum, GLuint); -#define glVertexAttribLFormat _ptrc_glVertexAttribLFormat -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glVertexBindingDivisor)(GLuint, GLuint); -#define glVertexBindingDivisor _ptrc_glVertexBindingDivisor - -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBuffersBase)(GLenum, GLuint, GLsizei, const GLuint *); -#define glBindBuffersBase _ptrc_glBindBuffersBase -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindBuffersRange)(GLenum, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *); -#define glBindBuffersRange _ptrc_glBindBuffersRange -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindImageTextures)(GLuint, GLsizei, const GLuint *); -#define glBindImageTextures _ptrc_glBindImageTextures -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindSamplers)(GLuint, GLsizei, const GLuint *); -#define glBindSamplers _ptrc_glBindSamplers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindTextures)(GLuint, GLsizei, const GLuint *); -#define glBindTextures _ptrc_glBindTextures -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBindVertexBuffers)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *); -#define glBindVertexBuffers _ptrc_glBindVertexBuffers -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glBufferStorage)(GLenum, GLsizeiptr, const void *, GLbitfield); -#define glBufferStorage _ptrc_glBufferStorage -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearTexImage)(GLuint, GLint, GLenum, GLenum, const void *); -#define glClearTexImage _ptrc_glClearTexImage -extern GLLOADGEN_EXPORT void (CODEGEN_FUNCPTR *_ptrc_glClearTexSubImage)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *); -#define glClearTexSubImage _ptrc_glClearTexSubImage - -enum ogl_LoadStatus -{ - ogl_LOAD_FAILED = 0, - ogl_LOAD_SUCCEEDED = 1, -}; - -int ogl_LoadFunctions(); - -int ogl_GetMinorVersion(); -int ogl_GetMajorVersion(); -int ogl_IsVersionGEQ(int majorVersion, int minorVersion); - -#ifdef __cplusplus -} -#endif /*__cplusplus*/ - -#endif //POINTER_C_GENERATED_HEADER_OPENGL_H