renderdoc/driver/gl/gl_dispatch_table_defs.h (7,070 lines of code) (raw):

/****************************************************************************** * The MIT License (MIT) * * Copyright (c) 2018-2024 Baldur Karlsson * * 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. ******************************************************************************/ #pragma once // This file is autogenerated with gen_dispatch_table.py - any changes will be overwritten next time // that script is run. // $ ./gen_dispatch_table.py // We need to disable clang-format since this struct is programmatically generated // clang-format off #define InvokeForEachInGroup(FOR_EACH_IN_GROUP, FUNC) FOR_EACH_IN_GROUP(FUNC) #define ForEachSupported0(FUNC) \ FUNC(glBindTexture, glBindTexture); \ FUNC(glBlendFunc, glBlendFunc); \ FUNC(glClear, glClear); \ FUNC(glClearColor, glClearColor); \ FUNC(glClearDepth, glClearDepth); \ FUNC(glClearStencil, glClearStencil); \ FUNC(glColorMask, glColorMask); \ FUNC(glCullFace, glCullFace); \ FUNC(glDepthFunc, glDepthFunc); \ FUNC(glDepthMask, glDepthMask); \ FUNC(glDepthRange, glDepthRange); \ FUNC(glStencilFunc, glStencilFunc); \ FUNC(glStencilMask, glStencilMask); \ FUNC(glStencilOp, glStencilOp); \ FUNC(glDisable, glDisable); \ FUNC(glDrawBuffer, glDrawBuffer); \ FUNC(glDrawElements, glDrawElements); \ FUNC(glDrawArrays, glDrawArrays); \ FUNC(glEnable, glEnable); \ FUNC(glFlush, glFlush); \ FUNC(glFinish, glFinish); \ FUNC(glFrontFace, glFrontFace); \ FUNC(glGenTextures, glGenTextures); \ FUNC(glDeleteTextures, glDeleteTextures); \ FUNC(glIsEnabled, glIsEnabled); \ FUNC(glIsTexture, glIsTexture); \ FUNC(glGetError, glGetError); \ FUNC(glGetTexLevelParameteriv, glGetTexLevelParameteriv); \ FUNC(glGetTexLevelParameterfv, glGetTexLevelParameterfv); \ FUNC(glGetTexParameterfv, glGetTexParameterfv); \ FUNC(glGetTexParameteriv, glGetTexParameteriv); \ FUNC(glGetTexImage, glGetTexImage); \ FUNC(glGetBooleanv, glGetBooleanv); \ FUNC(glGetFloatv, glGetFloatv); \ FUNC(glGetDoublev, glGetDoublev); \ FUNC(glGetIntegerv, glGetIntegerv); \ FUNC(glGetPointerv, glGetPointerv); \ FUNC(glGetPointerv, glGetPointervKHR); \ FUNC(glGetString, glGetString); \ FUNC(glHint, glHint); \ FUNC(glLogicOp, glLogicOp); \ FUNC(glPixelStorei, glPixelStorei); \ FUNC(glPixelStoref, glPixelStoref); \ FUNC(glPolygonMode, glPolygonMode); \ FUNC(glPolygonOffset, glPolygonOffset); \ FUNC(glPointSize, glPointSize); \ FUNC(glLineWidth, glLineWidth); \ FUNC(glReadPixels, glReadPixels); \ FUNC(glReadBuffer, glReadBuffer); \ FUNC(glScissor, glScissor); \ FUNC(glTexImage1D, glTexImage1D); \ FUNC(glTexImage2D, glTexImage2D); \ FUNC(glTexSubImage1D, glTexSubImage1D); \ FUNC(glTexSubImage2D, glTexSubImage2D); \ FUNC(glCopyTexImage1D, glCopyTexImage1D); \ FUNC(glCopyTexImage2D, glCopyTexImage2D); \ FUNC(glCopyTexSubImage1D, glCopyTexSubImage1D); \ FUNC(glCopyTexSubImage2D, glCopyTexSubImage2D); \ FUNC(glTexParameterf, glTexParameterf); \ FUNC(glTexParameterfv, glTexParameterfv); \ FUNC(glTexParameteri, glTexParameteri); \ FUNC(glTexParameteriv, glTexParameteriv); \ FUNC(glViewport, glViewport); \ FUNC(glActiveTexture, glActiveTexture); \ FUNC(glActiveTexture, glActiveTextureARB); \ FUNC(glTexStorage1D, glTexStorage1D); \ FUNC(glTexStorage1D, glTexStorage1DEXT); \ FUNC(glTexStorage2D, glTexStorage2D); \ FUNC(glTexStorage2D, glTexStorage2DEXT); \ FUNC(glTexStorage3D, glTexStorage3D); \ FUNC(glTexStorage3D, glTexStorage3DEXT); \ FUNC(glTexStorage2DMultisample, glTexStorage2DMultisample); \ FUNC(glTexStorage3DMultisample, glTexStorage3DMultisample); \ FUNC(glTexStorage3DMultisample, glTexStorage3DMultisampleOES); \ FUNC(glTexImage3D, glTexImage3D); \ FUNC(glTexImage3D, glTexImage3DEXT); \ FUNC(glTexImage3D, glTexImage3DOES); \ FUNC(glTexSubImage3D, glTexSubImage3D); \ FUNC(glTexSubImage3D, glTexSubImage3DOES); \ FUNC(glTexBuffer, glTexBuffer); \ FUNC(glTexBuffer, glTexBufferARB); \ FUNC(glTexBuffer, glTexBufferEXT); \ FUNC(glTexBuffer, glTexBufferOES); \ FUNC(glTexImage2DMultisample, glTexImage2DMultisample); \ FUNC(glTexImage3DMultisample, glTexImage3DMultisample); \ FUNC(glCompressedTexImage1D, glCompressedTexImage1D); \ FUNC(glCompressedTexImage1D, glCompressedTexImage1DARB); \ FUNC(glCompressedTexImage2D, glCompressedTexImage2D); \ FUNC(glCompressedTexImage2D, glCompressedTexImage2DARB); \ FUNC(glCompressedTexImage3D, glCompressedTexImage3D); \ FUNC(glCompressedTexImage3D, glCompressedTexImage3DARB); \ FUNC(glCompressedTexImage3D, glCompressedTexImage3DOES); \ FUNC(glCompressedTexSubImage1D, glCompressedTexSubImage1D); \ FUNC(glCompressedTexSubImage1D, glCompressedTexSubImage1DARB); \ FUNC(glCompressedTexSubImage2D, glCompressedTexSubImage2D); \ FUNC(glCompressedTexSubImage2D, glCompressedTexSubImage2DARB); \ FUNC(glCompressedTexSubImage3D, glCompressedTexSubImage3D); \ FUNC(glCompressedTexSubImage3D, glCompressedTexSubImage3DARB); \ FUNC(glCompressedTexSubImage3D, glCompressedTexSubImage3DOES); \ FUNC(glTexBufferRange, glTexBufferRange); \ FUNC(glTexBufferRange, glTexBufferRangeEXT); \ FUNC(glTexBufferRange, glTexBufferRangeOES); \ FUNC(glTextureView, glTextureView); \ FUNC(glTextureView, glTextureViewOES); \ FUNC(glTextureView, glTextureViewEXT); \ FUNC(glTexParameterIiv, glTexParameterIiv); \ FUNC(glTexParameterIiv, glTexParameterIivEXT); \ FUNC(glTexParameterIiv, glTexParameterIivOES); \ FUNC(glTexParameterIuiv, glTexParameterIuiv); \ FUNC(glTexParameterIuiv, glTexParameterIuivEXT); \ FUNC(glTexParameterIuiv, glTexParameterIuivOES); \ FUNC(glGenerateMipmap, glGenerateMipmap); \ FUNC(glGenerateMipmap, glGenerateMipmapEXT); \ FUNC(glCopyImageSubData, glCopyImageSubData); \ FUNC(glCopyImageSubData, glCopyImageSubDataEXT); \ FUNC(glCopyImageSubData, glCopyImageSubDataOES); \ FUNC(glCopyTexSubImage3D, glCopyTexSubImage3D); \ FUNC(glCopyTexSubImage3D, glCopyTexSubImage3DOES); \ FUNC(glGetInternalformativ, glGetInternalformativ); \ FUNC(glGetInternalformati64v, glGetInternalformati64v); \ FUNC(glGetBufferParameteriv, glGetBufferParameteriv); \ FUNC(glGetBufferParameteriv, glGetBufferParameterivARB); \ FUNC(glGetBufferParameteri64v, glGetBufferParameteri64v); \ FUNC(glGetBufferPointerv, glGetBufferPointerv); \ FUNC(glGetBufferPointerv, glGetBufferPointervARB); \ FUNC(glGetBufferPointerv, glGetBufferPointervOES); \ FUNC(glGetFragDataIndex, glGetFragDataIndex); \ FUNC(glGetFragDataLocation, glGetFragDataLocation); \ FUNC(glGetFragDataLocation, glGetFragDataLocationEXT); \ FUNC(glGetStringi, glGetStringi); \ FUNC(glGetBooleani_v, glGetBooleani_v); \ FUNC(glGetIntegeri_v, glGetIntegeri_v); \ FUNC(glGetFloati_v, glGetFloati_v); \ FUNC(glGetFloati_v, glGetFloati_vEXT); \ FUNC(glGetFloati_v, glGetFloati_vOES); \ FUNC(glGetFloati_v, glGetFloati_vNV); \ FUNC(glGetDoublei_v, glGetDoublei_v); \ FUNC(glGetDoublei_v, glGetDoublei_vEXT); \ FUNC(glGetInteger64i_v, glGetInteger64i_v); \ FUNC(glGetInteger64v, glGetInteger64v); \ FUNC(glGetShaderiv, glGetShaderiv); \ FUNC(glGetShaderInfoLog, glGetShaderInfoLog); \ FUNC(glGetShaderPrecisionFormat, glGetShaderPrecisionFormat); \ FUNC(glGetShaderSource, glGetShaderSource); \ FUNC(glGetAttachedShaders, glGetAttachedShaders); \ FUNC(glGetProgramiv, glGetProgramiv); \ FUNC(glGetProgramInfoLog, glGetProgramInfoLog); \ FUNC(glGetProgramInterfaceiv, glGetProgramInterfaceiv); \ FUNC(glGetProgramResourceIndex, glGetProgramResourceIndex); \ FUNC(glGetProgramResourceiv, glGetProgramResourceiv); \ FUNC(glGetProgramResourceName, glGetProgramResourceName); \ FUNC(glGetProgramPipelineiv, glGetProgramPipelineiv); \ FUNC(glGetProgramPipelineiv, glGetProgramPipelineivEXT); \ FUNC(glGetProgramPipelineInfoLog, glGetProgramPipelineInfoLog); \ FUNC(glGetProgramPipelineInfoLog, glGetProgramPipelineInfoLogEXT); \ FUNC(glGetProgramBinary, glGetProgramBinary); \ FUNC(glGetProgramResourceLocation, glGetProgramResourceLocation); \ FUNC(glGetProgramResourceLocationIndex, glGetProgramResourceLocationIndex); \ FUNC(glGetProgramStageiv, glGetProgramStageiv); \ FUNC(glGetGraphicsResetStatus, glGetGraphicsResetStatus); \ FUNC(glGetGraphicsResetStatus, glGetGraphicsResetStatusARB); \ FUNC(glGetGraphicsResetStatus, glGetGraphicsResetStatusEXT); \ FUNC(glGetObjectLabel, glGetObjectLabel); \ FUNC(glGetObjectLabel, glGetObjectLabelKHR); \ FUNC(glGetObjectLabelEXT, glGetObjectLabelEXT); \ FUNC(glGetObjectPtrLabel, glGetObjectPtrLabel); \ FUNC(glGetObjectPtrLabel, glGetObjectPtrLabelKHR); \ FUNC(glGetDebugMessageLog, glGetDebugMessageLog); \ FUNC(glGetDebugMessageLog, glGetDebugMessageLogARB); \ FUNC(glGetDebugMessageLog, glGetDebugMessageLogKHR); \ FUNC(glGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameteriv); \ FUNC(glGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameterivEXT); \ FUNC(glGetFramebufferParameteriv, glGetFramebufferParameteriv); \ FUNC(glGetRenderbufferParameteriv, glGetRenderbufferParameteriv); \ FUNC(glGetRenderbufferParameteriv, glGetRenderbufferParameterivEXT); \ FUNC(glGetMultisamplefv, glGetMultisamplefv); \ FUNC(glGetQueryIndexediv, glGetQueryIndexediv); \ FUNC(glGetQueryObjectui64v, glGetQueryObjectui64v); \ FUNC(glGetQueryObjectui64v, glGetQueryObjectui64vEXT); \ FUNC(glGetQueryObjectuiv, glGetQueryObjectuiv); \ FUNC(glGetQueryObjectuiv, glGetQueryObjectuivARB); \ FUNC(glGetQueryObjectuiv, glGetQueryObjectuivEXT); \ FUNC(glGetQueryObjecti64v, glGetQueryObjecti64v); \ FUNC(glGetQueryObjecti64v, glGetQueryObjecti64vEXT); \ FUNC(glGetQueryObjectiv, glGetQueryObjectiv); \ FUNC(glGetQueryObjectiv, glGetQueryObjectivARB); \ FUNC(glGetQueryObjectiv, glGetQueryObjectivEXT); \ FUNC(glGetQueryiv, glGetQueryiv); \ FUNC(glGetQueryiv, glGetQueryivARB); \ FUNC(glGetQueryiv, glGetQueryivEXT); \ FUNC(glGetSynciv, glGetSynciv); \ FUNC(glGetBufferSubData, glGetBufferSubData); \ FUNC(glGetBufferSubData, glGetBufferSubDataARB); \ FUNC(glGetVertexAttribiv, glGetVertexAttribiv); \ FUNC(glGetVertexAttribPointerv, glGetVertexAttribPointerv); \ FUNC(glGetCompressedTexImage, glGetCompressedTexImage); \ FUNC(glGetCompressedTexImage, glGetCompressedTexImageARB); \ FUNC(glGetnCompressedTexImage, glGetnCompressedTexImage); \ FUNC(glGetnCompressedTexImage, glGetnCompressedTexImageARB); \ FUNC(glGetnTexImage, glGetnTexImage); \ FUNC(glGetnTexImage, glGetnTexImageARB); \ FUNC(glGetTexParameterIiv, glGetTexParameterIiv); \ FUNC(glGetTexParameterIiv, glGetTexParameterIivEXT); \ FUNC(glGetTexParameterIiv, glGetTexParameterIivOES); \ FUNC(glGetTexParameterIuiv, glGetTexParameterIuiv); \ FUNC(glGetTexParameterIuiv, glGetTexParameterIuivEXT); \ FUNC(glGetTexParameterIuiv, glGetTexParameterIuivOES); \ FUNC(glClampColor, glClampColor); \ FUNC(glClampColor, glClampColorARB); \ FUNC(glReadnPixels, glReadnPixels); \ FUNC(glReadnPixels, glReadnPixelsARB); \ FUNC(glReadnPixels, glReadnPixelsEXT); \ FUNC(glGetSamplerParameterIiv, glGetSamplerParameterIiv); \ FUNC(glGetSamplerParameterIiv, glGetSamplerParameterIivEXT); \ FUNC(glGetSamplerParameterIiv, glGetSamplerParameterIivOES); \ FUNC(glGetSamplerParameterIuiv, glGetSamplerParameterIuiv); \ FUNC(glGetSamplerParameterIuiv, glGetSamplerParameterIuivEXT); \ FUNC(glGetSamplerParameterIuiv, glGetSamplerParameterIuivOES); \ FUNC(glGetSamplerParameterfv, glGetSamplerParameterfv); \ FUNC(glGetSamplerParameteriv, glGetSamplerParameteriv); \ FUNC(glGetTransformFeedbackVarying, glGetTransformFeedbackVarying); \ FUNC(glGetTransformFeedbackVarying, glGetTransformFeedbackVaryingEXT); \ FUNC(glGetSubroutineIndex, glGetSubroutineIndex); \ FUNC(glGetSubroutineUniformLocation, glGetSubroutineUniformLocation); \ FUNC(glGetActiveAtomicCounterBufferiv, glGetActiveAtomicCounterBufferiv); \ FUNC(glGetActiveSubroutineName, glGetActiveSubroutineName); \ FUNC(glGetActiveSubroutineUniformName, glGetActiveSubroutineUniformName); \ FUNC(glGetActiveSubroutineUniformiv, glGetActiveSubroutineUniformiv); \ FUNC(glGetUniformLocation, glGetUniformLocation); \ FUNC(glGetUniformIndices, glGetUniformIndices); \ FUNC(glGetUniformSubroutineuiv, glGetUniformSubroutineuiv); \ FUNC(glGetUniformBlockIndex, glGetUniformBlockIndex); \ FUNC(glGetAttribLocation, glGetAttribLocation); \ FUNC(glGetActiveUniform, glGetActiveUniform); \ FUNC(glGetActiveUniformName, glGetActiveUniformName); \ FUNC(glGetActiveUniformBlockName, glGetActiveUniformBlockName); \ FUNC(glGetActiveUniformBlockiv, glGetActiveUniformBlockiv); \ FUNC(glGetActiveUniformsiv, glGetActiveUniformsiv); \ FUNC(glGetActiveAttrib, glGetActiveAttrib); \ FUNC(glGetUniformfv, glGetUniformfv); \ FUNC(glGetUniformiv, glGetUniformiv); \ FUNC(glGetUniformuiv, glGetUniformuiv); \ FUNC(glGetUniformuiv, glGetUniformuivEXT); \ FUNC(glGetUniformdv, glGetUniformdv); \ FUNC(glGetnUniformdv, glGetnUniformdv); \ FUNC(glGetnUniformdv, glGetnUniformdvARB); \ FUNC(glGetnUniformfv, glGetnUniformfv); \ FUNC(glGetnUniformfv, glGetnUniformfvARB); \ FUNC(glGetnUniformfv, glGetnUniformfvEXT); \ FUNC(glGetnUniformiv, glGetnUniformiv); \ FUNC(glGetnUniformiv, glGetnUniformivARB); \ FUNC(glGetnUniformiv, glGetnUniformivEXT); \ FUNC(glGetnUniformuiv, glGetnUniformuiv); \ FUNC(glGetnUniformuiv, glGetnUniformuivARB); \ FUNC(glGetVertexAttribIiv, glGetVertexAttribIiv); \ FUNC(glGetVertexAttribIiv, glGetVertexAttribIivEXT); \ FUNC(glGetVertexAttribIuiv, glGetVertexAttribIuiv); \ FUNC(glGetVertexAttribIuiv, glGetVertexAttribIuivEXT); \ FUNC(glGetVertexAttribLdv, glGetVertexAttribLdv); \ FUNC(glGetVertexAttribLdv, glGetVertexAttribLdvEXT); \ FUNC(glGetVertexAttribdv, glGetVertexAttribdv); \ FUNC(glGetVertexAttribfv, glGetVertexAttribfv); \ FUNC(glCheckFramebufferStatus, glCheckFramebufferStatus); \ FUNC(glCheckFramebufferStatus, glCheckFramebufferStatusEXT); \ FUNC(glBlendColor, glBlendColor); \ FUNC(glBlendColor, glBlendColorEXT); \ FUNC(glBlendFunci, glBlendFunci); \ FUNC(glBlendFunci, glBlendFunciARB); \ FUNC(glBlendFunci, glBlendFunciEXT); \ FUNC(glBlendFunci, glBlendFunciOES); \ FUNC(glBlendFuncSeparate, glBlendFuncSeparate); \ FUNC(glBlendFuncSeparate, glBlendFuncSeparateARB); \ FUNC(glBlendFuncSeparatei, glBlendFuncSeparatei); \ FUNC(glBlendFuncSeparatei, glBlendFuncSeparateiARB); \ FUNC(glBlendFuncSeparatei, glBlendFuncSeparateiEXT); \ FUNC(glBlendFuncSeparatei, glBlendFuncSeparateiOES); \ FUNC(glBlendEquation, glBlendEquation); \ FUNC(glBlendEquation, glBlendEquationEXT); \ FUNC(glBlendEquation, glBlendEquationARB); \ FUNC(glBlendEquationi, glBlendEquationi); \ FUNC(glBlendEquationi, glBlendEquationiARB); \ FUNC(glBlendEquationi, glBlendEquationiEXT); \ FUNC(glBlendEquationi, glBlendEquationiOES); \ FUNC(glBlendEquationSeparate, glBlendEquationSeparate); \ FUNC(glBlendEquationSeparate, glBlendEquationSeparateARB); \ FUNC(glBlendEquationSeparate, glBlendEquationSeparateEXT); \ FUNC(glBlendEquationSeparatei, glBlendEquationSeparatei); \ FUNC(glBlendEquationSeparatei, glBlendEquationSeparateiARB); \ FUNC(glBlendEquationSeparatei, glBlendEquationSeparateiEXT); \ FUNC(glBlendEquationSeparatei, glBlendEquationSeparateiOES); \ FUNC(glBlendBarrierKHR, glBlendBarrierKHR); \ FUNC(glStencilFuncSeparate, glStencilFuncSeparate); \ FUNC(glStencilMaskSeparate, glStencilMaskSeparate); \ FUNC(glStencilOpSeparate, glStencilOpSeparate); \ FUNC(glColorMaski, glColorMaski); \ FUNC(glColorMaski, glColorMaskiEXT); \ FUNC(glColorMaski, glColorMaskIndexedEXT); \ FUNC(glColorMaski, glColorMaskiOES); \ FUNC(glSampleMaski, glSampleMaski); \ FUNC(glSampleCoverage, glSampleCoverage); \ FUNC(glSampleCoverage, glSampleCoverageARB); \ FUNC(glMinSampleShading, glMinSampleShading); \ FUNC(glMinSampleShading, glMinSampleShadingARB); \ FUNC(glMinSampleShading, glMinSampleShadingOES); \ FUNC(glDepthRangef, glDepthRangef); \ FUNC(glDepthRangeIndexed, glDepthRangeIndexed); \ FUNC(glDepthRangeArrayv, glDepthRangeArrayv); \ FUNC(glClipControl, glClipControl); \ FUNC(glProvokingVertex, glProvokingVertex); \ FUNC(glProvokingVertex, glProvokingVertexEXT); \ FUNC(glPrimitiveRestartIndex, glPrimitiveRestartIndex); \ FUNC(glCreateShader, glCreateShader); \ FUNC(glDeleteShader, glDeleteShader); \ FUNC(glShaderSource, glShaderSource); \ FUNC(glCompileShader, glCompileShader); \ FUNC(glCreateShaderProgramv, glCreateShaderProgramv); \ FUNC(glCreateShaderProgramv, glCreateShaderProgramvEXT); \ FUNC(glCreateProgram, glCreateProgram); \ FUNC(glDeleteProgram, glDeleteProgram); \ FUNC(glAttachShader, glAttachShader); \ FUNC(glDetachShader, glDetachShader); \ FUNC(glReleaseShaderCompiler, glReleaseShaderCompiler); \ FUNC(glLinkProgram, glLinkProgram); \ FUNC(glProgramParameteri, glProgramParameteri); \ FUNC(glProgramParameteri, glProgramParameteriARB); \ FUNC(glProgramParameteri, glProgramParameteriEXT); \ FUNC(glUseProgram, glUseProgram); \ FUNC(glShaderBinary, glShaderBinary); \ FUNC(glProgramBinary, glProgramBinary); \ FUNC(glUseProgramStages, glUseProgramStages); \ FUNC(glUseProgramStages, glUseProgramStagesEXT); \ FUNC(glValidateProgram, glValidateProgram); \ FUNC(glGenProgramPipelines, glGenProgramPipelines); \ FUNC(glGenProgramPipelines, glGenProgramPipelinesEXT); \ FUNC(glBindProgramPipeline, glBindProgramPipeline); \ FUNC(glBindProgramPipeline, glBindProgramPipelineEXT); \ FUNC(glActiveShaderProgram, glActiveShaderProgram); \ FUNC(glActiveShaderProgram, glActiveShaderProgramEXT); \ FUNC(glDeleteProgramPipelines, glDeleteProgramPipelines); \ FUNC(glDeleteProgramPipelines, glDeleteProgramPipelinesEXT); \ FUNC(glValidateProgramPipeline, glValidateProgramPipeline); \ FUNC(glValidateProgramPipeline, glValidateProgramPipelineEXT); \ FUNC(glDebugMessageCallback, glDebugMessageCallback); \ FUNC(glDebugMessageCallback, glDebugMessageCallbackARB); \ FUNC(glDebugMessageCallback, glDebugMessageCallbackKHR); \ FUNC(glDebugMessageControl, glDebugMessageControl); \ FUNC(glDebugMessageControl, glDebugMessageControlARB); \ FUNC(glDebugMessageControl, glDebugMessageControlKHR); \ FUNC(glDebugMessageInsert, glDebugMessageInsert); \ FUNC(glDebugMessageInsert, glDebugMessageInsertARB); \ FUNC(glDebugMessageInsert, glDebugMessageInsertKHR); \ FUNC(glPushDebugGroup, glPushDebugGroup); \ FUNC(glPushDebugGroup, glPushDebugGroupKHR); \ FUNC(glPopDebugGroup, glPopDebugGroup); \ FUNC(glPopDebugGroup, glPopDebugGroupKHR); \ FUNC(glObjectLabel, glObjectLabel); \ FUNC(glObjectLabel, glObjectLabelKHR); \ FUNC(glLabelObjectEXT, glLabelObjectEXT); \ FUNC(glObjectPtrLabel, glObjectPtrLabel); \ FUNC(glObjectPtrLabel, glObjectPtrLabelKHR); \ FUNC(glEnablei, glEnablei); \ FUNC(glEnablei, glEnableiEXT); \ FUNC(glEnablei, glEnableIndexedEXT); \ FUNC(glEnablei, glEnableiOES); \ FUNC(glEnablei, glEnableiNV); \ FUNC(glDisablei, glDisablei); \ FUNC(glDisablei, glDisableiEXT); \ FUNC(glDisablei, glDisableIndexedEXT); \ FUNC(glDisablei, glDisableiOES); \ FUNC(glDisablei, glDisableiNV); \ FUNC(glIsEnabledi, glIsEnabledi); \ FUNC(glIsEnabledi, glIsEnablediEXT); \ FUNC(glIsEnabledi, glIsEnabledIndexedEXT); \ FUNC(glIsEnabledi, glIsEnablediOES); \ FUNC(glIsEnabledi, glIsEnablediNV); \ FUNC(glIsBuffer, glIsBuffer); \ FUNC(glIsBuffer, glIsBufferARB); \ FUNC(glIsFramebuffer, glIsFramebuffer); \ FUNC(glIsFramebuffer, glIsFramebufferEXT); \ FUNC(glIsProgram, glIsProgram); \ FUNC(glIsProgramPipeline, glIsProgramPipeline); \ FUNC(glIsProgramPipeline, glIsProgramPipelineEXT); \ FUNC(glIsQuery, glIsQuery); \ FUNC(glIsQuery, glIsQueryARB); \ FUNC(glIsQuery, glIsQueryEXT); \ FUNC(glIsRenderbuffer, glIsRenderbuffer); \ FUNC(glIsRenderbuffer, glIsRenderbufferEXT); \ FUNC(glIsSampler, glIsSampler); \ FUNC(glIsShader, glIsShader); \ FUNC(glIsSync, glIsSync); \ FUNC(glIsTransformFeedback, glIsTransformFeedback); \ FUNC(glIsVertexArray, glIsVertexArray); \ FUNC(glIsVertexArray, glIsVertexArrayOES); \ #define ForEachSupported1(FUNC) \ FUNC(glGenBuffers, glGenBuffers); \ FUNC(glGenBuffers, glGenBuffersARB); \ FUNC(glBindBuffer, glBindBuffer); \ FUNC(glBindBuffer, glBindBufferARB); \ FUNC(glDrawBuffers, glDrawBuffers); \ FUNC(glDrawBuffers, glDrawBuffersARB); \ FUNC(glDrawBuffers, glDrawBuffersEXT); \ FUNC(glGenFramebuffers, glGenFramebuffers); \ FUNC(glGenFramebuffers, glGenFramebuffersEXT); \ FUNC(glBindFramebuffer, glBindFramebuffer); \ FUNC(glBindFramebuffer, glBindFramebufferEXT); \ FUNC(glFramebufferTexture, glFramebufferTexture); \ FUNC(glFramebufferTexture, glFramebufferTextureARB); \ FUNC(glFramebufferTexture, glFramebufferTextureOES); \ FUNC(glFramebufferTexture, glFramebufferTextureEXT); \ FUNC(glFramebufferTexture1D, glFramebufferTexture1D); \ FUNC(glFramebufferTexture1D, glFramebufferTexture1DEXT); \ FUNC(glFramebufferTexture2D, glFramebufferTexture2D); \ FUNC(glFramebufferTexture2D, glFramebufferTexture2DEXT); \ FUNC(glFramebufferTexture3D, glFramebufferTexture3D); \ FUNC(glFramebufferTexture3D, glFramebufferTexture3DEXT); \ FUNC(glFramebufferTexture3D, glFramebufferTexture3DOES); \ FUNC(glFramebufferRenderbuffer, glFramebufferRenderbuffer); \ FUNC(glFramebufferRenderbuffer, glFramebufferRenderbufferEXT); \ FUNC(glFramebufferTextureLayer, glFramebufferTextureLayer); \ FUNC(glFramebufferTextureLayer, glFramebufferTextureLayerARB); \ FUNC(glFramebufferTextureLayer, glFramebufferTextureLayerEXT); \ FUNC(glFramebufferParameteri, glFramebufferParameteri); \ FUNC(glDeleteFramebuffers, glDeleteFramebuffers); \ FUNC(glDeleteFramebuffers, glDeleteFramebuffersEXT); \ FUNC(glGenRenderbuffers, glGenRenderbuffers); \ FUNC(glGenRenderbuffers, glGenRenderbuffersEXT); \ FUNC(glRenderbufferStorage, glRenderbufferStorage); \ FUNC(glRenderbufferStorage, glRenderbufferStorageEXT); \ FUNC(glRenderbufferStorageMultisample, glRenderbufferStorageMultisample); \ FUNC(glDeleteRenderbuffers, glDeleteRenderbuffers); \ FUNC(glDeleteRenderbuffers, glDeleteRenderbuffersEXT); \ FUNC(glBindRenderbuffer, glBindRenderbuffer); \ FUNC(glBindRenderbuffer, glBindRenderbufferEXT); \ FUNC(glFenceSync, glFenceSync); \ FUNC(glClientWaitSync, glClientWaitSync); \ FUNC(glWaitSync, glWaitSync); \ FUNC(glDeleteSync, glDeleteSync); \ FUNC(glGenQueries, glGenQueries); \ FUNC(glGenQueries, glGenQueriesARB); \ FUNC(glGenQueries, glGenQueriesEXT); \ FUNC(glBeginQuery, glBeginQuery); \ FUNC(glBeginQuery, glBeginQueryARB); \ FUNC(glBeginQuery, glBeginQueryEXT); \ FUNC(glBeginQueryIndexed, glBeginQueryIndexed); \ FUNC(glEndQuery, glEndQuery); \ FUNC(glEndQuery, glEndQueryARB); \ FUNC(glEndQuery, glEndQueryEXT); \ FUNC(glEndQueryIndexed, glEndQueryIndexed); \ FUNC(glBeginConditionalRender, glBeginConditionalRender); \ FUNC(glEndConditionalRender, glEndConditionalRender); \ FUNC(glQueryCounter, glQueryCounter); \ FUNC(glQueryCounter, glQueryCounterEXT); \ FUNC(glDeleteQueries, glDeleteQueries); \ FUNC(glDeleteQueries, glDeleteQueriesARB); \ FUNC(glDeleteQueries, glDeleteQueriesEXT); \ FUNC(glBufferData, glBufferData); \ FUNC(glBufferData, glBufferDataARB); \ FUNC(glBufferStorage, glBufferStorage); \ FUNC(glBufferStorage, glBufferStorageEXT); \ FUNC(glBufferSubData, glBufferSubData); \ FUNC(glBufferSubData, glBufferSubDataARB); \ FUNC(glCopyBufferSubData, glCopyBufferSubData); \ FUNC(glBindBufferBase, glBindBufferBase); \ FUNC(glBindBufferBase, glBindBufferBaseEXT); \ FUNC(glBindBufferRange, glBindBufferRange); \ FUNC(glBindBufferRange, glBindBufferRangeEXT); \ FUNC(glBindBuffersBase, glBindBuffersBase); \ FUNC(glBindBuffersRange, glBindBuffersRange); \ FUNC(glMapBuffer, glMapBuffer); \ FUNC(glMapBuffer, glMapBufferARB); \ FUNC(glMapBuffer, glMapBufferOES); \ FUNC(glMapBufferRange, glMapBufferRange); \ FUNC(glMapBufferRange, glMapBufferRangeEXT); \ FUNC(glFlushMappedBufferRange, glFlushMappedBufferRange); \ FUNC(glFlushMappedBufferRange, glFlushMappedBufferRangeEXT); \ FUNC(glUnmapBuffer, glUnmapBuffer); \ FUNC(glUnmapBuffer, glUnmapBufferARB); \ FUNC(glUnmapBuffer, glUnmapBufferOES); \ FUNC(glTransformFeedbackVaryings, glTransformFeedbackVaryings); \ FUNC(glTransformFeedbackVaryings, glTransformFeedbackVaryingsEXT); \ FUNC(glGenTransformFeedbacks, glGenTransformFeedbacks); \ FUNC(glDeleteTransformFeedbacks, glDeleteTransformFeedbacks); \ FUNC(glBindTransformFeedback, glBindTransformFeedback); \ FUNC(glBeginTransformFeedback, glBeginTransformFeedback); \ FUNC(glBeginTransformFeedback, glBeginTransformFeedbackEXT); \ FUNC(glPauseTransformFeedback, glPauseTransformFeedback); \ FUNC(glResumeTransformFeedback, glResumeTransformFeedback); \ FUNC(glEndTransformFeedback, glEndTransformFeedback); \ FUNC(glEndTransformFeedback, glEndTransformFeedbackEXT); \ FUNC(glDrawTransformFeedback, glDrawTransformFeedback); \ FUNC(glDrawTransformFeedbackInstanced, glDrawTransformFeedbackInstanced); \ FUNC(glDrawTransformFeedbackStream, glDrawTransformFeedbackStream); \ FUNC(glDrawTransformFeedbackStreamInstanced, glDrawTransformFeedbackStreamInstanced); \ FUNC(glDeleteBuffers, glDeleteBuffers); \ FUNC(glDeleteBuffers, glDeleteBuffersARB); \ FUNC(glGenVertexArrays, glGenVertexArrays); \ FUNC(glGenVertexArrays, glGenVertexArraysOES); \ FUNC(glBindVertexArray, glBindVertexArray); \ FUNC(glBindVertexArray, glBindVertexArrayOES); \ FUNC(glDeleteVertexArrays, glDeleteVertexArrays); \ FUNC(glDeleteVertexArrays, glDeleteVertexArraysOES); \ FUNC(glVertexAttrib1d, glVertexAttrib1d); \ FUNC(glVertexAttrib1d, glVertexAttrib1dARB); \ FUNC(glVertexAttrib1dv, glVertexAttrib1dv); \ FUNC(glVertexAttrib1dv, glVertexAttrib1dvARB); \ FUNC(glVertexAttrib1f, glVertexAttrib1f); \ FUNC(glVertexAttrib1f, glVertexAttrib1fARB); \ FUNC(glVertexAttrib1fv, glVertexAttrib1fv); \ FUNC(glVertexAttrib1fv, glVertexAttrib1fvARB); \ FUNC(glVertexAttrib1s, glVertexAttrib1s); \ FUNC(glVertexAttrib1s, glVertexAttrib1sARB); \ FUNC(glVertexAttrib1sv, glVertexAttrib1sv); \ FUNC(glVertexAttrib1sv, glVertexAttrib1svARB); \ FUNC(glVertexAttrib2d, glVertexAttrib2d); \ FUNC(glVertexAttrib2d, glVertexAttrib2dARB); \ FUNC(glVertexAttrib2dv, glVertexAttrib2dv); \ FUNC(glVertexAttrib2dv, glVertexAttrib2dvARB); \ FUNC(glVertexAttrib2f, glVertexAttrib2f); \ FUNC(glVertexAttrib2f, glVertexAttrib2fARB); \ FUNC(glVertexAttrib2fv, glVertexAttrib2fv); \ FUNC(glVertexAttrib2fv, glVertexAttrib2fvARB); \ FUNC(glVertexAttrib2s, glVertexAttrib2s); \ FUNC(glVertexAttrib2s, glVertexAttrib2sARB); \ FUNC(glVertexAttrib2sv, glVertexAttrib2sv); \ FUNC(glVertexAttrib2sv, glVertexAttrib2svARB); \ FUNC(glVertexAttrib3d, glVertexAttrib3d); \ FUNC(glVertexAttrib3d, glVertexAttrib3dARB); \ FUNC(glVertexAttrib3dv, glVertexAttrib3dv); \ FUNC(glVertexAttrib3dv, glVertexAttrib3dvARB); \ FUNC(glVertexAttrib3f, glVertexAttrib3f); \ FUNC(glVertexAttrib3f, glVertexAttrib3fARB); \ FUNC(glVertexAttrib3fv, glVertexAttrib3fv); \ FUNC(glVertexAttrib3fv, glVertexAttrib3fvARB); \ FUNC(glVertexAttrib3s, glVertexAttrib3s); \ FUNC(glVertexAttrib3s, glVertexAttrib3sARB); \ FUNC(glVertexAttrib3sv, glVertexAttrib3sv); \ FUNC(glVertexAttrib3sv, glVertexAttrib3svARB); \ FUNC(glVertexAttrib4Nbv, glVertexAttrib4Nbv); \ FUNC(glVertexAttrib4Nbv, glVertexAttrib4NbvARB); \ FUNC(glVertexAttrib4Niv, glVertexAttrib4Niv); \ FUNC(glVertexAttrib4Niv, glVertexAttrib4NivARB); \ FUNC(glVertexAttrib4Nsv, glVertexAttrib4Nsv); \ FUNC(glVertexAttrib4Nsv, glVertexAttrib4NsvARB); \ FUNC(glVertexAttrib4Nub, glVertexAttrib4Nub); \ FUNC(glVertexAttrib4Nubv, glVertexAttrib4Nubv); \ FUNC(glVertexAttrib4Nubv, glVertexAttrib4NubvARB); \ FUNC(glVertexAttrib4Nuiv, glVertexAttrib4Nuiv); \ FUNC(glVertexAttrib4Nuiv, glVertexAttrib4NuivARB); \ FUNC(glVertexAttrib4Nusv, glVertexAttrib4Nusv); \ FUNC(glVertexAttrib4Nusv, glVertexAttrib4NusvARB); \ FUNC(glVertexAttrib4bv, glVertexAttrib4bv); \ FUNC(glVertexAttrib4bv, glVertexAttrib4bvARB); \ FUNC(glVertexAttrib4d, glVertexAttrib4d); \ FUNC(glVertexAttrib4d, glVertexAttrib4dARB); \ FUNC(glVertexAttrib4dv, glVertexAttrib4dv); \ FUNC(glVertexAttrib4dv, glVertexAttrib4dvARB); \ FUNC(glVertexAttrib4f, glVertexAttrib4f); \ FUNC(glVertexAttrib4f, glVertexAttrib4fARB); \ FUNC(glVertexAttrib4fv, glVertexAttrib4fv); \ FUNC(glVertexAttrib4fv, glVertexAttrib4fvARB); \ FUNC(glVertexAttrib4iv, glVertexAttrib4iv); \ FUNC(glVertexAttrib4iv, glVertexAttrib4ivARB); \ FUNC(glVertexAttrib4s, glVertexAttrib4s); \ FUNC(glVertexAttrib4s, glVertexAttrib4sARB); \ FUNC(glVertexAttrib4sv, glVertexAttrib4sv); \ FUNC(glVertexAttrib4sv, glVertexAttrib4svARB); \ FUNC(glVertexAttrib4ubv, glVertexAttrib4ubv); \ FUNC(glVertexAttrib4ubv, glVertexAttrib4ubvARB); \ FUNC(glVertexAttrib4uiv, glVertexAttrib4uiv); \ FUNC(glVertexAttrib4uiv, glVertexAttrib4uivARB); \ FUNC(glVertexAttrib4usv, glVertexAttrib4usv); \ FUNC(glVertexAttrib4usv, glVertexAttrib4usvARB); \ FUNC(glVertexAttribI1i, glVertexAttribI1i); \ FUNC(glVertexAttribI1i, glVertexAttribI1iEXT); \ FUNC(glVertexAttribI1iv, glVertexAttribI1iv); \ FUNC(glVertexAttribI1iv, glVertexAttribI1ivEXT); \ FUNC(glVertexAttribI1ui, glVertexAttribI1ui); \ FUNC(glVertexAttribI1ui, glVertexAttribI1uiEXT); \ FUNC(glVertexAttribI1uiv, glVertexAttribI1uiv); \ FUNC(glVertexAttribI1uiv, glVertexAttribI1uivEXT); \ FUNC(glVertexAttribI2i, glVertexAttribI2i); \ FUNC(glVertexAttribI2i, glVertexAttribI2iEXT); \ FUNC(glVertexAttribI2iv, glVertexAttribI2iv); \ FUNC(glVertexAttribI2iv, glVertexAttribI2ivEXT); \ FUNC(glVertexAttribI2ui, glVertexAttribI2ui); \ FUNC(glVertexAttribI2ui, glVertexAttribI2uiEXT); \ FUNC(glVertexAttribI2uiv, glVertexAttribI2uiv); \ FUNC(glVertexAttribI2uiv, glVertexAttribI2uivEXT); \ FUNC(glVertexAttribI3i, glVertexAttribI3i); \ FUNC(glVertexAttribI3i, glVertexAttribI3iEXT); \ FUNC(glVertexAttribI3iv, glVertexAttribI3iv); \ FUNC(glVertexAttribI3iv, glVertexAttribI3ivEXT); \ FUNC(glVertexAttribI3ui, glVertexAttribI3ui); \ FUNC(glVertexAttribI3ui, glVertexAttribI3uiEXT); \ FUNC(glVertexAttribI3uiv, glVertexAttribI3uiv); \ FUNC(glVertexAttribI3uiv, glVertexAttribI3uivEXT); \ FUNC(glVertexAttribI4bv, glVertexAttribI4bv); \ FUNC(glVertexAttribI4bv, glVertexAttribI4bvEXT); \ FUNC(glVertexAttribI4i, glVertexAttribI4i); \ FUNC(glVertexAttribI4i, glVertexAttribI4iEXT); \ FUNC(glVertexAttribI4iv, glVertexAttribI4iv); \ FUNC(glVertexAttribI4iv, glVertexAttribI4ivEXT); \ FUNC(glVertexAttribI4sv, glVertexAttribI4sv); \ FUNC(glVertexAttribI4sv, glVertexAttribI4svEXT); \ FUNC(glVertexAttribI4ubv, glVertexAttribI4ubv); \ FUNC(glVertexAttribI4ubv, glVertexAttribI4ubvEXT); \ FUNC(glVertexAttribI4ui, glVertexAttribI4ui); \ FUNC(glVertexAttribI4ui, glVertexAttribI4uiEXT); \ FUNC(glVertexAttribI4uiv, glVertexAttribI4uiv); \ FUNC(glVertexAttribI4uiv, glVertexAttribI4uivEXT); \ FUNC(glVertexAttribI4usv, glVertexAttribI4usv); \ FUNC(glVertexAttribI4usv, glVertexAttribI4usvEXT); \ FUNC(glVertexAttribL1d, glVertexAttribL1d); \ FUNC(glVertexAttribL1d, glVertexAttribL1dEXT); \ FUNC(glVertexAttribL1dv, glVertexAttribL1dv); \ FUNC(glVertexAttribL1dv, glVertexAttribL1dvEXT); \ FUNC(glVertexAttribL2d, glVertexAttribL2d); \ FUNC(glVertexAttribL2d, glVertexAttribL2dEXT); \ FUNC(glVertexAttribL2dv, glVertexAttribL2dv); \ FUNC(glVertexAttribL2dv, glVertexAttribL2dvEXT); \ FUNC(glVertexAttribL3d, glVertexAttribL3d); \ FUNC(glVertexAttribL3d, glVertexAttribL3dEXT); \ FUNC(glVertexAttribL3dv, glVertexAttribL3dv); \ FUNC(glVertexAttribL3dv, glVertexAttribL3dvEXT); \ FUNC(glVertexAttribL4d, glVertexAttribL4d); \ FUNC(glVertexAttribL4d, glVertexAttribL4dEXT); \ FUNC(glVertexAttribL4dv, glVertexAttribL4dv); \ FUNC(glVertexAttribL4dv, glVertexAttribL4dvEXT); \ FUNC(glVertexAttribP1ui, glVertexAttribP1ui); \ FUNC(glVertexAttribP1uiv, glVertexAttribP1uiv); \ FUNC(glVertexAttribP2ui, glVertexAttribP2ui); \ FUNC(glVertexAttribP2uiv, glVertexAttribP2uiv); \ FUNC(glVertexAttribP3ui, glVertexAttribP3ui); \ FUNC(glVertexAttribP3uiv, glVertexAttribP3uiv); \ FUNC(glVertexAttribP4ui, glVertexAttribP4ui); \ FUNC(glVertexAttribP4uiv, glVertexAttribP4uiv); \ FUNC(glVertexAttribPointer, glVertexAttribPointer); \ FUNC(glVertexAttribPointer, glVertexAttribPointerARB); \ FUNC(glVertexAttribIPointer, glVertexAttribIPointer); \ FUNC(glVertexAttribIPointer, glVertexAttribIPointerEXT); \ FUNC(glVertexAttribLPointer, glVertexAttribLPointer); \ FUNC(glVertexAttribLPointer, glVertexAttribLPointerEXT); \ FUNC(glVertexAttribBinding, glVertexAttribBinding); \ FUNC(glVertexAttribFormat, glVertexAttribFormat); \ FUNC(glVertexAttribIFormat, glVertexAttribIFormat); \ FUNC(glVertexAttribLFormat, glVertexAttribLFormat); \ FUNC(glVertexAttribDivisor, glVertexAttribDivisor); \ FUNC(glVertexAttribDivisor, glVertexAttribDivisorARB); \ FUNC(glBindAttribLocation, glBindAttribLocation); \ FUNC(glBindFragDataLocation, glBindFragDataLocation); \ FUNC(glBindFragDataLocation, glBindFragDataLocationEXT); \ FUNC(glBindFragDataLocationIndexed, glBindFragDataLocationIndexed); \ FUNC(glEnableVertexAttribArray, glEnableVertexAttribArray); \ FUNC(glEnableVertexAttribArray, glEnableVertexAttribArrayARB); \ FUNC(glDisableVertexAttribArray, glDisableVertexAttribArray); \ FUNC(glDisableVertexAttribArray, glDisableVertexAttribArrayARB); \ FUNC(glBindVertexBuffer, glBindVertexBuffer); \ FUNC(glBindVertexBuffers, glBindVertexBuffers); \ FUNC(glVertexBindingDivisor, glVertexBindingDivisor); \ FUNC(glBindImageTexture, glBindImageTexture); \ FUNC(glBindImageTexture, glBindImageTextureEXT); \ FUNC(glBindImageTextures, glBindImageTextures); \ FUNC(glGenSamplers, glGenSamplers); \ FUNC(glBindSampler, glBindSampler); \ FUNC(glBindSamplers, glBindSamplers); \ FUNC(glBindTextures, glBindTextures); \ FUNC(glDeleteSamplers, glDeleteSamplers); \ FUNC(glSamplerParameteri, glSamplerParameteri); \ FUNC(glSamplerParameterf, glSamplerParameterf); \ FUNC(glSamplerParameteriv, glSamplerParameteriv); \ FUNC(glSamplerParameterfv, glSamplerParameterfv); \ FUNC(glSamplerParameterIiv, glSamplerParameterIiv); \ FUNC(glSamplerParameterIiv, glSamplerParameterIivEXT); \ FUNC(glSamplerParameterIiv, glSamplerParameterIivOES); \ FUNC(glSamplerParameterIuiv, glSamplerParameterIuiv); \ FUNC(glSamplerParameterIuiv, glSamplerParameterIuivEXT); \ FUNC(glSamplerParameterIuiv, glSamplerParameterIuivOES); \ FUNC(glPatchParameteri, glPatchParameteri); \ FUNC(glPatchParameteri, glPatchParameteriEXT); \ FUNC(glPatchParameteri, glPatchParameteriOES); \ FUNC(glPatchParameterfv, glPatchParameterfv); \ FUNC(glPointParameterf, glPointParameterf); \ FUNC(glPointParameterf, glPointParameterfARB); \ FUNC(glPointParameterf, glPointParameterfEXT); \ FUNC(glPointParameterfv, glPointParameterfv); \ FUNC(glPointParameterfv, glPointParameterfvARB); \ FUNC(glPointParameterfv, glPointParameterfvEXT); \ FUNC(glPointParameteri, glPointParameteri); \ FUNC(glPointParameteriv, glPointParameteriv); \ #define ForEachSupported2(FUNC) \ FUNC(glDispatchCompute, glDispatchCompute); \ FUNC(glDispatchComputeIndirect, glDispatchComputeIndirect); \ FUNC(glMemoryBarrier, glMemoryBarrier); \ FUNC(glMemoryBarrier, glMemoryBarrierEXT); \ FUNC(glMemoryBarrierByRegion, glMemoryBarrierByRegion); \ FUNC(glTextureBarrier, glTextureBarrier); \ FUNC(glClearDepthf, glClearDepthf); \ FUNC(glClearBufferfv, glClearBufferfv); \ FUNC(glClearBufferiv, glClearBufferiv); \ FUNC(glClearBufferuiv, glClearBufferuiv); \ FUNC(glClearBufferfi, glClearBufferfi); \ FUNC(glClearBufferData, glClearBufferData); \ FUNC(glClearBufferSubData, glClearBufferSubData); \ FUNC(glClearTexImage, glClearTexImage); \ FUNC(glClearTexSubImage, glClearTexSubImage); \ FUNC(glInvalidateBufferData, glInvalidateBufferData); \ FUNC(glInvalidateBufferSubData, glInvalidateBufferSubData); \ FUNC(glInvalidateFramebuffer, glInvalidateFramebuffer); \ FUNC(glInvalidateSubFramebuffer, glInvalidateSubFramebuffer); \ FUNC(glInvalidateTexImage, glInvalidateTexImage); \ FUNC(glInvalidateTexSubImage, glInvalidateTexSubImage); \ FUNC(glScissorArrayv, glScissorArrayv); \ FUNC(glScissorArrayv, glScissorArrayvOES); \ FUNC(glScissorArrayv, glScissorArrayvNV); \ FUNC(glScissorIndexed, glScissorIndexed); \ FUNC(glScissorIndexed, glScissorIndexedOES); \ FUNC(glScissorIndexed, glScissorIndexedNV); \ FUNC(glScissorIndexedv, glScissorIndexedv); \ FUNC(glScissorIndexedv, glScissorIndexedvOES); \ FUNC(glScissorIndexedv, glScissorIndexedvNV); \ FUNC(glViewportIndexedf, glViewportIndexedf); \ FUNC(glViewportIndexedf, glViewportIndexedfOES); \ FUNC(glViewportIndexedf, glViewportIndexedfNV); \ FUNC(glViewportIndexedfv, glViewportIndexedfv); \ FUNC(glViewportIndexedfv, glViewportIndexedfvOES); \ FUNC(glViewportIndexedfv, glViewportIndexedfvNV); \ FUNC(glViewportArrayv, glViewportArrayv); \ FUNC(glViewportArrayv, glViewportArrayvOES); \ FUNC(glViewportArrayv, glViewportArrayvNV); \ FUNC(glUniformBlockBinding, glUniformBlockBinding); \ FUNC(glShaderStorageBlockBinding, glShaderStorageBlockBinding); \ FUNC(glUniformSubroutinesuiv, glUniformSubroutinesuiv); \ FUNC(glUniform1f, glUniform1f); \ FUNC(glUniform1f, glUniform1fARB); \ FUNC(glUniform1i, glUniform1i); \ FUNC(glUniform1i, glUniform1iARB); \ FUNC(glUniform1ui, glUniform1ui); \ FUNC(glUniform1ui, glUniform1uiEXT); \ FUNC(glUniform1d, glUniform1d); \ FUNC(glUniform2f, glUniform2f); \ FUNC(glUniform2f, glUniform2fARB); \ FUNC(glUniform2i, glUniform2i); \ FUNC(glUniform2i, glUniform2iARB); \ FUNC(glUniform2ui, glUniform2ui); \ FUNC(glUniform2ui, glUniform2uiEXT); \ FUNC(glUniform2d, glUniform2d); \ FUNC(glUniform3f, glUniform3f); \ FUNC(glUniform3f, glUniform3fARB); \ FUNC(glUniform3i, glUniform3i); \ FUNC(glUniform3i, glUniform3iARB); \ FUNC(glUniform3ui, glUniform3ui); \ FUNC(glUniform3ui, glUniform3uiEXT); \ FUNC(glUniform3d, glUniform3d); \ FUNC(glUniform4f, glUniform4f); \ FUNC(glUniform4f, glUniform4fARB); \ FUNC(glUniform4i, glUniform4i); \ FUNC(glUniform4i, glUniform4iARB); \ FUNC(glUniform4ui, glUniform4ui); \ FUNC(glUniform4ui, glUniform4uiEXT); \ FUNC(glUniform4d, glUniform4d); \ FUNC(glUniform1fv, glUniform1fv); \ FUNC(glUniform1fv, glUniform1fvARB); \ FUNC(glUniform1iv, glUniform1iv); \ FUNC(glUniform1iv, glUniform1ivARB); \ FUNC(glUniform1uiv, glUniform1uiv); \ FUNC(glUniform1uiv, glUniform1uivEXT); \ FUNC(glUniform1dv, glUniform1dv); \ FUNC(glUniform2fv, glUniform2fv); \ FUNC(glUniform2fv, glUniform2fvARB); \ FUNC(glUniform2iv, glUniform2iv); \ FUNC(glUniform2iv, glUniform2ivARB); \ FUNC(glUniform2uiv, glUniform2uiv); \ FUNC(glUniform2uiv, glUniform2uivEXT); \ FUNC(glUniform2dv, glUniform2dv); \ FUNC(glUniform3fv, glUniform3fv); \ FUNC(glUniform3fv, glUniform3fvARB); \ FUNC(glUniform3iv, glUniform3iv); \ FUNC(glUniform3iv, glUniform3ivARB); \ FUNC(glUniform3uiv, glUniform3uiv); \ FUNC(glUniform3uiv, glUniform3uivEXT); \ FUNC(glUniform3dv, glUniform3dv); \ FUNC(glUniform4fv, glUniform4fv); \ FUNC(glUniform4fv, glUniform4fvARB); \ FUNC(glUniform4iv, glUniform4iv); \ FUNC(glUniform4iv, glUniform4ivARB); \ FUNC(glUniform4uiv, glUniform4uiv); \ FUNC(glUniform4uiv, glUniform4uivEXT); \ FUNC(glUniform4dv, glUniform4dv); \ FUNC(glUniformMatrix2fv, glUniformMatrix2fv); \ FUNC(glUniformMatrix2fv, glUniformMatrix2fvARB); \ FUNC(glUniformMatrix2x3fv, glUniformMatrix2x3fv); \ FUNC(glUniformMatrix2x4fv, glUniformMatrix2x4fv); \ FUNC(glUniformMatrix3fv, glUniformMatrix3fv); \ FUNC(glUniformMatrix3fv, glUniformMatrix3fvARB); \ FUNC(glUniformMatrix3x2fv, glUniformMatrix3x2fv); \ FUNC(glUniformMatrix3x4fv, glUniformMatrix3x4fv); \ FUNC(glUniformMatrix4fv, glUniformMatrix4fv); \ FUNC(glUniformMatrix4fv, glUniformMatrix4fvARB); \ FUNC(glUniformMatrix4x2fv, glUniformMatrix4x2fv); \ FUNC(glUniformMatrix4x3fv, glUniformMatrix4x3fv); \ FUNC(glUniformMatrix2dv, glUniformMatrix2dv); \ FUNC(glUniformMatrix2x3dv, glUniformMatrix2x3dv); \ FUNC(glUniformMatrix2x4dv, glUniformMatrix2x4dv); \ FUNC(glUniformMatrix3dv, glUniformMatrix3dv); \ FUNC(glUniformMatrix3x2dv, glUniformMatrix3x2dv); \ FUNC(glUniformMatrix3x4dv, glUniformMatrix3x4dv); \ FUNC(glUniformMatrix4dv, glUniformMatrix4dv); \ FUNC(glUniformMatrix4x2dv, glUniformMatrix4x2dv); \ FUNC(glUniformMatrix4x3dv, glUniformMatrix4x3dv); \ FUNC(glProgramUniform1f, glProgramUniform1f); \ FUNC(glProgramUniform1f, glProgramUniform1fEXT); \ FUNC(glProgramUniform1i, glProgramUniform1i); \ FUNC(glProgramUniform1i, glProgramUniform1iEXT); \ FUNC(glProgramUniform1ui, glProgramUniform1ui); \ FUNC(glProgramUniform1ui, glProgramUniform1uiEXT); \ FUNC(glProgramUniform1d, glProgramUniform1d); \ FUNC(glProgramUniform1d, glProgramUniform1dEXT); \ FUNC(glProgramUniform2f, glProgramUniform2f); \ FUNC(glProgramUniform2f, glProgramUniform2fEXT); \ FUNC(glProgramUniform2i, glProgramUniform2i); \ FUNC(glProgramUniform2i, glProgramUniform2iEXT); \ FUNC(glProgramUniform2ui, glProgramUniform2ui); \ FUNC(glProgramUniform2ui, glProgramUniform2uiEXT); \ FUNC(glProgramUniform2d, glProgramUniform2d); \ FUNC(glProgramUniform2d, glProgramUniform2dEXT); \ FUNC(glProgramUniform3f, glProgramUniform3f); \ FUNC(glProgramUniform3f, glProgramUniform3fEXT); \ FUNC(glProgramUniform3i, glProgramUniform3i); \ FUNC(glProgramUniform3i, glProgramUniform3iEXT); \ FUNC(glProgramUniform3ui, glProgramUniform3ui); \ FUNC(glProgramUniform3ui, glProgramUniform3uiEXT); \ FUNC(glProgramUniform3d, glProgramUniform3d); \ FUNC(glProgramUniform3d, glProgramUniform3dEXT); \ FUNC(glProgramUniform4f, glProgramUniform4f); \ FUNC(glProgramUniform4f, glProgramUniform4fEXT); \ FUNC(glProgramUniform4i, glProgramUniform4i); \ FUNC(glProgramUniform4i, glProgramUniform4iEXT); \ FUNC(glProgramUniform4ui, glProgramUniform4ui); \ FUNC(glProgramUniform4ui, glProgramUniform4uiEXT); \ FUNC(glProgramUniform4d, glProgramUniform4d); \ FUNC(glProgramUniform4d, glProgramUniform4dEXT); \ FUNC(glProgramUniform1fv, glProgramUniform1fv); \ FUNC(glProgramUniform1fv, glProgramUniform1fvEXT); \ FUNC(glProgramUniform1iv, glProgramUniform1iv); \ FUNC(glProgramUniform1iv, glProgramUniform1ivEXT); \ FUNC(glProgramUniform1uiv, glProgramUniform1uiv); \ FUNC(glProgramUniform1uiv, glProgramUniform1uivEXT); \ FUNC(glProgramUniform1dv, glProgramUniform1dv); \ FUNC(glProgramUniform1dv, glProgramUniform1dvEXT); \ FUNC(glProgramUniform2fv, glProgramUniform2fv); \ FUNC(glProgramUniform2fv, glProgramUniform2fvEXT); \ FUNC(glProgramUniform2iv, glProgramUniform2iv); \ FUNC(glProgramUniform2iv, glProgramUniform2ivEXT); \ FUNC(glProgramUniform2uiv, glProgramUniform2uiv); \ FUNC(glProgramUniform2uiv, glProgramUniform2uivEXT); \ FUNC(glProgramUniform2dv, glProgramUniform2dv); \ FUNC(glProgramUniform2dv, glProgramUniform2dvEXT); \ FUNC(glProgramUniform3fv, glProgramUniform3fv); \ FUNC(glProgramUniform3fv, glProgramUniform3fvEXT); \ FUNC(glProgramUniform3iv, glProgramUniform3iv); \ FUNC(glProgramUniform3iv, glProgramUniform3ivEXT); \ FUNC(glProgramUniform3uiv, glProgramUniform3uiv); \ FUNC(glProgramUniform3uiv, glProgramUniform3uivEXT); \ FUNC(glProgramUniform3dv, glProgramUniform3dv); \ FUNC(glProgramUniform3dv, glProgramUniform3dvEXT); \ FUNC(glProgramUniform4fv, glProgramUniform4fv); \ FUNC(glProgramUniform4fv, glProgramUniform4fvEXT); \ FUNC(glProgramUniform4iv, glProgramUniform4iv); \ FUNC(glProgramUniform4iv, glProgramUniform4ivEXT); \ FUNC(glProgramUniform4uiv, glProgramUniform4uiv); \ FUNC(glProgramUniform4uiv, glProgramUniform4uivEXT); \ FUNC(glProgramUniform4dv, glProgramUniform4dv); \ FUNC(glProgramUniform4dv, glProgramUniform4dvEXT); \ FUNC(glProgramUniformMatrix2fv, glProgramUniformMatrix2fv); \ FUNC(glProgramUniformMatrix2fv, glProgramUniformMatrix2fvEXT); \ FUNC(glProgramUniformMatrix2x3fv, glProgramUniformMatrix2x3fv); \ FUNC(glProgramUniformMatrix2x3fv, glProgramUniformMatrix2x3fvEXT); \ FUNC(glProgramUniformMatrix2x4fv, glProgramUniformMatrix2x4fv); \ FUNC(glProgramUniformMatrix2x4fv, glProgramUniformMatrix2x4fvEXT); \ FUNC(glProgramUniformMatrix3fv, glProgramUniformMatrix3fv); \ FUNC(glProgramUniformMatrix3fv, glProgramUniformMatrix3fvEXT); \ FUNC(glProgramUniformMatrix3x2fv, glProgramUniformMatrix3x2fv); \ FUNC(glProgramUniformMatrix3x2fv, glProgramUniformMatrix3x2fvEXT); \ FUNC(glProgramUniformMatrix3x4fv, glProgramUniformMatrix3x4fv); \ FUNC(glProgramUniformMatrix3x4fv, glProgramUniformMatrix3x4fvEXT); \ FUNC(glProgramUniformMatrix4fv, glProgramUniformMatrix4fv); \ FUNC(glProgramUniformMatrix4fv, glProgramUniformMatrix4fvEXT); \ FUNC(glProgramUniformMatrix4x2fv, glProgramUniformMatrix4x2fv); \ FUNC(glProgramUniformMatrix4x2fv, glProgramUniformMatrix4x2fvEXT); \ FUNC(glProgramUniformMatrix4x3fv, glProgramUniformMatrix4x3fv); \ FUNC(glProgramUniformMatrix4x3fv, glProgramUniformMatrix4x3fvEXT); \ FUNC(glProgramUniformMatrix2dv, glProgramUniformMatrix2dv); \ FUNC(glProgramUniformMatrix2dv, glProgramUniformMatrix2dvEXT); \ FUNC(glProgramUniformMatrix2x3dv, glProgramUniformMatrix2x3dv); \ FUNC(glProgramUniformMatrix2x3dv, glProgramUniformMatrix2x3dvEXT); \ FUNC(glProgramUniformMatrix2x4dv, glProgramUniformMatrix2x4dv); \ FUNC(glProgramUniformMatrix2x4dv, glProgramUniformMatrix2x4dvEXT); \ FUNC(glProgramUniformMatrix3dv, glProgramUniformMatrix3dv); \ FUNC(glProgramUniformMatrix3dv, glProgramUniformMatrix3dvEXT); \ FUNC(glProgramUniformMatrix3x2dv, glProgramUniformMatrix3x2dv); \ FUNC(glProgramUniformMatrix3x2dv, glProgramUniformMatrix3x2dvEXT); \ FUNC(glProgramUniformMatrix3x4dv, glProgramUniformMatrix3x4dv); \ FUNC(glProgramUniformMatrix3x4dv, glProgramUniformMatrix3x4dvEXT); \ FUNC(glProgramUniformMatrix4dv, glProgramUniformMatrix4dv); \ FUNC(glProgramUniformMatrix4dv, glProgramUniformMatrix4dvEXT); \ FUNC(glProgramUniformMatrix4x2dv, glProgramUniformMatrix4x2dv); \ FUNC(glProgramUniformMatrix4x2dv, glProgramUniformMatrix4x2dvEXT); \ FUNC(glProgramUniformMatrix4x3dv, glProgramUniformMatrix4x3dv); \ FUNC(glProgramUniformMatrix4x3dv, glProgramUniformMatrix4x3dvEXT); \ #define ForEachSupported3(FUNC) \ FUNC(glDrawRangeElements, glDrawRangeElements); \ FUNC(glDrawRangeElements, glDrawRangeElementsEXT); \ FUNC(glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex); \ FUNC(glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertexEXT); \ FUNC(glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertexOES); \ FUNC(glDrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstance); \ FUNC(glDrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstanceEXT); \ FUNC(glDrawArraysInstanced, glDrawArraysInstanced); \ FUNC(glDrawArraysInstanced, glDrawArraysInstancedARB); \ FUNC(glDrawArraysInstanced, glDrawArraysInstancedEXT); \ FUNC(glDrawElementsInstanced, glDrawElementsInstanced); \ FUNC(glDrawElementsInstanced, glDrawElementsInstancedARB); \ FUNC(glDrawElementsInstanced, glDrawElementsInstancedEXT); \ FUNC(glDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstance); \ FUNC(glDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstanceEXT); \ FUNC(glDrawElementsBaseVertex, glDrawElementsBaseVertex); \ FUNC(glDrawElementsBaseVertex, glDrawElementsBaseVertexEXT); \ FUNC(glDrawElementsBaseVertex, glDrawElementsBaseVertexOES); \ FUNC(glDrawElementsInstancedBaseVertex, glDrawElementsInstancedBaseVertex); \ FUNC(glDrawElementsInstancedBaseVertex, glDrawElementsInstancedBaseVertexEXT); \ FUNC(glDrawElementsInstancedBaseVertex, glDrawElementsInstancedBaseVertexOES); \ FUNC(glDrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstance); \ FUNC(glDrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstanceEXT); \ FUNC(glMultiDrawArrays, glMultiDrawArrays); \ FUNC(glMultiDrawArrays, glMultiDrawArraysEXT); \ FUNC(glMultiDrawElements, glMultiDrawElements); \ FUNC(glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex); \ FUNC(glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertexEXT); \ FUNC(glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertexOES); \ FUNC(glMultiDrawArraysIndirect, glMultiDrawArraysIndirect); \ FUNC(glMultiDrawElementsIndirect, glMultiDrawElementsIndirect); \ FUNC(glDrawArraysIndirect, glDrawArraysIndirect); \ FUNC(glDrawElementsIndirect, glDrawElementsIndirect); \ FUNC(glBlitFramebuffer, glBlitFramebuffer); \ FUNC(glBlitFramebuffer, glBlitFramebufferEXT); \ FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBox); \ FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBoxARB); \ FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBoxEXT); \ FUNC(glPrimitiveBoundingBox, glPrimitiveBoundingBoxOES); \ FUNC(glBlendBarrier, glBlendBarrier); \ FUNC(glFramebufferTexture2DMultisampleEXT, glFramebufferTexture2DMultisampleEXT); \ FUNC(glRenderbufferStorageMultisampleEXT, glRenderbufferStorageMultisampleEXT); \ FUNC(glDiscardFramebufferEXT, glDiscardFramebufferEXT); \ FUNC(glDepthRangeArrayfvOES, glDepthRangeArrayfvOES); \ FUNC(glDepthRangeArrayfvOES, glDepthRangeArrayfvNV); \ FUNC(glDepthRangeIndexedfOES, glDepthRangeIndexedfOES); \ FUNC(glDepthRangeIndexedfOES, glDepthRangeIndexedfNV); \ FUNC(glNamedStringARB, glNamedStringARB); \ FUNC(glDeleteNamedStringARB, glDeleteNamedStringARB); \ FUNC(glCompileShaderIncludeARB, glCompileShaderIncludeARB); \ FUNC(glIsNamedStringARB, glIsNamedStringARB); \ FUNC(glGetNamedStringARB, glGetNamedStringARB); \ FUNC(glGetNamedStringivARB, glGetNamedStringivARB); \ FUNC(glDispatchComputeGroupSizeARB, glDispatchComputeGroupSizeARB); \ FUNC(glMultiDrawArraysIndirectCount, glMultiDrawArraysIndirectCount); \ FUNC(glMultiDrawArraysIndirectCount, glMultiDrawArraysIndirectCountARB); \ FUNC(glMultiDrawElementsIndirectCount, glMultiDrawElementsIndirectCount); \ FUNC(glMultiDrawElementsIndirectCount, glMultiDrawElementsIndirectCountARB); \ FUNC(glRasterSamplesEXT, glRasterSamplesEXT); \ FUNC(glDepthBoundsEXT, glDepthBoundsEXT); \ FUNC(glPolygonOffsetClamp, glPolygonOffsetClamp); \ FUNC(glPolygonOffsetClamp, glPolygonOffsetClampEXT); \ FUNC(glInsertEventMarkerEXT, glInsertEventMarkerEXT); \ FUNC(glPushGroupMarkerEXT, glPushGroupMarkerEXT); \ FUNC(glPopGroupMarkerEXT, glPopGroupMarkerEXT); \ FUNC(glFrameTerminatorGREMEDY, glFrameTerminatorGREMEDY); \ FUNC(glStringMarkerGREMEDY, glStringMarkerGREMEDY); \ FUNC(glFramebufferTextureMultiviewOVR, glFramebufferTextureMultiviewOVR); \ FUNC(glFramebufferTextureMultisampleMultiviewOVR, glFramebufferTextureMultisampleMultiviewOVR); \ FUNC(glTextureFoveationParametersQCOM, glTextureFoveationParametersQCOM); \ FUNC(glMaxShaderCompilerThreadsKHR, glMaxShaderCompilerThreadsKHR); \ FUNC(glMaxShaderCompilerThreadsKHR, glMaxShaderCompilerThreadsARB); \ FUNC(glSpecializeShader, glSpecializeShader); \ FUNC(glSpecializeShader, glSpecializeShaderARB); \ FUNC(glGetUnsignedBytevEXT, glGetUnsignedBytevEXT); \ FUNC(glGetUnsignedBytei_vEXT, glGetUnsignedBytei_vEXT); \ FUNC(glDeleteMemoryObjectsEXT, glDeleteMemoryObjectsEXT); \ FUNC(glIsMemoryObjectEXT, glIsMemoryObjectEXT); \ FUNC(glCreateMemoryObjectsEXT, glCreateMemoryObjectsEXT); \ FUNC(glMemoryObjectParameterivEXT, glMemoryObjectParameterivEXT); \ FUNC(glGetMemoryObjectParameterivEXT, glGetMemoryObjectParameterivEXT); \ FUNC(glTexStorageMem2DEXT, glTexStorageMem2DEXT); \ FUNC(glTexStorageMem2DMultisampleEXT, glTexStorageMem2DMultisampleEXT); \ FUNC(glTexStorageMem3DEXT, glTexStorageMem3DEXT); \ FUNC(glTexStorageMem3DMultisampleEXT, glTexStorageMem3DMultisampleEXT); \ FUNC(glBufferStorageMemEXT, glBufferStorageMemEXT); \ FUNC(glTextureStorageMem2DEXT, glTextureStorageMem2DEXT); \ FUNC(glTextureStorageMem2DMultisampleEXT, glTextureStorageMem2DMultisampleEXT); \ FUNC(glTextureStorageMem3DEXT, glTextureStorageMem3DEXT); \ FUNC(glTextureStorageMem3DMultisampleEXT, glTextureStorageMem3DMultisampleEXT); \ FUNC(glNamedBufferStorageMemEXT, glNamedBufferStorageMemEXT); \ FUNC(glTexStorageMem1DEXT, glTexStorageMem1DEXT); \ FUNC(glTextureStorageMem1DEXT, glTextureStorageMem1DEXT); \ FUNC(glGenSemaphoresEXT, glGenSemaphoresEXT); \ FUNC(glDeleteSemaphoresEXT, glDeleteSemaphoresEXT); \ FUNC(glIsSemaphoreEXT, glIsSemaphoreEXT); \ FUNC(glSemaphoreParameterui64vEXT, glSemaphoreParameterui64vEXT); \ FUNC(glGetSemaphoreParameterui64vEXT, glGetSemaphoreParameterui64vEXT); \ FUNC(glWaitSemaphoreEXT, glWaitSemaphoreEXT); \ FUNC(glSignalSemaphoreEXT, glSignalSemaphoreEXT); \ FUNC(glImportMemoryFdEXT, glImportMemoryFdEXT); \ FUNC(glImportSemaphoreFdEXT, glImportSemaphoreFdEXT); \ FUNC(glImportMemoryWin32HandleEXT, glImportMemoryWin32HandleEXT); \ FUNC(glImportMemoryWin32NameEXT, glImportMemoryWin32NameEXT); \ FUNC(glImportSemaphoreWin32HandleEXT, glImportSemaphoreWin32HandleEXT); \ FUNC(glImportSemaphoreWin32NameEXT, glImportSemaphoreWin32NameEXT); \ FUNC(glAcquireKeyedMutexWin32EXT, glAcquireKeyedMutexWin32EXT); \ FUNC(glReleaseKeyedMutexWin32EXT, glReleaseKeyedMutexWin32EXT); \ FUNC(glCompressedTextureImage1DEXT, glCompressedTextureImage1DEXT); \ FUNC(glCompressedTextureImage2DEXT, glCompressedTextureImage2DEXT); \ FUNC(glCompressedTextureImage3DEXT, glCompressedTextureImage3DEXT); \ FUNC(glCompressedTextureSubImage1DEXT, glCompressedTextureSubImage1DEXT); \ FUNC(glCompressedTextureSubImage2DEXT, glCompressedTextureSubImage2DEXT); \ FUNC(glCompressedTextureSubImage3DEXT, glCompressedTextureSubImage3DEXT); \ FUNC(glGenerateTextureMipmapEXT, glGenerateTextureMipmapEXT); \ FUNC(glGetPointeri_vEXT, glGetPointeri_vEXT); \ FUNC(glGetDoubleIndexedvEXT, glGetDoubleIndexedvEXT); \ FUNC(glGetPointerIndexedvEXT, glGetPointerIndexedvEXT); \ FUNC(glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT); \ FUNC(glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT); \ FUNC(glGetFloatIndexedvEXT, glGetFloatIndexedvEXT); \ FUNC(glGetMultiTexImageEXT, glGetMultiTexImageEXT); \ FUNC(glGetMultiTexParameterfvEXT, glGetMultiTexParameterfvEXT); \ FUNC(glGetMultiTexParameterivEXT, glGetMultiTexParameterivEXT); \ FUNC(glGetMultiTexParameterIivEXT, glGetMultiTexParameterIivEXT); \ FUNC(glGetMultiTexParameterIuivEXT, glGetMultiTexParameterIuivEXT); \ FUNC(glGetMultiTexLevelParameterfvEXT, glGetMultiTexLevelParameterfvEXT); \ FUNC(glGetMultiTexLevelParameterivEXT, glGetMultiTexLevelParameterivEXT); \ FUNC(glGetCompressedMultiTexImageEXT, glGetCompressedMultiTexImageEXT); \ FUNC(glGetNamedBufferPointervEXT, glGetNamedBufferPointervEXT); \ FUNC(glGetNamedBufferPointervEXT, glGetNamedBufferPointerv); \ FUNC(glGetNamedProgramivEXT, glGetNamedProgramivEXT); \ FUNC(glGetNamedFramebufferAttachmentParameterivEXT, glGetNamedFramebufferAttachmentParameterivEXT); \ FUNC(glGetNamedFramebufferAttachmentParameterivEXT, glGetNamedFramebufferAttachmentParameteriv); \ FUNC(glGetNamedBufferParameterivEXT, glGetNamedBufferParameterivEXT); \ FUNC(glGetNamedBufferParameterivEXT, glGetNamedBufferParameteriv); \ FUNC(glCheckNamedFramebufferStatusEXT, glCheckNamedFramebufferStatusEXT); \ FUNC(glCheckNamedFramebufferStatusEXT, glCheckNamedFramebufferStatus); \ FUNC(glGetNamedBufferSubDataEXT, glGetNamedBufferSubDataEXT); \ FUNC(glGetNamedFramebufferParameterivEXT, glGetNamedFramebufferParameterivEXT); \ FUNC(glGetNamedFramebufferParameterivEXT, glGetFramebufferParameterivEXT); \ FUNC(glGetNamedFramebufferParameterivEXT, glGetNamedFramebufferParameteriv); \ FUNC(glGetNamedRenderbufferParameterivEXT, glGetNamedRenderbufferParameterivEXT); \ FUNC(glGetNamedRenderbufferParameterivEXT, glGetNamedRenderbufferParameteriv); \ FUNC(glGetVertexArrayIntegervEXT, glGetVertexArrayIntegervEXT); \ FUNC(glGetVertexArrayPointervEXT, glGetVertexArrayPointervEXT); \ FUNC(glGetVertexArrayIntegeri_vEXT, glGetVertexArrayIntegeri_vEXT); \ FUNC(glGetVertexArrayPointeri_vEXT, glGetVertexArrayPointeri_vEXT); \ FUNC(glGetCompressedTextureImageEXT, glGetCompressedTextureImageEXT); \ FUNC(glGetTextureImageEXT, glGetTextureImageEXT); \ FUNC(glGetTextureParameterivEXT, glGetTextureParameterivEXT); \ FUNC(glGetTextureParameterfvEXT, glGetTextureParameterfvEXT); \ FUNC(glGetTextureParameterIivEXT, glGetTextureParameterIivEXT); \ FUNC(glGetTextureParameterIuivEXT, glGetTextureParameterIuivEXT); \ FUNC(glGetTextureLevelParameterivEXT, glGetTextureLevelParameterivEXT); \ FUNC(glGetTextureLevelParameterfvEXT, glGetTextureLevelParameterfvEXT); \ FUNC(glBindMultiTextureEXT, glBindMultiTextureEXT); \ FUNC(glMapNamedBufferEXT, glMapNamedBufferEXT); \ FUNC(glMapNamedBufferEXT, glMapNamedBuffer); \ FUNC(glMapNamedBufferRangeEXT, glMapNamedBufferRangeEXT); \ FUNC(glFlushMappedNamedBufferRangeEXT, glFlushMappedNamedBufferRangeEXT); \ FUNC(glUnmapNamedBufferEXT, glUnmapNamedBufferEXT); \ FUNC(glUnmapNamedBufferEXT, glUnmapNamedBuffer); \ FUNC(glClearNamedBufferDataEXT, glClearNamedBufferDataEXT); \ FUNC(glClearNamedBufferDataEXT, glClearNamedBufferData); \ FUNC(glClearNamedBufferSubDataEXT, glClearNamedBufferSubDataEXT); \ FUNC(glNamedBufferDataEXT, glNamedBufferDataEXT); \ FUNC(glNamedBufferStorageEXT, glNamedBufferStorageEXT); \ FUNC(glNamedBufferSubDataEXT, glNamedBufferSubDataEXT); \ FUNC(glNamedCopyBufferSubDataEXT, glNamedCopyBufferSubDataEXT); \ FUNC(glNamedFramebufferTextureEXT, glNamedFramebufferTextureEXT); \ FUNC(glNamedFramebufferTextureEXT, glNamedFramebufferTexture); \ FUNC(glNamedFramebufferTexture1DEXT, glNamedFramebufferTexture1DEXT); \ FUNC(glNamedFramebufferTexture2DEXT, glNamedFramebufferTexture2DEXT); \ FUNC(glNamedFramebufferTexture3DEXT, glNamedFramebufferTexture3DEXT); \ FUNC(glNamedFramebufferRenderbufferEXT, glNamedFramebufferRenderbufferEXT); \ FUNC(glNamedFramebufferRenderbufferEXT, glNamedFramebufferRenderbuffer); \ FUNC(glNamedFramebufferTextureLayerEXT, glNamedFramebufferTextureLayerEXT); \ FUNC(glNamedFramebufferTextureLayerEXT, glNamedFramebufferTextureLayer); \ FUNC(glNamedFramebufferParameteriEXT, glNamedFramebufferParameteriEXT); \ FUNC(glNamedFramebufferParameteriEXT, glNamedFramebufferParameteri); \ FUNC(glNamedRenderbufferStorageEXT, glNamedRenderbufferStorageEXT); \ FUNC(glNamedRenderbufferStorageEXT, glNamedRenderbufferStorage); \ FUNC(glNamedRenderbufferStorageMultisampleEXT, glNamedRenderbufferStorageMultisampleEXT); \ FUNC(glNamedRenderbufferStorageMultisampleEXT, glNamedRenderbufferStorageMultisample); \ FUNC(glFramebufferDrawBufferEXT, glFramebufferDrawBufferEXT); \ FUNC(glFramebufferDrawBufferEXT, glNamedFramebufferDrawBuffer); \ FUNC(glFramebufferDrawBuffersEXT, glFramebufferDrawBuffersEXT); \ FUNC(glFramebufferDrawBuffersEXT, glNamedFramebufferDrawBuffers); \ FUNC(glFramebufferReadBufferEXT, glFramebufferReadBufferEXT); \ FUNC(glFramebufferReadBufferEXT, glNamedFramebufferReadBuffer); \ FUNC(glTextureBufferEXT, glTextureBufferEXT); \ FUNC(glTextureBufferRangeEXT, glTextureBufferRangeEXT); \ FUNC(glTextureImage1DEXT, glTextureImage1DEXT); \ FUNC(glTextureImage2DEXT, glTextureImage2DEXT); \ FUNC(glTextureImage3DEXT, glTextureImage3DEXT); \ FUNC(glTextureParameterfEXT, glTextureParameterfEXT); \ FUNC(glTextureParameterfvEXT, glTextureParameterfvEXT); \ FUNC(glTextureParameteriEXT, glTextureParameteriEXT); \ FUNC(glTextureParameterivEXT, glTextureParameterivEXT); \ FUNC(glTextureParameterIivEXT, glTextureParameterIivEXT); \ FUNC(glTextureParameterIuivEXT, glTextureParameterIuivEXT); \ FUNC(glTextureStorage1DEXT, glTextureStorage1DEXT); \ FUNC(glTextureStorage2DEXT, glTextureStorage2DEXT); \ FUNC(glTextureStorage3DEXT, glTextureStorage3DEXT); \ FUNC(glTextureStorage2DMultisampleEXT, glTextureStorage2DMultisampleEXT); \ FUNC(glTextureStorage3DMultisampleEXT, glTextureStorage3DMultisampleEXT); \ FUNC(glTextureSubImage1DEXT, glTextureSubImage1DEXT); \ FUNC(glTextureSubImage2DEXT, glTextureSubImage2DEXT); \ FUNC(glTextureSubImage3DEXT, glTextureSubImage3DEXT); \ FUNC(glCopyTextureImage1DEXT, glCopyTextureImage1DEXT); \ FUNC(glCopyTextureImage2DEXT, glCopyTextureImage2DEXT); \ FUNC(glCopyTextureSubImage1DEXT, glCopyTextureSubImage1DEXT); \ FUNC(glCopyTextureSubImage2DEXT, glCopyTextureSubImage2DEXT); \ FUNC(glCopyTextureSubImage3DEXT, glCopyTextureSubImage3DEXT); \ FUNC(glMultiTexParameteriEXT, glMultiTexParameteriEXT); \ FUNC(glMultiTexParameterivEXT, glMultiTexParameterivEXT); \ FUNC(glMultiTexParameterfEXT, glMultiTexParameterfEXT); \ FUNC(glMultiTexParameterfvEXT, glMultiTexParameterfvEXT); \ FUNC(glMultiTexImage1DEXT, glMultiTexImage1DEXT); \ FUNC(glMultiTexImage2DEXT, glMultiTexImage2DEXT); \ FUNC(glMultiTexSubImage1DEXT, glMultiTexSubImage1DEXT); \ FUNC(glMultiTexSubImage2DEXT, glMultiTexSubImage2DEXT); \ FUNC(glCopyMultiTexImage1DEXT, glCopyMultiTexImage1DEXT); \ FUNC(glCopyMultiTexImage2DEXT, glCopyMultiTexImage2DEXT); \ FUNC(glCopyMultiTexSubImage1DEXT, glCopyMultiTexSubImage1DEXT); \ FUNC(glCopyMultiTexSubImage2DEXT, glCopyMultiTexSubImage2DEXT); \ FUNC(glMultiTexImage3DEXT, glMultiTexImage3DEXT); \ FUNC(glMultiTexSubImage3DEXT, glMultiTexSubImage3DEXT); \ FUNC(glCopyMultiTexSubImage3DEXT, glCopyMultiTexSubImage3DEXT); \ FUNC(glCompressedMultiTexImage3DEXT, glCompressedMultiTexImage3DEXT); \ FUNC(glCompressedMultiTexImage2DEXT, glCompressedMultiTexImage2DEXT); \ FUNC(glCompressedMultiTexImage1DEXT, glCompressedMultiTexImage1DEXT); \ FUNC(glCompressedMultiTexSubImage3DEXT, glCompressedMultiTexSubImage3DEXT); \ FUNC(glCompressedMultiTexSubImage2DEXT, glCompressedMultiTexSubImage2DEXT); \ FUNC(glCompressedMultiTexSubImage1DEXT, glCompressedMultiTexSubImage1DEXT); \ FUNC(glMultiTexBufferEXT, glMultiTexBufferEXT); \ FUNC(glMultiTexParameterIivEXT, glMultiTexParameterIivEXT); \ FUNC(glMultiTexParameterIuivEXT, glMultiTexParameterIuivEXT); \ FUNC(glGenerateMultiTexMipmapEXT, glGenerateMultiTexMipmapEXT); \ FUNC(glVertexArrayVertexAttribOffsetEXT, glVertexArrayVertexAttribOffsetEXT); \ FUNC(glVertexArrayVertexAttribIOffsetEXT, glVertexArrayVertexAttribIOffsetEXT); \ FUNC(glEnableVertexArrayAttribEXT, glEnableVertexArrayAttribEXT); \ FUNC(glEnableVertexArrayAttribEXT, glEnableVertexArrayAttrib); \ FUNC(glDisableVertexArrayAttribEXT, glDisableVertexArrayAttribEXT); \ FUNC(glDisableVertexArrayAttribEXT, glDisableVertexArrayAttrib); \ FUNC(glVertexArrayBindVertexBufferEXT, glVertexArrayBindVertexBufferEXT); \ FUNC(glVertexArrayBindVertexBufferEXT, glVertexArrayVertexBuffer); \ FUNC(glVertexArrayVertexAttribFormatEXT, glVertexArrayVertexAttribFormatEXT); \ FUNC(glVertexArrayVertexAttribFormatEXT, glVertexArrayAttribFormat); \ FUNC(glVertexArrayVertexAttribIFormatEXT, glVertexArrayVertexAttribIFormatEXT); \ FUNC(glVertexArrayVertexAttribIFormatEXT, glVertexArrayAttribIFormat); \ FUNC(glVertexArrayVertexAttribLFormatEXT, glVertexArrayVertexAttribLFormatEXT); \ FUNC(glVertexArrayVertexAttribLFormatEXT, glVertexArrayAttribLFormat); \ FUNC(glVertexArrayVertexAttribBindingEXT, glVertexArrayVertexAttribBindingEXT); \ FUNC(glVertexArrayVertexAttribBindingEXT, glVertexArrayAttribBinding); \ FUNC(glVertexArrayVertexBindingDivisorEXT, glVertexArrayVertexBindingDivisorEXT); \ FUNC(glVertexArrayVertexBindingDivisorEXT, glVertexArrayBindingDivisor); \ FUNC(glVertexArrayVertexAttribLOffsetEXT, glVertexArrayVertexAttribLOffsetEXT); \ FUNC(glVertexArrayVertexAttribDivisorEXT, glVertexArrayVertexAttribDivisorEXT); \ FUNC(glCreateTransformFeedbacks, glCreateTransformFeedbacks); \ FUNC(glTransformFeedbackBufferBase, glTransformFeedbackBufferBase); \ FUNC(glTransformFeedbackBufferRange, glTransformFeedbackBufferRange); \ FUNC(glGetTransformFeedbacki64_v, glGetTransformFeedbacki64_v); \ FUNC(glGetTransformFeedbacki_v, glGetTransformFeedbacki_v); \ FUNC(glGetTransformFeedbackiv, glGetTransformFeedbackiv); \ FUNC(glCreateBuffers, glCreateBuffers); \ FUNC(glGetNamedBufferSubData, glGetNamedBufferSubData); \ FUNC(glNamedBufferStorage, glNamedBufferStorage); \ FUNC(glNamedBufferData, glNamedBufferData); \ FUNC(glNamedBufferSubData, glNamedBufferSubData); \ FUNC(glCopyNamedBufferSubData, glCopyNamedBufferSubData); \ FUNC(glClearNamedBufferSubData, glClearNamedBufferSubData); \ FUNC(glMapNamedBufferRange, glMapNamedBufferRange); \ FUNC(glFlushMappedNamedBufferRange, glFlushMappedNamedBufferRange); \ FUNC(glGetNamedBufferParameteri64v, glGetNamedBufferParameteri64v); \ FUNC(glCreateFramebuffers, glCreateFramebuffers); \ FUNC(glInvalidateNamedFramebufferData, glInvalidateNamedFramebufferData); \ FUNC(glInvalidateNamedFramebufferSubData, glInvalidateNamedFramebufferSubData); \ FUNC(glClearNamedFramebufferiv, glClearNamedFramebufferiv); \ FUNC(glClearNamedFramebufferuiv, glClearNamedFramebufferuiv); \ FUNC(glClearNamedFramebufferfv, glClearNamedFramebufferfv); \ FUNC(glClearNamedFramebufferfi, glClearNamedFramebufferfi); \ FUNC(glBlitNamedFramebuffer, glBlitNamedFramebuffer); \ FUNC(glCreateRenderbuffers, glCreateRenderbuffers); \ FUNC(glCreateTextures, glCreateTextures); \ FUNC(glTextureBuffer, glTextureBuffer); \ FUNC(glTextureBufferRange, glTextureBufferRange); \ FUNC(glTextureStorage1D, glTextureStorage1D); \ FUNC(glTextureStorage2D, glTextureStorage2D); \ FUNC(glTextureStorage3D, glTextureStorage3D); \ FUNC(glTextureStorage2DMultisample, glTextureStorage2DMultisample); \ FUNC(glTextureStorage3DMultisample, glTextureStorage3DMultisample); \ FUNC(glTextureSubImage1D, glTextureSubImage1D); \ FUNC(glTextureSubImage2D, glTextureSubImage2D); \ FUNC(glTextureSubImage3D, glTextureSubImage3D); \ FUNC(glCompressedTextureSubImage1D, glCompressedTextureSubImage1D); \ FUNC(glCompressedTextureSubImage2D, glCompressedTextureSubImage2D); \ FUNC(glCompressedTextureSubImage3D, glCompressedTextureSubImage3D); \ FUNC(glCopyTextureSubImage1D, glCopyTextureSubImage1D); \ FUNC(glCopyTextureSubImage2D, glCopyTextureSubImage2D); \ FUNC(glCopyTextureSubImage3D, glCopyTextureSubImage3D); \ FUNC(glTextureParameterf, glTextureParameterf); \ FUNC(glTextureParameterfv, glTextureParameterfv); \ FUNC(glTextureParameteri, glTextureParameteri); \ FUNC(glTextureParameterIiv, glTextureParameterIiv); \ FUNC(glTextureParameterIuiv, glTextureParameterIuiv); \ FUNC(glTextureParameteriv, glTextureParameteriv); \ FUNC(glGenerateTextureMipmap, glGenerateTextureMipmap); \ FUNC(glBindTextureUnit, glBindTextureUnit); \ FUNC(glGetTextureImage, glGetTextureImage); \ FUNC(glGetTextureSubImage, glGetTextureSubImage); \ FUNC(glGetCompressedTextureImage, glGetCompressedTextureImage); \ FUNC(glGetCompressedTextureSubImage, glGetCompressedTextureSubImage); \ FUNC(glGetTextureLevelParameterfv, glGetTextureLevelParameterfv); \ FUNC(glGetTextureLevelParameteriv, glGetTextureLevelParameteriv); \ FUNC(glGetTextureParameterIiv, glGetTextureParameterIiv); \ FUNC(glGetTextureParameterIuiv, glGetTextureParameterIuiv); \ FUNC(glGetTextureParameterfv, glGetTextureParameterfv); \ FUNC(glGetTextureParameteriv, glGetTextureParameteriv); \ FUNC(glCreateVertexArrays, glCreateVertexArrays); \ FUNC(glCreateSamplers, glCreateSamplers); \ FUNC(glCreateProgramPipelines, glCreateProgramPipelines); \ FUNC(glCreateQueries, glCreateQueries); \ FUNC(glVertexArrayElementBuffer, glVertexArrayElementBuffer); \ FUNC(glVertexArrayVertexBuffers, glVertexArrayVertexBuffers); \ FUNC(glGetVertexArrayiv, glGetVertexArrayiv); \ FUNC(glGetVertexArrayIndexed64iv, glGetVertexArrayIndexed64iv); \ FUNC(glGetVertexArrayIndexediv, glGetVertexArrayIndexediv); \ FUNC(glGetQueryBufferObjecti64v, glGetQueryBufferObjecti64v); \ FUNC(glGetQueryBufferObjectiv, glGetQueryBufferObjectiv); \ FUNC(glGetQueryBufferObjectui64v, glGetQueryBufferObjectui64v); \ FUNC(glGetQueryBufferObjectuiv, glGetQueryBufferObjectuiv); \ FUNC(glBeginPerfQueryINTEL, glBeginPerfQueryINTEL); \ FUNC(glCreatePerfQueryINTEL, glCreatePerfQueryINTEL); \ FUNC(glDeletePerfQueryINTEL, glDeletePerfQueryINTEL); \ FUNC(glEndPerfQueryINTEL, glEndPerfQueryINTEL); \ FUNC(glGetFirstPerfQueryIdINTEL, glGetFirstPerfQueryIdINTEL); \ FUNC(glGetNextPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL); \ FUNC(glGetPerfCounterInfoINTEL, glGetPerfCounterInfoINTEL); \ FUNC(glGetPerfQueryDataINTEL, glGetPerfQueryDataINTEL); \ FUNC(glGetPerfQueryIdByNameINTEL, glGetPerfQueryIdByNameINTEL); \ FUNC(glGetPerfQueryInfoINTEL, glGetPerfQueryInfoINTEL); \ FUNC(wglDXSetResourceShareHandleNV, wglDXSetResourceShareHandleNV); \ FUNC(wglDXOpenDeviceNV, wglDXOpenDeviceNV); \ FUNC(wglDXCloseDeviceNV, wglDXCloseDeviceNV); \ FUNC(wglDXRegisterObjectNV, wglDXRegisterObjectNV); \ FUNC(wglDXUnregisterObjectNV, wglDXUnregisterObjectNV); \ FUNC(wglDXObjectAccessNV, wglDXObjectAccessNV); \ FUNC(wglDXLockObjectsNV, wglDXLockObjectsNV); \ FUNC(wglDXUnlockObjectsNV, wglDXUnlockObjectsNV); \ #define ForEachSupportedGroup(GROUP_FUNC, FUNC) \ GROUP_FUNC(ForEachSupported0, FUNC) \ GROUP_FUNC(ForEachSupported1, FUNC) \ GROUP_FUNC(ForEachSupported2, FUNC) \ GROUP_FUNC(ForEachSupported3, FUNC) #define ForEachSupported(FUNC) ForEachSupportedGroup(InvokeForEachInGroup, FUNC) #define DefineSupportedHooks() \ FuncWrapper2(void, glBindTexture, GLenum, target, GLuint, texture); \ FuncWrapper2(void, glBlendFunc, GLenum, sfactor, GLenum, dfactor); \ FuncWrapper1(void, glClear, GLbitfield, mask); \ FuncWrapper4(void, glClearColor, GLfloat, red, GLfloat, green, GLfloat, blue, GLfloat, alpha); \ FuncWrapper1(void, glClearDepth, GLdouble, depth); \ FuncWrapper1(void, glClearStencil, GLint, s); \ FuncWrapper4(void, glColorMask, GLboolean, red, GLboolean, green, GLboolean, blue, GLboolean, alpha); \ FuncWrapper1(void, glCullFace, GLenum, mode); \ FuncWrapper1(void, glDepthFunc, GLenum, func); \ FuncWrapper1(void, glDepthMask, GLboolean, flag); \ FuncWrapper2(void, glDepthRange, GLdouble, near, GLdouble, far); \ FuncWrapper3(void, glStencilFunc, GLenum, func, GLint, ref, GLuint, mask); \ FuncWrapper1(void, glStencilMask, GLuint, mask); \ FuncWrapper3(void, glStencilOp, GLenum, fail, GLenum, zfail, GLenum, zpass); \ FuncWrapper1(void, glDisable, GLenum, cap); \ FuncWrapper1(void, glDrawBuffer, GLenum, buf); \ FuncWrapper4(void, glDrawElements, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices); \ FuncWrapper3(void, glDrawArrays, GLenum, mode, GLint, first, GLsizei, count); \ FuncWrapper1(void, glEnable, GLenum, cap); \ FuncWrapper0(void, glFlush); \ FuncWrapper0(void, glFinish); \ FuncWrapper1(void, glFrontFace, GLenum, mode); \ FuncWrapper2(void, glGenTextures, GLsizei, n, GLuint *, textures); \ FuncWrapper2(void, glDeleteTextures, GLsizei, n, const GLuint *, textures); \ FuncWrapper1(GLboolean, glIsEnabled, GLenum, cap); \ FuncWrapper1(GLboolean, glIsTexture, GLuint, texture); \ FuncWrapper0(GLenum, glGetError); \ FuncWrapper4(void, glGetTexLevelParameteriv, GLenum, target, GLint, level, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetTexLevelParameterfv, GLenum, target, GLint, level, GLenum, pname, GLfloat *, params); \ FuncWrapper3(void, glGetTexParameterfv, GLenum, target, GLenum, pname, GLfloat *, params); \ FuncWrapper3(void, glGetTexParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper5(void, glGetTexImage, GLenum, target, GLint, level, GLenum, format, GLenum, type, void *, pixels); \ FuncWrapper2(void, glGetBooleanv, GLenum, pname, GLboolean *, data); \ FuncWrapper2(void, glGetFloatv, GLenum, pname, GLfloat *, data); \ FuncWrapper2(void, glGetDoublev, GLenum, pname, GLdouble *, data); \ FuncWrapper2(void, glGetIntegerv, GLenum, pname, GLint *, data); \ FuncWrapper2(void, glGetPointerv, GLenum, pname, void **, params); \ AliasWrapper2(void, glGetPointervKHR, glGetPointerv, GLenum, pname, void **, params); \ FuncWrapper1(const GLubyte *, glGetString, GLenum, name); \ FuncWrapper2(void, glHint, GLenum, target, GLenum, mode); \ FuncWrapper1(void, glLogicOp, GLenum, opcode); \ FuncWrapper2(void, glPixelStorei, GLenum, pname, GLint, param); \ FuncWrapper2(void, glPixelStoref, GLenum, pname, GLfloat, param); \ FuncWrapper2(void, glPolygonMode, GLenum, face, GLenum, mode); \ FuncWrapper2(void, glPolygonOffset, GLfloat, factor, GLfloat, units); \ FuncWrapper1(void, glPointSize, GLfloat, size); \ FuncWrapper1(void, glLineWidth, GLfloat, width); \ FuncWrapper7(void, glReadPixels, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, void *, pixels); \ FuncWrapper1(void, glReadBuffer, GLenum, src); \ FuncWrapper4(void, glScissor, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper8(void, glTexImage1D, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper9(void, glTexImage2D, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper7(void, glTexSubImage1D, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper9(void, glTexSubImage2D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper7(void, glCopyTexImage1D, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLint, border); \ FuncWrapper8(void, glCopyTexImage2D, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLint, border); \ FuncWrapper6(void, glCopyTexSubImage1D, GLenum, target, GLint, level, GLint, xoffset, GLint, x, GLint, y, GLsizei, width); \ FuncWrapper8(void, glCopyTexSubImage2D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper3(void, glTexParameterf, GLenum, target, GLenum, pname, GLfloat, param); \ FuncWrapper3(void, glTexParameterfv, GLenum, target, GLenum, pname, const GLfloat *, params); \ FuncWrapper3(void, glTexParameteri, GLenum, target, GLenum, pname, GLint, param); \ FuncWrapper3(void, glTexParameteriv, GLenum, target, GLenum, pname, const GLint *, params); \ FuncWrapper4(void, glViewport, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper1(void, glActiveTexture, GLenum, texture); \ AliasWrapper1(void, glActiveTextureARB, glActiveTexture, GLenum, texture); \ FuncWrapper4(void, glTexStorage1D, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width); \ AliasWrapper4(void, glTexStorage1DEXT, glTexStorage1D, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width); \ FuncWrapper5(void, glTexStorage2D, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height); \ AliasWrapper5(void, glTexStorage2DEXT, glTexStorage2D, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper6(void, glTexStorage3D, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth); \ AliasWrapper6(void, glTexStorage3DEXT, glTexStorage3D, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth); \ FuncWrapper6(void, glTexStorage2DMultisample, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLboolean, fixedsamplelocations); \ FuncWrapper7(void, glTexStorage3DMultisample, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedsamplelocations); \ AliasWrapper7(void, glTexStorage3DMultisampleOES, glTexStorage3DMultisample, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedsamplelocations); \ FuncWrapper10(void, glTexImage3D, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ AliasWrapper10(void, glTexImage3DEXT, glTexImage3D, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ AliasWrapper10(void, glTexImage3DOES, glTexImage3D, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper11(void, glTexSubImage3D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, pixels); \ AliasWrapper11(void, glTexSubImage3DOES, glTexSubImage3D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper3(void, glTexBuffer, GLenum, target, GLenum, internalformat, GLuint, buffer); \ AliasWrapper3(void, glTexBufferARB, glTexBuffer, GLenum, target, GLenum, internalformat, GLuint, buffer); \ AliasWrapper3(void, glTexBufferEXT, glTexBuffer, GLenum, target, GLenum, internalformat, GLuint, buffer); \ AliasWrapper3(void, glTexBufferOES, glTexBuffer, GLenum, target, GLenum, internalformat, GLuint, buffer); \ FuncWrapper6(void, glTexImage2DMultisample, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLboolean, fixedsamplelocations); \ FuncWrapper7(void, glTexImage3DMultisample, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedsamplelocations); \ FuncWrapper7(void, glCompressedTexImage1D, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLint, border, GLsizei, imageSize, const void *, data); \ AliasWrapper7(void, glCompressedTexImage1DARB, glCompressedTexImage1D, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLint, border, GLsizei, imageSize, const void *, data); \ FuncWrapper8(void, glCompressedTexImage2D, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLsizei, imageSize, const void *, data); \ AliasWrapper8(void, glCompressedTexImage2DARB, glCompressedTexImage2D, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLsizei, imageSize, const void *, data); \ FuncWrapper9(void, glCompressedTexImage3D, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLsizei, imageSize, const void *, data); \ AliasWrapper9(void, glCompressedTexImage3DARB, glCompressedTexImage3D, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLsizei, imageSize, const void *, data); \ AliasWrapper9(void, glCompressedTexImage3DOES, glCompressedTexImage3D, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLsizei, imageSize, const void *, data); \ FuncWrapper7(void, glCompressedTexSubImage1D, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLsizei, imageSize, const void *, data); \ AliasWrapper7(void, glCompressedTexSubImage1DARB, glCompressedTexSubImage1D, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLsizei, imageSize, const void *, data); \ FuncWrapper9(void, glCompressedTexSubImage2D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLsizei, imageSize, const void *, data); \ AliasWrapper9(void, glCompressedTexSubImage2DARB, glCompressedTexSubImage2D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLsizei, imageSize, const void *, data); \ FuncWrapper11(void, glCompressedTexSubImage3D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLsizei, imageSize, const void *, data); \ AliasWrapper11(void, glCompressedTexSubImage3DARB, glCompressedTexSubImage3D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLsizei, imageSize, const void *, data); \ AliasWrapper11(void, glCompressedTexSubImage3DOES, glCompressedTexSubImage3D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLsizei, imageSize, const void *, data); \ FuncWrapper5(void, glTexBufferRange, GLenum, target, GLenum, internalformat, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ AliasWrapper5(void, glTexBufferRangeEXT, glTexBufferRange, GLenum, target, GLenum, internalformat, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ AliasWrapper5(void, glTexBufferRangeOES, glTexBufferRange, GLenum, target, GLenum, internalformat, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ FuncWrapper8(void, glTextureView, GLuint, texture, GLenum, target, GLuint, origtexture, GLenum, internalformat, GLuint, minlevel, GLuint, numlevels, GLuint, minlayer, GLuint, numlayers); \ AliasWrapper8(void, glTextureViewOES, glTextureView, GLuint, texture, GLenum, target, GLuint, origtexture, GLenum, internalformat, GLuint, minlevel, GLuint, numlevels, GLuint, minlayer, GLuint, numlayers); \ AliasWrapper8(void, glTextureViewEXT, glTextureView, GLuint, texture, GLenum, target, GLuint, origtexture, GLenum, internalformat, GLuint, minlevel, GLuint, numlevels, GLuint, minlayer, GLuint, numlayers); \ FuncWrapper3(void, glTexParameterIiv, GLenum, target, GLenum, pname, const GLint *, params); \ AliasWrapper3(void, glTexParameterIivEXT, glTexParameterIiv, GLenum, target, GLenum, pname, const GLint *, params); \ AliasWrapper3(void, glTexParameterIivOES, glTexParameterIiv, GLenum, target, GLenum, pname, const GLint *, params); \ FuncWrapper3(void, glTexParameterIuiv, GLenum, target, GLenum, pname, const GLuint *, params); \ AliasWrapper3(void, glTexParameterIuivEXT, glTexParameterIuiv, GLenum, target, GLenum, pname, const GLuint *, params); \ AliasWrapper3(void, glTexParameterIuivOES, glTexParameterIuiv, GLenum, target, GLenum, pname, const GLuint *, params); \ FuncWrapper1(void, glGenerateMipmap, GLenum, target); \ AliasWrapper1(void, glGenerateMipmapEXT, glGenerateMipmap, GLenum, target); \ FuncWrapper15(void, glCopyImageSubData, GLuint, srcName, GLenum, srcTarget, GLint, srcLevel, GLint, srcX, GLint, srcY, GLint, srcZ, GLuint, dstName, GLenum, dstTarget, GLint, dstLevel, GLint, dstX, GLint, dstY, GLint, dstZ, GLsizei, srcWidth, GLsizei, srcHeight, GLsizei, srcDepth); \ AliasWrapper15(void, glCopyImageSubDataEXT, glCopyImageSubData, GLuint, srcName, GLenum, srcTarget, GLint, srcLevel, GLint, srcX, GLint, srcY, GLint, srcZ, GLuint, dstName, GLenum, dstTarget, GLint, dstLevel, GLint, dstX, GLint, dstY, GLint, dstZ, GLsizei, srcWidth, GLsizei, srcHeight, GLsizei, srcDepth); \ AliasWrapper15(void, glCopyImageSubDataOES, glCopyImageSubData, GLuint, srcName, GLenum, srcTarget, GLint, srcLevel, GLint, srcX, GLint, srcY, GLint, srcZ, GLuint, dstName, GLenum, dstTarget, GLint, dstLevel, GLint, dstX, GLint, dstY, GLint, dstZ, GLsizei, srcWidth, GLsizei, srcHeight, GLsizei, srcDepth); \ FuncWrapper9(void, glCopyTexSubImage3D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ AliasWrapper9(void, glCopyTexSubImage3DOES, glCopyTexSubImage3D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper5(void, glGetInternalformativ, GLenum, target, GLenum, internalformat, GLenum, pname, GLsizei, bufSize, GLint *, params); \ FuncWrapper5(void, glGetInternalformati64v, GLenum, target, GLenum, internalformat, GLenum, pname, GLsizei, bufSize, GLint64 *, params); \ FuncWrapper3(void, glGetBufferParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetBufferParameterivARB, glGetBufferParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetBufferParameteri64v, GLenum, target, GLenum, pname, GLint64 *, params); \ FuncWrapper3(void, glGetBufferPointerv, GLenum, target, GLenum, pname, void **, params); \ AliasWrapper3(void, glGetBufferPointervARB, glGetBufferPointerv, GLenum, target, GLenum, pname, void **, params); \ AliasWrapper3(void, glGetBufferPointervOES, glGetBufferPointerv, GLenum, target, GLenum, pname, void **, params); \ FuncWrapper2(GLint, glGetFragDataIndex, GLuint, program, const GLchar *, name); \ FuncWrapper2(GLint, glGetFragDataLocation, GLuint, program, const GLchar *, name); \ AliasWrapper2(GLint, glGetFragDataLocationEXT, glGetFragDataLocation, GLuint, program, const GLchar *, name); \ FuncWrapper2(const GLubyte *, glGetStringi, GLenum, name, GLuint, index); \ FuncWrapper3(void, glGetBooleani_v, GLenum, target, GLuint, index, GLboolean *, data); \ FuncWrapper3(void, glGetIntegeri_v, GLenum, target, GLuint, index, GLint *, data); \ FuncWrapper3(void, glGetFloati_v, GLenum, target, GLuint, index, GLfloat *, data); \ AliasWrapper3(void, glGetFloati_vEXT, glGetFloati_v, GLenum, target, GLuint, index, GLfloat *, data); \ AliasWrapper3(void, glGetFloati_vOES, glGetFloati_v, GLenum, target, GLuint, index, GLfloat *, data); \ AliasWrapper3(void, glGetFloati_vNV, glGetFloati_v, GLenum, target, GLuint, index, GLfloat *, data); \ FuncWrapper3(void, glGetDoublei_v, GLenum, target, GLuint, index, GLdouble *, data); \ AliasWrapper3(void, glGetDoublei_vEXT, glGetDoublei_v, GLenum, target, GLuint, index, GLdouble *, data); \ FuncWrapper3(void, glGetInteger64i_v, GLenum, target, GLuint, index, GLint64 *, data); \ FuncWrapper2(void, glGetInteger64v, GLenum, pname, GLint64 *, data); \ FuncWrapper3(void, glGetShaderiv, GLuint, shader, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetShaderInfoLog, GLuint, shader, GLsizei, bufSize, GLsizei *, length, GLchar *, infoLog); \ FuncWrapper4(void, glGetShaderPrecisionFormat, GLenum, shadertype, GLenum, precisiontype, GLint *, range, GLint *, precision); \ FuncWrapper4(void, glGetShaderSource, GLuint, shader, GLsizei, bufSize, GLsizei *, length, GLchar *, source); \ FuncWrapper4(void, glGetAttachedShaders, GLuint, program, GLsizei, maxCount, GLsizei *, count, GLuint *, shaders); \ FuncWrapper3(void, glGetProgramiv, GLuint, program, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetProgramInfoLog, GLuint, program, GLsizei, bufSize, GLsizei *, length, GLchar *, infoLog); \ FuncWrapper4(void, glGetProgramInterfaceiv, GLuint, program, GLenum, programInterface, GLenum, pname, GLint *, params); \ FuncWrapper3(GLuint, glGetProgramResourceIndex, GLuint, program, GLenum, programInterface, const GLchar *, name); \ FuncWrapper8(void, glGetProgramResourceiv, GLuint, program, GLenum, programInterface, GLuint, index, GLsizei, propCount, const GLenum *, props, GLsizei, bufSize, GLsizei *, length, GLint *, params); \ FuncWrapper6(void, glGetProgramResourceName, GLuint, program, GLenum, programInterface, GLuint, index, GLsizei, bufSize, GLsizei *, length, GLchar *, name); \ FuncWrapper3(void, glGetProgramPipelineiv, GLuint, pipeline, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetProgramPipelineivEXT, glGetProgramPipelineiv, GLuint, pipeline, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetProgramPipelineInfoLog, GLuint, pipeline, GLsizei, bufSize, GLsizei *, length, GLchar *, infoLog); \ AliasWrapper4(void, glGetProgramPipelineInfoLogEXT, glGetProgramPipelineInfoLog, GLuint, pipeline, GLsizei, bufSize, GLsizei *, length, GLchar *, infoLog); \ FuncWrapper5(void, glGetProgramBinary, GLuint, program, GLsizei, bufSize, GLsizei *, length, GLenum *, binaryFormat, void *, binary); \ FuncWrapper3(GLint, glGetProgramResourceLocation, GLuint, program, GLenum, programInterface, const GLchar *, name); \ FuncWrapper3(GLint, glGetProgramResourceLocationIndex, GLuint, program, GLenum, programInterface, const GLchar *, name); \ FuncWrapper4(void, glGetProgramStageiv, GLuint, program, GLenum, shadertype, GLenum, pname, GLint *, values); \ FuncWrapper0(GLenum, glGetGraphicsResetStatus); \ AliasWrapper0(GLenum, glGetGraphicsResetStatusARB, glGetGraphicsResetStatus); \ AliasWrapper0(GLenum, glGetGraphicsResetStatusEXT, glGetGraphicsResetStatus); \ FuncWrapper5(void, glGetObjectLabel, GLenum, identifier, GLuint, name, GLsizei, bufSize, GLsizei *, length, GLchar *, label); \ AliasWrapper5(void, glGetObjectLabelKHR, glGetObjectLabel, GLenum, identifier, GLuint, name, GLsizei, bufSize, GLsizei *, length, GLchar *, label); \ FuncWrapper5(void, glGetObjectLabelEXT, GLenum, type, GLuint, object, GLsizei, bufSize, GLsizei *, length, GLchar *, label); \ FuncWrapper4(void, glGetObjectPtrLabel, const void *, ptr, GLsizei, bufSize, GLsizei *, length, GLchar *, label); \ AliasWrapper4(void, glGetObjectPtrLabelKHR, glGetObjectPtrLabel, const void *, ptr, GLsizei, bufSize, GLsizei *, length, GLchar *, label); \ FuncWrapper8(GLuint, glGetDebugMessageLog, GLuint, count, GLsizei, bufSize, GLenum *, sources, GLenum *, types, GLuint *, ids, GLenum *, severities, GLsizei *, lengths, GLchar *, messageLog); \ AliasWrapper8(GLuint, glGetDebugMessageLogARB, glGetDebugMessageLog, GLuint, count, GLsizei, bufSize, GLenum *, sources, GLenum *, types, GLuint *, ids, GLenum *, severities, GLsizei *, lengths, GLchar *, messageLog); \ AliasWrapper8(GLuint, glGetDebugMessageLogKHR, glGetDebugMessageLog, GLuint, count, GLsizei, bufSize, GLenum *, sources, GLenum *, types, GLuint *, ids, GLenum *, severities, GLsizei *, lengths, GLchar *, messageLog); \ FuncWrapper4(void, glGetFramebufferAttachmentParameteriv, GLenum, target, GLenum, attachment, GLenum, pname, GLint *, params); \ AliasWrapper4(void, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameteriv, GLenum, target, GLenum, attachment, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetFramebufferParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetRenderbufferParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetRenderbufferParameterivEXT, glGetRenderbufferParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetMultisamplefv, GLenum, pname, GLuint, index, GLfloat *, val); \ FuncWrapper4(void, glGetQueryIndexediv, GLenum, target, GLuint, index, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetQueryObjectui64v, GLuint, id, GLenum, pname, GLuint64 *, params); \ AliasWrapper3(void, glGetQueryObjectui64vEXT, glGetQueryObjectui64v, GLuint, id, GLenum, pname, GLuint64 *, params); \ FuncWrapper3(void, glGetQueryObjectuiv, GLuint, id, GLenum, pname, GLuint *, params); \ AliasWrapper3(void, glGetQueryObjectuivARB, glGetQueryObjectuiv, GLuint, id, GLenum, pname, GLuint *, params); \ AliasWrapper3(void, glGetQueryObjectuivEXT, glGetQueryObjectuiv, GLuint, id, GLenum, pname, GLuint *, params); \ FuncWrapper3(void, glGetQueryObjecti64v, GLuint, id, GLenum, pname, GLint64 *, params); \ AliasWrapper3(void, glGetQueryObjecti64vEXT, glGetQueryObjecti64v, GLuint, id, GLenum, pname, GLint64 *, params); \ FuncWrapper3(void, glGetQueryObjectiv, GLuint, id, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetQueryObjectivARB, glGetQueryObjectiv, GLuint, id, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetQueryObjectivEXT, glGetQueryObjectiv, GLuint, id, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetQueryiv, GLenum, target, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetQueryivARB, glGetQueryiv, GLenum, target, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetQueryivEXT, glGetQueryiv, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper5(void, glGetSynciv, GLsync, sync, GLenum, pname, GLsizei, bufSize, GLsizei *, length, GLint *, values); \ FuncWrapper4(void, glGetBufferSubData, GLenum, target, GLintptr, offset, GLsizeiptr, size, void *, data); \ AliasWrapper4(void, glGetBufferSubDataARB, glGetBufferSubData, GLenum, target, GLintptr, offset, GLsizeiptr, size, void *, data); \ FuncWrapper3(void, glGetVertexAttribiv, GLuint, index, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetVertexAttribPointerv, GLuint, index, GLenum, pname, void **, pointer); \ FuncWrapper3(void, glGetCompressedTexImage, GLenum, target, GLint, level, void *, img); \ AliasWrapper3(void, glGetCompressedTexImageARB, glGetCompressedTexImage, GLenum, target, GLint, level, void *, img); \ FuncWrapper4(void, glGetnCompressedTexImage, GLenum, target, GLint, lod, GLsizei, bufSize, void *, pixels); \ AliasWrapper4(void, glGetnCompressedTexImageARB, glGetnCompressedTexImage, GLenum, target, GLint, lod, GLsizei, bufSize, void *, pixels); \ FuncWrapper6(void, glGetnTexImage, GLenum, target, GLint, level, GLenum, format, GLenum, type, GLsizei, bufSize, void *, pixels); \ AliasWrapper6(void, glGetnTexImageARB, glGetnTexImage, GLenum, target, GLint, level, GLenum, format, GLenum, type, GLsizei, bufSize, void *, pixels); \ FuncWrapper3(void, glGetTexParameterIiv, GLenum, target, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetTexParameterIivEXT, glGetTexParameterIiv, GLenum, target, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetTexParameterIivOES, glGetTexParameterIiv, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetTexParameterIuiv, GLenum, target, GLenum, pname, GLuint *, params); \ AliasWrapper3(void, glGetTexParameterIuivEXT, glGetTexParameterIuiv, GLenum, target, GLenum, pname, GLuint *, params); \ AliasWrapper3(void, glGetTexParameterIuivOES, glGetTexParameterIuiv, GLenum, target, GLenum, pname, GLuint *, params); \ FuncWrapper2(void, glClampColor, GLenum, target, GLenum, clamp); \ AliasWrapper2(void, glClampColorARB, glClampColor, GLenum, target, GLenum, clamp); \ FuncWrapper8(void, glReadnPixels, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, GLsizei, bufSize, void *, data); \ AliasWrapper8(void, glReadnPixelsARB, glReadnPixels, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, GLsizei, bufSize, void *, data); \ AliasWrapper8(void, glReadnPixelsEXT, glReadnPixels, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, GLsizei, bufSize, void *, data); \ FuncWrapper3(void, glGetSamplerParameterIiv, GLuint, sampler, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetSamplerParameterIivEXT, glGetSamplerParameterIiv, GLuint, sampler, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetSamplerParameterIivOES, glGetSamplerParameterIiv, GLuint, sampler, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetSamplerParameterIuiv, GLuint, sampler, GLenum, pname, GLuint *, params); \ AliasWrapper3(void, glGetSamplerParameterIuivEXT, glGetSamplerParameterIuiv, GLuint, sampler, GLenum, pname, GLuint *, params); \ AliasWrapper3(void, glGetSamplerParameterIuivOES, glGetSamplerParameterIuiv, GLuint, sampler, GLenum, pname, GLuint *, params); \ FuncWrapper3(void, glGetSamplerParameterfv, GLuint, sampler, GLenum, pname, GLfloat *, params); \ FuncWrapper3(void, glGetSamplerParameteriv, GLuint, sampler, GLenum, pname, GLint *, params); \ FuncWrapper7(void, glGetTransformFeedbackVarying, GLuint, program, GLuint, index, GLsizei, bufSize, GLsizei *, length, GLsizei *, size, GLenum *, type, GLchar *, name); \ AliasWrapper7(void, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVarying, GLuint, program, GLuint, index, GLsizei, bufSize, GLsizei *, length, GLsizei *, size, GLenum *, type, GLchar *, name); \ FuncWrapper3(GLuint, glGetSubroutineIndex, GLuint, program, GLenum, shadertype, const GLchar *, name); \ FuncWrapper3(GLint, glGetSubroutineUniformLocation, GLuint, program, GLenum, shadertype, const GLchar *, name); \ FuncWrapper4(void, glGetActiveAtomicCounterBufferiv, GLuint, program, GLuint, bufferIndex, GLenum, pname, GLint *, params); \ FuncWrapper6(void, glGetActiveSubroutineName, GLuint, program, GLenum, shadertype, GLuint, index, GLsizei, bufsize, GLsizei *, length, GLchar *, name); \ FuncWrapper6(void, glGetActiveSubroutineUniformName, GLuint, program, GLenum, shadertype, GLuint, index, GLsizei, bufsize, GLsizei *, length, GLchar *, name); \ FuncWrapper5(void, glGetActiveSubroutineUniformiv, GLuint, program, GLenum, shadertype, GLuint, index, GLenum, pname, GLint *, values); \ FuncWrapper2(GLint, glGetUniformLocation, GLuint, program, const GLchar *, name); \ FuncWrapper4(void, glGetUniformIndices, GLuint, program, GLsizei, uniformCount, const GLchar *const*, uniformNames, GLuint *, uniformIndices); \ FuncWrapper3(void, glGetUniformSubroutineuiv, GLenum, shadertype, GLint, location, GLuint *, params); \ FuncWrapper2(GLuint, glGetUniformBlockIndex, GLuint, program, const GLchar *, uniformBlockName); \ FuncWrapper2(GLint, glGetAttribLocation, GLuint, program, const GLchar *, name); \ FuncWrapper7(void, glGetActiveUniform, GLuint, program, GLuint, index, GLsizei, bufSize, GLsizei *, length, GLint *, size, GLenum *, type, GLchar *, name); \ FuncWrapper5(void, glGetActiveUniformName, GLuint, program, GLuint, uniformIndex, GLsizei, bufSize, GLsizei *, length, GLchar *, uniformName); \ FuncWrapper5(void, glGetActiveUniformBlockName, GLuint, program, GLuint, uniformBlockIndex, GLsizei, bufSize, GLsizei *, length, GLchar *, uniformBlockName); \ FuncWrapper4(void, glGetActiveUniformBlockiv, GLuint, program, GLuint, uniformBlockIndex, GLenum, pname, GLint *, params); \ FuncWrapper5(void, glGetActiveUniformsiv, GLuint, program, GLsizei, uniformCount, const GLuint *, uniformIndices, GLenum, pname, GLint *, params); \ FuncWrapper7(void, glGetActiveAttrib, GLuint, program, GLuint, index, GLsizei, bufSize, GLsizei *, length, GLint *, size, GLenum *, type, GLchar *, name); \ FuncWrapper3(void, glGetUniformfv, GLuint, program, GLint, location, GLfloat *, params); \ FuncWrapper3(void, glGetUniformiv, GLuint, program, GLint, location, GLint *, params); \ FuncWrapper3(void, glGetUniformuiv, GLuint, program, GLint, location, GLuint *, params); \ AliasWrapper3(void, glGetUniformuivEXT, glGetUniformuiv, GLuint, program, GLint, location, GLuint *, params); \ FuncWrapper3(void, glGetUniformdv, GLuint, program, GLint, location, GLdouble *, params); \ FuncWrapper4(void, glGetnUniformdv, GLuint, program, GLint, location, GLsizei, bufSize, GLdouble *, params); \ AliasWrapper4(void, glGetnUniformdvARB, glGetnUniformdv, GLuint, program, GLint, location, GLsizei, bufSize, GLdouble *, params); \ FuncWrapper4(void, glGetnUniformfv, GLuint, program, GLint, location, GLsizei, bufSize, GLfloat *, params); \ AliasWrapper4(void, glGetnUniformfvARB, glGetnUniformfv, GLuint, program, GLint, location, GLsizei, bufSize, GLfloat *, params); \ AliasWrapper4(void, glGetnUniformfvEXT, glGetnUniformfv, GLuint, program, GLint, location, GLsizei, bufSize, GLfloat *, params); \ FuncWrapper4(void, glGetnUniformiv, GLuint, program, GLint, location, GLsizei, bufSize, GLint *, params); \ AliasWrapper4(void, glGetnUniformivARB, glGetnUniformiv, GLuint, program, GLint, location, GLsizei, bufSize, GLint *, params); \ AliasWrapper4(void, glGetnUniformivEXT, glGetnUniformiv, GLuint, program, GLint, location, GLsizei, bufSize, GLint *, params); \ FuncWrapper4(void, glGetnUniformuiv, GLuint, program, GLint, location, GLsizei, bufSize, GLuint *, params); \ AliasWrapper4(void, glGetnUniformuivARB, glGetnUniformuiv, GLuint, program, GLint, location, GLsizei, bufSize, GLuint *, params); \ FuncWrapper3(void, glGetVertexAttribIiv, GLuint, index, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetVertexAttribIivEXT, glGetVertexAttribIiv, GLuint, index, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetVertexAttribIuiv, GLuint, index, GLenum, pname, GLuint *, params); \ AliasWrapper3(void, glGetVertexAttribIuivEXT, glGetVertexAttribIuiv, GLuint, index, GLenum, pname, GLuint *, params); \ FuncWrapper3(void, glGetVertexAttribLdv, GLuint, index, GLenum, pname, GLdouble *, params); \ AliasWrapper3(void, glGetVertexAttribLdvEXT, glGetVertexAttribLdv, GLuint, index, GLenum, pname, GLdouble *, params); \ FuncWrapper3(void, glGetVertexAttribdv, GLuint, index, GLenum, pname, GLdouble *, params); \ FuncWrapper3(void, glGetVertexAttribfv, GLuint, index, GLenum, pname, GLfloat *, params); \ FuncWrapper1(GLenum, glCheckFramebufferStatus, GLenum, target); \ AliasWrapper1(GLenum, glCheckFramebufferStatusEXT, glCheckFramebufferStatus, GLenum, target); \ FuncWrapper4(void, glBlendColor, GLfloat, red, GLfloat, green, GLfloat, blue, GLfloat, alpha); \ AliasWrapper4(void, glBlendColorEXT, glBlendColor, GLfloat, red, GLfloat, green, GLfloat, blue, GLfloat, alpha); \ FuncWrapper3(void, glBlendFunci, GLuint, buf, GLenum, src, GLenum, dst); \ AliasWrapper3(void, glBlendFunciARB, glBlendFunci, GLuint, buf, GLenum, src, GLenum, dst); \ AliasWrapper3(void, glBlendFunciEXT, glBlendFunci, GLuint, buf, GLenum, src, GLenum, dst); \ AliasWrapper3(void, glBlendFunciOES, glBlendFunci, GLuint, buf, GLenum, src, GLenum, dst); \ FuncWrapper4(void, glBlendFuncSeparate, GLenum, sfactorRGB, GLenum, dfactorRGB, GLenum, sfactorAlpha, GLenum, dfactorAlpha); \ AliasWrapper4(void, glBlendFuncSeparateARB, glBlendFuncSeparate, GLenum, sfactorRGB, GLenum, dfactorRGB, GLenum, sfactorAlpha, GLenum, dfactorAlpha); \ FuncWrapper5(void, glBlendFuncSeparatei, GLuint, buf, GLenum, srcRGB, GLenum, dstRGB, GLenum, srcAlpha, GLenum, dstAlpha); \ AliasWrapper5(void, glBlendFuncSeparateiARB, glBlendFuncSeparatei, GLuint, buf, GLenum, srcRGB, GLenum, dstRGB, GLenum, srcAlpha, GLenum, dstAlpha); \ AliasWrapper5(void, glBlendFuncSeparateiEXT, glBlendFuncSeparatei, GLuint, buf, GLenum, srcRGB, GLenum, dstRGB, GLenum, srcAlpha, GLenum, dstAlpha); \ AliasWrapper5(void, glBlendFuncSeparateiOES, glBlendFuncSeparatei, GLuint, buf, GLenum, srcRGB, GLenum, dstRGB, GLenum, srcAlpha, GLenum, dstAlpha); \ FuncWrapper1(void, glBlendEquation, GLenum, mode); \ AliasWrapper1(void, glBlendEquationEXT, glBlendEquation, GLenum, mode); \ AliasWrapper1(void, glBlendEquationARB, glBlendEquation, GLenum, mode); \ FuncWrapper2(void, glBlendEquationi, GLuint, buf, GLenum, mode); \ AliasWrapper2(void, glBlendEquationiARB, glBlendEquationi, GLuint, buf, GLenum, mode); \ AliasWrapper2(void, glBlendEquationiEXT, glBlendEquationi, GLuint, buf, GLenum, mode); \ AliasWrapper2(void, glBlendEquationiOES, glBlendEquationi, GLuint, buf, GLenum, mode); \ FuncWrapper2(void, glBlendEquationSeparate, GLenum, modeRGB, GLenum, modeAlpha); \ AliasWrapper2(void, glBlendEquationSeparateARB, glBlendEquationSeparate, GLenum, modeRGB, GLenum, modeAlpha); \ AliasWrapper2(void, glBlendEquationSeparateEXT, glBlendEquationSeparate, GLenum, modeRGB, GLenum, modeAlpha); \ FuncWrapper3(void, glBlendEquationSeparatei, GLuint, buf, GLenum, modeRGB, GLenum, modeAlpha); \ AliasWrapper3(void, glBlendEquationSeparateiARB, glBlendEquationSeparatei, GLuint, buf, GLenum, modeRGB, GLenum, modeAlpha); \ AliasWrapper3(void, glBlendEquationSeparateiEXT, glBlendEquationSeparatei, GLuint, buf, GLenum, modeRGB, GLenum, modeAlpha); \ AliasWrapper3(void, glBlendEquationSeparateiOES, glBlendEquationSeparatei, GLuint, buf, GLenum, modeRGB, GLenum, modeAlpha); \ FuncWrapper0(void, glBlendBarrierKHR); \ FuncWrapper4(void, glStencilFuncSeparate, GLenum, face, GLenum, func, GLint, ref, GLuint, mask); \ FuncWrapper2(void, glStencilMaskSeparate, GLenum, face, GLuint, mask); \ FuncWrapper4(void, glStencilOpSeparate, GLenum, face, GLenum, sfail, GLenum, dpfail, GLenum, dppass); \ FuncWrapper5(void, glColorMaski, GLuint, index, GLboolean, r, GLboolean, g, GLboolean, b, GLboolean, a); \ AliasWrapper5(void, glColorMaskiEXT, glColorMaski, GLuint, index, GLboolean, r, GLboolean, g, GLboolean, b, GLboolean, a); \ AliasWrapper5(void, glColorMaskIndexedEXT, glColorMaski, GLuint, index, GLboolean, r, GLboolean, g, GLboolean, b, GLboolean, a); \ AliasWrapper5(void, glColorMaskiOES, glColorMaski, GLuint, index, GLboolean, r, GLboolean, g, GLboolean, b, GLboolean, a); \ FuncWrapper2(void, glSampleMaski, GLuint, maskNumber, GLbitfield, mask); \ FuncWrapper2(void, glSampleCoverage, GLfloat, value, GLboolean, invert); \ AliasWrapper2(void, glSampleCoverageARB, glSampleCoverage, GLfloat, value, GLboolean, invert); \ FuncWrapper1(void, glMinSampleShading, GLfloat, value); \ AliasWrapper1(void, glMinSampleShadingARB, glMinSampleShading, GLfloat, value); \ AliasWrapper1(void, glMinSampleShadingOES, glMinSampleShading, GLfloat, value); \ FuncWrapper2(void, glDepthRangef, GLfloat, n, GLfloat, f); \ FuncWrapper3(void, glDepthRangeIndexed, GLuint, index, GLdouble, n, GLdouble, f); \ FuncWrapper3(void, glDepthRangeArrayv, GLuint, first, GLsizei, count, const GLdouble *, v); \ FuncWrapper2(void, glClipControl, GLenum, origin, GLenum, depth); \ FuncWrapper1(void, glProvokingVertex, GLenum, mode); \ AliasWrapper1(void, glProvokingVertexEXT, glProvokingVertex, GLenum, mode); \ FuncWrapper1(void, glPrimitiveRestartIndex, GLuint, index); \ FuncWrapper1(GLuint, glCreateShader, GLenum, type); \ FuncWrapper1(void, glDeleteShader, GLuint, shader); \ FuncWrapper4(void, glShaderSource, GLuint, shader, GLsizei, count, const GLchar *const*, string, const GLint *, length); \ FuncWrapper1(void, glCompileShader, GLuint, shader); \ FuncWrapper3(GLuint, glCreateShaderProgramv, GLenum, type, GLsizei, count, const GLchar *const*, strings); \ AliasWrapper3(GLuint, glCreateShaderProgramvEXT, glCreateShaderProgramv, GLenum, type, GLsizei, count, const GLchar *const*, strings); \ FuncWrapper0(GLuint, glCreateProgram); \ FuncWrapper1(void, glDeleteProgram, GLuint, program); \ FuncWrapper2(void, glAttachShader, GLuint, program, GLuint, shader); \ FuncWrapper2(void, glDetachShader, GLuint, program, GLuint, shader); \ FuncWrapper0(void, glReleaseShaderCompiler); \ FuncWrapper1(void, glLinkProgram, GLuint, program); \ FuncWrapper3(void, glProgramParameteri, GLuint, program, GLenum, pname, GLint, value); \ AliasWrapper3(void, glProgramParameteriARB, glProgramParameteri, GLuint, program, GLenum, pname, GLint, value); \ AliasWrapper3(void, glProgramParameteriEXT, glProgramParameteri, GLuint, program, GLenum, pname, GLint, value); \ FuncWrapper1(void, glUseProgram, GLuint, program); \ FuncWrapper5(void, glShaderBinary, GLsizei, count, const GLuint *, shaders, GLenum, binaryformat, const void *, binary, GLsizei, length); \ FuncWrapper4(void, glProgramBinary, GLuint, program, GLenum, binaryFormat, const void *, binary, GLsizei, length); \ FuncWrapper3(void, glUseProgramStages, GLuint, pipeline, GLbitfield, stages, GLuint, program); \ AliasWrapper3(void, glUseProgramStagesEXT, glUseProgramStages, GLuint, pipeline, GLbitfield, stages, GLuint, program); \ FuncWrapper1(void, glValidateProgram, GLuint, program); \ FuncWrapper2(void, glGenProgramPipelines, GLsizei, n, GLuint *, pipelines); \ AliasWrapper2(void, glGenProgramPipelinesEXT, glGenProgramPipelines, GLsizei, n, GLuint *, pipelines); \ FuncWrapper1(void, glBindProgramPipeline, GLuint, pipeline); \ AliasWrapper1(void, glBindProgramPipelineEXT, glBindProgramPipeline, GLuint, pipeline); \ FuncWrapper2(void, glActiveShaderProgram, GLuint, pipeline, GLuint, program); \ AliasWrapper2(void, glActiveShaderProgramEXT, glActiveShaderProgram, GLuint, pipeline, GLuint, program); \ FuncWrapper2(void, glDeleteProgramPipelines, GLsizei, n, const GLuint *, pipelines); \ AliasWrapper2(void, glDeleteProgramPipelinesEXT, glDeleteProgramPipelines, GLsizei, n, const GLuint *, pipelines); \ FuncWrapper1(void, glValidateProgramPipeline, GLuint, pipeline); \ AliasWrapper1(void, glValidateProgramPipelineEXT, glValidateProgramPipeline, GLuint, pipeline); \ FuncWrapper2(void, glDebugMessageCallback, GLDEBUGPROC, callback, const void *, userParam); \ AliasWrapper2(void, glDebugMessageCallbackARB, glDebugMessageCallback, GLDEBUGPROC, callback, const void *, userParam); \ AliasWrapper2(void, glDebugMessageCallbackKHR, glDebugMessageCallback, GLDEBUGPROC, callback, const void *, userParam); \ FuncWrapper6(void, glDebugMessageControl, GLenum, source, GLenum, type, GLenum, severity, GLsizei, count, const GLuint *, ids, GLboolean, enabled); \ AliasWrapper6(void, glDebugMessageControlARB, glDebugMessageControl, GLenum, source, GLenum, type, GLenum, severity, GLsizei, count, const GLuint *, ids, GLboolean, enabled); \ AliasWrapper6(void, glDebugMessageControlKHR, glDebugMessageControl, GLenum, source, GLenum, type, GLenum, severity, GLsizei, count, const GLuint *, ids, GLboolean, enabled); \ FuncWrapper6(void, glDebugMessageInsert, GLenum, source, GLenum, type, GLuint, id, GLenum, severity, GLsizei, length, const GLchar *, buf); \ AliasWrapper6(void, glDebugMessageInsertARB, glDebugMessageInsert, GLenum, source, GLenum, type, GLuint, id, GLenum, severity, GLsizei, length, const GLchar *, buf); \ AliasWrapper6(void, glDebugMessageInsertKHR, glDebugMessageInsert, GLenum, source, GLenum, type, GLuint, id, GLenum, severity, GLsizei, length, const GLchar *, buf); \ FuncWrapper4(void, glPushDebugGroup, GLenum, source, GLuint, id, GLsizei, length, const GLchar *, message); \ AliasWrapper4(void, glPushDebugGroupKHR, glPushDebugGroup, GLenum, source, GLuint, id, GLsizei, length, const GLchar *, message); \ FuncWrapper0(void, glPopDebugGroup); \ AliasWrapper0(void, glPopDebugGroupKHR, glPopDebugGroup); \ FuncWrapper4(void, glObjectLabel, GLenum, identifier, GLuint, name, GLsizei, length, const GLchar *, label); \ AliasWrapper4(void, glObjectLabelKHR, glObjectLabel, GLenum, identifier, GLuint, name, GLsizei, length, const GLchar *, label); \ FuncWrapper4(void, glLabelObjectEXT, GLenum, type, GLuint, object, GLsizei, length, const GLchar *, label); \ FuncWrapper3(void, glObjectPtrLabel, const void *, ptr, GLsizei, length, const GLchar *, label); \ AliasWrapper3(void, glObjectPtrLabelKHR, glObjectPtrLabel, const void *, ptr, GLsizei, length, const GLchar *, label); \ FuncWrapper2(void, glEnablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glEnableiEXT, glEnablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glEnableIndexedEXT, glEnablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glEnableiOES, glEnablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glEnableiNV, glEnablei, GLenum, target, GLuint, index); \ FuncWrapper2(void, glDisablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glDisableiEXT, glDisablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glDisableIndexedEXT, glDisablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glDisableiOES, glDisablei, GLenum, target, GLuint, index); \ AliasWrapper2(void, glDisableiNV, glDisablei, GLenum, target, GLuint, index); \ FuncWrapper2(GLboolean, glIsEnabledi, GLenum, target, GLuint, index); \ AliasWrapper2(GLboolean, glIsEnablediEXT, glIsEnabledi, GLenum, target, GLuint, index); \ AliasWrapper2(GLboolean, glIsEnabledIndexedEXT, glIsEnabledi, GLenum, target, GLuint, index); \ AliasWrapper2(GLboolean, glIsEnablediOES, glIsEnabledi, GLenum, target, GLuint, index); \ AliasWrapper2(GLboolean, glIsEnablediNV, glIsEnabledi, GLenum, target, GLuint, index); \ FuncWrapper1(GLboolean, glIsBuffer, GLuint, buffer); \ AliasWrapper1(GLboolean, glIsBufferARB, glIsBuffer, GLuint, buffer); \ FuncWrapper1(GLboolean, glIsFramebuffer, GLuint, framebuffer); \ AliasWrapper1(GLboolean, glIsFramebufferEXT, glIsFramebuffer, GLuint, framebuffer); \ FuncWrapper1(GLboolean, glIsProgram, GLuint, program); \ FuncWrapper1(GLboolean, glIsProgramPipeline, GLuint, pipeline); \ AliasWrapper1(GLboolean, glIsProgramPipelineEXT, glIsProgramPipeline, GLuint, pipeline); \ FuncWrapper1(GLboolean, glIsQuery, GLuint, id); \ AliasWrapper1(GLboolean, glIsQueryARB, glIsQuery, GLuint, id); \ AliasWrapper1(GLboolean, glIsQueryEXT, glIsQuery, GLuint, id); \ FuncWrapper1(GLboolean, glIsRenderbuffer, GLuint, renderbuffer); \ AliasWrapper1(GLboolean, glIsRenderbufferEXT, glIsRenderbuffer, GLuint, renderbuffer); \ FuncWrapper1(GLboolean, glIsSampler, GLuint, sampler); \ FuncWrapper1(GLboolean, glIsShader, GLuint, shader); \ FuncWrapper1(GLboolean, glIsSync, GLsync, sync); \ FuncWrapper1(GLboolean, glIsTransformFeedback, GLuint, id); \ FuncWrapper1(GLboolean, glIsVertexArray, GLuint, array); \ AliasWrapper1(GLboolean, glIsVertexArrayOES, glIsVertexArray, GLuint, array); \ FuncWrapper2(void, glGenBuffers, GLsizei, n, GLuint *, buffers); \ AliasWrapper2(void, glGenBuffersARB, glGenBuffers, GLsizei, n, GLuint *, buffers); \ FuncWrapper2(void, glBindBuffer, GLenum, target, GLuint, buffer); \ AliasWrapper2(void, glBindBufferARB, glBindBuffer, GLenum, target, GLuint, buffer); \ FuncWrapper2(void, glDrawBuffers, GLsizei, n, const GLenum *, bufs); \ AliasWrapper2(void, glDrawBuffersARB, glDrawBuffers, GLsizei, n, const GLenum *, bufs); \ AliasWrapper2(void, glDrawBuffersEXT, glDrawBuffers, GLsizei, n, const GLenum *, bufs); \ FuncWrapper2(void, glGenFramebuffers, GLsizei, n, GLuint *, framebuffers); \ AliasWrapper2(void, glGenFramebuffersEXT, glGenFramebuffers, GLsizei, n, GLuint *, framebuffers); \ FuncWrapper2(void, glBindFramebuffer, GLenum, target, GLuint, framebuffer); \ AliasWrapper2(void, glBindFramebufferEXT, glBindFramebuffer, GLenum, target, GLuint, framebuffer); \ FuncWrapper4(void, glFramebufferTexture, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level); \ AliasWrapper4(void, glFramebufferTextureARB, glFramebufferTexture, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level); \ AliasWrapper4(void, glFramebufferTextureOES, glFramebufferTexture, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level); \ AliasWrapper4(void, glFramebufferTextureEXT, glFramebufferTexture, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level); \ FuncWrapper5(void, glFramebufferTexture1D, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level); \ AliasWrapper5(void, glFramebufferTexture1DEXT, glFramebufferTexture1D, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level); \ FuncWrapper5(void, glFramebufferTexture2D, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level); \ AliasWrapper5(void, glFramebufferTexture2DEXT, glFramebufferTexture2D, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level); \ FuncWrapper6(void, glFramebufferTexture3D, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLint, zoffset); \ AliasWrapper6(void, glFramebufferTexture3DEXT, glFramebufferTexture3D, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLint, zoffset); \ AliasWrapper6(void, glFramebufferTexture3DOES, glFramebufferTexture3D, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLint, zoffset); \ FuncWrapper4(void, glFramebufferRenderbuffer, GLenum, target, GLenum, attachment, GLenum, renderbuffertarget, GLuint, renderbuffer); \ AliasWrapper4(void, glFramebufferRenderbufferEXT, glFramebufferRenderbuffer, GLenum, target, GLenum, attachment, GLenum, renderbuffertarget, GLuint, renderbuffer); \ FuncWrapper5(void, glFramebufferTextureLayer, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLint, layer); \ AliasWrapper5(void, glFramebufferTextureLayerARB, glFramebufferTextureLayer, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLint, layer); \ AliasWrapper5(void, glFramebufferTextureLayerEXT, glFramebufferTextureLayer, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLint, layer); \ FuncWrapper3(void, glFramebufferParameteri, GLenum, target, GLenum, pname, GLint, param); \ FuncWrapper2(void, glDeleteFramebuffers, GLsizei, n, const GLuint *, framebuffers); \ AliasWrapper2(void, glDeleteFramebuffersEXT, glDeleteFramebuffers, GLsizei, n, const GLuint *, framebuffers); \ FuncWrapper2(void, glGenRenderbuffers, GLsizei, n, GLuint *, renderbuffers); \ AliasWrapper2(void, glGenRenderbuffersEXT, glGenRenderbuffers, GLsizei, n, GLuint *, renderbuffers); \ FuncWrapper4(void, glRenderbufferStorage, GLenum, target, GLenum, internalformat, GLsizei, width, GLsizei, height); \ AliasWrapper4(void, glRenderbufferStorageEXT, glRenderbufferStorage, GLenum, target, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper5(void, glRenderbufferStorageMultisample, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper2(void, glDeleteRenderbuffers, GLsizei, n, const GLuint *, renderbuffers); \ AliasWrapper2(void, glDeleteRenderbuffersEXT, glDeleteRenderbuffers, GLsizei, n, const GLuint *, renderbuffers); \ FuncWrapper2(void, glBindRenderbuffer, GLenum, target, GLuint, renderbuffer); \ AliasWrapper2(void, glBindRenderbufferEXT, glBindRenderbuffer, GLenum, target, GLuint, renderbuffer); \ FuncWrapper2(GLsync, glFenceSync, GLenum, condition, GLbitfield, flags); \ FuncWrapper3(GLenum, glClientWaitSync, GLsync, sync, GLbitfield, flags, GLuint64, timeout); \ FuncWrapper3(void, glWaitSync, GLsync, sync, GLbitfield, flags, GLuint64, timeout); \ FuncWrapper1(void, glDeleteSync, GLsync, sync); \ FuncWrapper2(void, glGenQueries, GLsizei, n, GLuint *, ids); \ AliasWrapper2(void, glGenQueriesARB, glGenQueries, GLsizei, n, GLuint *, ids); \ AliasWrapper2(void, glGenQueriesEXT, glGenQueries, GLsizei, n, GLuint *, ids); \ FuncWrapper2(void, glBeginQuery, GLenum, target, GLuint, id); \ AliasWrapper2(void, glBeginQueryARB, glBeginQuery, GLenum, target, GLuint, id); \ AliasWrapper2(void, glBeginQueryEXT, glBeginQuery, GLenum, target, GLuint, id); \ FuncWrapper3(void, glBeginQueryIndexed, GLenum, target, GLuint, index, GLuint, id); \ FuncWrapper1(void, glEndQuery, GLenum, target); \ AliasWrapper1(void, glEndQueryARB, glEndQuery, GLenum, target); \ AliasWrapper1(void, glEndQueryEXT, glEndQuery, GLenum, target); \ FuncWrapper2(void, glEndQueryIndexed, GLenum, target, GLuint, index); \ FuncWrapper2(void, glBeginConditionalRender, GLuint, id, GLenum, mode); \ FuncWrapper0(void, glEndConditionalRender); \ FuncWrapper2(void, glQueryCounter, GLuint, id, GLenum, target); \ AliasWrapper2(void, glQueryCounterEXT, glQueryCounter, GLuint, id, GLenum, target); \ FuncWrapper2(void, glDeleteQueries, GLsizei, n, const GLuint *, ids); \ AliasWrapper2(void, glDeleteQueriesARB, glDeleteQueries, GLsizei, n, const GLuint *, ids); \ AliasWrapper2(void, glDeleteQueriesEXT, glDeleteQueries, GLsizei, n, const GLuint *, ids); \ FuncWrapper4(void, glBufferData, GLenum, target, GLsizeiptr, size, const void *, data, GLenum, usage); \ AliasWrapper4(void, glBufferDataARB, glBufferData, GLenum, target, GLsizeiptr, size, const void *, data, GLenum, usage); \ FuncWrapper4(void, glBufferStorage, GLenum, target, GLsizeiptr, size, const void *, data, GLbitfield, flags); \ AliasWrapper4(void, glBufferStorageEXT, glBufferStorage, GLenum, target, GLsizeiptr, size, const void *, data, GLbitfield, flags); \ FuncWrapper4(void, glBufferSubData, GLenum, target, GLintptr, offset, GLsizeiptr, size, const void *, data); \ AliasWrapper4(void, glBufferSubDataARB, glBufferSubData, GLenum, target, GLintptr, offset, GLsizeiptr, size, const void *, data); \ FuncWrapper5(void, glCopyBufferSubData, GLenum, readTarget, GLenum, writeTarget, GLintptr, readOffset, GLintptr, writeOffset, GLsizeiptr, size); \ FuncWrapper3(void, glBindBufferBase, GLenum, target, GLuint, index, GLuint, buffer); \ AliasWrapper3(void, glBindBufferBaseEXT, glBindBufferBase, GLenum, target, GLuint, index, GLuint, buffer); \ FuncWrapper5(void, glBindBufferRange, GLenum, target, GLuint, index, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ AliasWrapper5(void, glBindBufferRangeEXT, glBindBufferRange, GLenum, target, GLuint, index, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ FuncWrapper4(void, glBindBuffersBase, GLenum, target, GLuint, first, GLsizei, count, const GLuint *, buffers); \ FuncWrapper6(void, glBindBuffersRange, GLenum, target, GLuint, first, GLsizei, count, const GLuint *, buffers, const GLintptr *, offsets, const GLsizeiptr *, sizes); \ FuncWrapper2(void *, glMapBuffer, GLenum, target, GLenum, access); \ AliasWrapper2(void *, glMapBufferARB, glMapBuffer, GLenum, target, GLenum, access); \ AliasWrapper2(void *, glMapBufferOES, glMapBuffer, GLenum, target, GLenum, access); \ FuncWrapper4(void *, glMapBufferRange, GLenum, target, GLintptr, offset, GLsizeiptr, length, GLbitfield, access); \ AliasWrapper4(void *, glMapBufferRangeEXT, glMapBufferRange, GLenum, target, GLintptr, offset, GLsizeiptr, length, GLbitfield, access); \ FuncWrapper3(void, glFlushMappedBufferRange, GLenum, target, GLintptr, offset, GLsizeiptr, length); \ AliasWrapper3(void, glFlushMappedBufferRangeEXT, glFlushMappedBufferRange, GLenum, target, GLintptr, offset, GLsizeiptr, length); \ FuncWrapper1(GLboolean, glUnmapBuffer, GLenum, target); \ AliasWrapper1(GLboolean, glUnmapBufferARB, glUnmapBuffer, GLenum, target); \ AliasWrapper1(GLboolean, glUnmapBufferOES, glUnmapBuffer, GLenum, target); \ FuncWrapper4(void, glTransformFeedbackVaryings, GLuint, program, GLsizei, count, const GLchar *const*, varyings, GLenum, bufferMode); \ AliasWrapper4(void, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryings, GLuint, program, GLsizei, count, const GLchar *const*, varyings, GLenum, bufferMode); \ FuncWrapper2(void, glGenTransformFeedbacks, GLsizei, n, GLuint *, ids); \ FuncWrapper2(void, glDeleteTransformFeedbacks, GLsizei, n, const GLuint *, ids); \ FuncWrapper2(void, glBindTransformFeedback, GLenum, target, GLuint, id); \ FuncWrapper1(void, glBeginTransformFeedback, GLenum, primitiveMode); \ AliasWrapper1(void, glBeginTransformFeedbackEXT, glBeginTransformFeedback, GLenum, primitiveMode); \ FuncWrapper0(void, glPauseTransformFeedback); \ FuncWrapper0(void, glResumeTransformFeedback); \ FuncWrapper0(void, glEndTransformFeedback); \ AliasWrapper0(void, glEndTransformFeedbackEXT, glEndTransformFeedback); \ FuncWrapper2(void, glDrawTransformFeedback, GLenum, mode, GLuint, id); \ FuncWrapper3(void, glDrawTransformFeedbackInstanced, GLenum, mode, GLuint, id, GLsizei, instancecount); \ FuncWrapper3(void, glDrawTransformFeedbackStream, GLenum, mode, GLuint, id, GLuint, stream); \ FuncWrapper4(void, glDrawTransformFeedbackStreamInstanced, GLenum, mode, GLuint, id, GLuint, stream, GLsizei, instancecount); \ FuncWrapper2(void, glDeleteBuffers, GLsizei, n, const GLuint *, buffers); \ AliasWrapper2(void, glDeleteBuffersARB, glDeleteBuffers, GLsizei, n, const GLuint *, buffers); \ FuncWrapper2(void, glGenVertexArrays, GLsizei, n, GLuint *, arrays); \ AliasWrapper2(void, glGenVertexArraysOES, glGenVertexArrays, GLsizei, n, GLuint *, arrays); \ FuncWrapper1(void, glBindVertexArray, GLuint, array); \ AliasWrapper1(void, glBindVertexArrayOES, glBindVertexArray, GLuint, array); \ FuncWrapper2(void, glDeleteVertexArrays, GLsizei, n, const GLuint *, arrays); \ AliasWrapper2(void, glDeleteVertexArraysOES, glDeleteVertexArrays, GLsizei, n, const GLuint *, arrays); \ FuncWrapper2(void, glVertexAttrib1d, GLuint, index, GLdouble, x); \ AliasWrapper2(void, glVertexAttrib1dARB, glVertexAttrib1d, GLuint, index, GLdouble, x); \ FuncWrapper2(void, glVertexAttrib1dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttrib1dvARB, glVertexAttrib1dv, GLuint, index, const GLdouble *, v); \ FuncWrapper2(void, glVertexAttrib1f, GLuint, index, GLfloat, x); \ AliasWrapper2(void, glVertexAttrib1fARB, glVertexAttrib1f, GLuint, index, GLfloat, x); \ FuncWrapper2(void, glVertexAttrib1fv, GLuint, index, const GLfloat *, v); \ AliasWrapper2(void, glVertexAttrib1fvARB, glVertexAttrib1fv, GLuint, index, const GLfloat *, v); \ FuncWrapper2(void, glVertexAttrib1s, GLuint, index, GLshort, x); \ AliasWrapper2(void, glVertexAttrib1sARB, glVertexAttrib1s, GLuint, index, GLshort, x); \ FuncWrapper2(void, glVertexAttrib1sv, GLuint, index, const GLshort *, v); \ AliasWrapper2(void, glVertexAttrib1svARB, glVertexAttrib1sv, GLuint, index, const GLshort *, v); \ FuncWrapper3(void, glVertexAttrib2d, GLuint, index, GLdouble, x, GLdouble, y); \ AliasWrapper3(void, glVertexAttrib2dARB, glVertexAttrib2d, GLuint, index, GLdouble, x, GLdouble, y); \ FuncWrapper2(void, glVertexAttrib2dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttrib2dvARB, glVertexAttrib2dv, GLuint, index, const GLdouble *, v); \ FuncWrapper3(void, glVertexAttrib2f, GLuint, index, GLfloat, x, GLfloat, y); \ AliasWrapper3(void, glVertexAttrib2fARB, glVertexAttrib2f, GLuint, index, GLfloat, x, GLfloat, y); \ FuncWrapper2(void, glVertexAttrib2fv, GLuint, index, const GLfloat *, v); \ AliasWrapper2(void, glVertexAttrib2fvARB, glVertexAttrib2fv, GLuint, index, const GLfloat *, v); \ FuncWrapper3(void, glVertexAttrib2s, GLuint, index, GLshort, x, GLshort, y); \ AliasWrapper3(void, glVertexAttrib2sARB, glVertexAttrib2s, GLuint, index, GLshort, x, GLshort, y); \ FuncWrapper2(void, glVertexAttrib2sv, GLuint, index, const GLshort *, v); \ AliasWrapper2(void, glVertexAttrib2svARB, glVertexAttrib2sv, GLuint, index, const GLshort *, v); \ FuncWrapper4(void, glVertexAttrib3d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z); \ AliasWrapper4(void, glVertexAttrib3dARB, glVertexAttrib3d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z); \ FuncWrapper2(void, glVertexAttrib3dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttrib3dvARB, glVertexAttrib3dv, GLuint, index, const GLdouble *, v); \ FuncWrapper4(void, glVertexAttrib3f, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z); \ AliasWrapper4(void, glVertexAttrib3fARB, glVertexAttrib3f, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z); \ FuncWrapper2(void, glVertexAttrib3fv, GLuint, index, const GLfloat *, v); \ AliasWrapper2(void, glVertexAttrib3fvARB, glVertexAttrib3fv, GLuint, index, const GLfloat *, v); \ FuncWrapper4(void, glVertexAttrib3s, GLuint, index, GLshort, x, GLshort, y, GLshort, z); \ AliasWrapper4(void, glVertexAttrib3sARB, glVertexAttrib3s, GLuint, index, GLshort, x, GLshort, y, GLshort, z); \ FuncWrapper2(void, glVertexAttrib3sv, GLuint, index, const GLshort *, v); \ AliasWrapper2(void, glVertexAttrib3svARB, glVertexAttrib3sv, GLuint, index, const GLshort *, v); \ FuncWrapper2(void, glVertexAttrib4Nbv, GLuint, index, const GLbyte *, v); \ AliasWrapper2(void, glVertexAttrib4NbvARB, glVertexAttrib4Nbv, GLuint, index, const GLbyte *, v); \ FuncWrapper2(void, glVertexAttrib4Niv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glVertexAttrib4NivARB, glVertexAttrib4Niv, GLuint, index, const GLint *, v); \ FuncWrapper2(void, glVertexAttrib4Nsv, GLuint, index, const GLshort *, v); \ AliasWrapper2(void, glVertexAttrib4NsvARB, glVertexAttrib4Nsv, GLuint, index, const GLshort *, v); \ FuncWrapper5(void, glVertexAttrib4Nub, GLuint, index, GLubyte, x, GLubyte, y, GLubyte, z, GLubyte, w); \ FuncWrapper2(void, glVertexAttrib4Nubv, GLuint, index, const GLubyte *, v); \ AliasWrapper2(void, glVertexAttrib4NubvARB, glVertexAttrib4Nubv, GLuint, index, const GLubyte *, v); \ FuncWrapper2(void, glVertexAttrib4Nuiv, GLuint, index, const GLuint *, v); \ AliasWrapper2(void, glVertexAttrib4NuivARB, glVertexAttrib4Nuiv, GLuint, index, const GLuint *, v); \ FuncWrapper2(void, glVertexAttrib4Nusv, GLuint, index, const GLushort *, v); \ AliasWrapper2(void, glVertexAttrib4NusvARB, glVertexAttrib4Nusv, GLuint, index, const GLushort *, v); \ FuncWrapper2(void, glVertexAttrib4bv, GLuint, index, const GLbyte *, v); \ AliasWrapper2(void, glVertexAttrib4bvARB, glVertexAttrib4bv, GLuint, index, const GLbyte *, v); \ FuncWrapper5(void, glVertexAttrib4d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ AliasWrapper5(void, glVertexAttrib4dARB, glVertexAttrib4d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ FuncWrapper2(void, glVertexAttrib4dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttrib4dvARB, glVertexAttrib4dv, GLuint, index, const GLdouble *, v); \ FuncWrapper5(void, glVertexAttrib4f, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ AliasWrapper5(void, glVertexAttrib4fARB, glVertexAttrib4f, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ FuncWrapper2(void, glVertexAttrib4fv, GLuint, index, const GLfloat *, v); \ AliasWrapper2(void, glVertexAttrib4fvARB, glVertexAttrib4fv, GLuint, index, const GLfloat *, v); \ FuncWrapper2(void, glVertexAttrib4iv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glVertexAttrib4ivARB, glVertexAttrib4iv, GLuint, index, const GLint *, v); \ FuncWrapper5(void, glVertexAttrib4s, GLuint, index, GLshort, x, GLshort, y, GLshort, z, GLshort, w); \ AliasWrapper5(void, glVertexAttrib4sARB, glVertexAttrib4s, GLuint, index, GLshort, x, GLshort, y, GLshort, z, GLshort, w); \ FuncWrapper2(void, glVertexAttrib4sv, GLuint, index, const GLshort *, v); \ AliasWrapper2(void, glVertexAttrib4svARB, glVertexAttrib4sv, GLuint, index, const GLshort *, v); \ FuncWrapper2(void, glVertexAttrib4ubv, GLuint, index, const GLubyte *, v); \ AliasWrapper2(void, glVertexAttrib4ubvARB, glVertexAttrib4ubv, GLuint, index, const GLubyte *, v); \ FuncWrapper2(void, glVertexAttrib4uiv, GLuint, index, const GLuint *, v); \ AliasWrapper2(void, glVertexAttrib4uivARB, glVertexAttrib4uiv, GLuint, index, const GLuint *, v); \ FuncWrapper2(void, glVertexAttrib4usv, GLuint, index, const GLushort *, v); \ AliasWrapper2(void, glVertexAttrib4usvARB, glVertexAttrib4usv, GLuint, index, const GLushort *, v); \ FuncWrapper2(void, glVertexAttribI1i, GLuint, index, GLint, x); \ AliasWrapper2(void, glVertexAttribI1iEXT, glVertexAttribI1i, GLuint, index, GLint, x); \ FuncWrapper2(void, glVertexAttribI1iv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glVertexAttribI1ivEXT, glVertexAttribI1iv, GLuint, index, const GLint *, v); \ FuncWrapper2(void, glVertexAttribI1ui, GLuint, index, GLuint, x); \ AliasWrapper2(void, glVertexAttribI1uiEXT, glVertexAttribI1ui, GLuint, index, GLuint, x); \ FuncWrapper2(void, glVertexAttribI1uiv, GLuint, index, const GLuint *, v); \ AliasWrapper2(void, glVertexAttribI1uivEXT, glVertexAttribI1uiv, GLuint, index, const GLuint *, v); \ FuncWrapper3(void, glVertexAttribI2i, GLuint, index, GLint, x, GLint, y); \ AliasWrapper3(void, glVertexAttribI2iEXT, glVertexAttribI2i, GLuint, index, GLint, x, GLint, y); \ FuncWrapper2(void, glVertexAttribI2iv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glVertexAttribI2ivEXT, glVertexAttribI2iv, GLuint, index, const GLint *, v); \ FuncWrapper3(void, glVertexAttribI2ui, GLuint, index, GLuint, x, GLuint, y); \ AliasWrapper3(void, glVertexAttribI2uiEXT, glVertexAttribI2ui, GLuint, index, GLuint, x, GLuint, y); \ FuncWrapper2(void, glVertexAttribI2uiv, GLuint, index, const GLuint *, v); \ AliasWrapper2(void, glVertexAttribI2uivEXT, glVertexAttribI2uiv, GLuint, index, const GLuint *, v); \ FuncWrapper4(void, glVertexAttribI3i, GLuint, index, GLint, x, GLint, y, GLint, z); \ AliasWrapper4(void, glVertexAttribI3iEXT, glVertexAttribI3i, GLuint, index, GLint, x, GLint, y, GLint, z); \ FuncWrapper2(void, glVertexAttribI3iv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glVertexAttribI3ivEXT, glVertexAttribI3iv, GLuint, index, const GLint *, v); \ FuncWrapper4(void, glVertexAttribI3ui, GLuint, index, GLuint, x, GLuint, y, GLuint, z); \ AliasWrapper4(void, glVertexAttribI3uiEXT, glVertexAttribI3ui, GLuint, index, GLuint, x, GLuint, y, GLuint, z); \ FuncWrapper2(void, glVertexAttribI3uiv, GLuint, index, const GLuint *, v); \ AliasWrapper2(void, glVertexAttribI3uivEXT, glVertexAttribI3uiv, GLuint, index, const GLuint *, v); \ FuncWrapper2(void, glVertexAttribI4bv, GLuint, index, const GLbyte *, v); \ AliasWrapper2(void, glVertexAttribI4bvEXT, glVertexAttribI4bv, GLuint, index, const GLbyte *, v); \ FuncWrapper5(void, glVertexAttribI4i, GLuint, index, GLint, x, GLint, y, GLint, z, GLint, w); \ AliasWrapper5(void, glVertexAttribI4iEXT, glVertexAttribI4i, GLuint, index, GLint, x, GLint, y, GLint, z, GLint, w); \ FuncWrapper2(void, glVertexAttribI4iv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glVertexAttribI4ivEXT, glVertexAttribI4iv, GLuint, index, const GLint *, v); \ FuncWrapper2(void, glVertexAttribI4sv, GLuint, index, const GLshort *, v); \ AliasWrapper2(void, glVertexAttribI4svEXT, glVertexAttribI4sv, GLuint, index, const GLshort *, v); \ FuncWrapper2(void, glVertexAttribI4ubv, GLuint, index, const GLubyte *, v); \ AliasWrapper2(void, glVertexAttribI4ubvEXT, glVertexAttribI4ubv, GLuint, index, const GLubyte *, v); \ FuncWrapper5(void, glVertexAttribI4ui, GLuint, index, GLuint, x, GLuint, y, GLuint, z, GLuint, w); \ AliasWrapper5(void, glVertexAttribI4uiEXT, glVertexAttribI4ui, GLuint, index, GLuint, x, GLuint, y, GLuint, z, GLuint, w); \ FuncWrapper2(void, glVertexAttribI4uiv, GLuint, index, const GLuint *, v); \ AliasWrapper2(void, glVertexAttribI4uivEXT, glVertexAttribI4uiv, GLuint, index, const GLuint *, v); \ FuncWrapper2(void, glVertexAttribI4usv, GLuint, index, const GLushort *, v); \ AliasWrapper2(void, glVertexAttribI4usvEXT, glVertexAttribI4usv, GLuint, index, const GLushort *, v); \ FuncWrapper2(void, glVertexAttribL1d, GLuint, index, GLdouble, x); \ AliasWrapper2(void, glVertexAttribL1dEXT, glVertexAttribL1d, GLuint, index, GLdouble, x); \ FuncWrapper2(void, glVertexAttribL1dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttribL1dvEXT, glVertexAttribL1dv, GLuint, index, const GLdouble *, v); \ FuncWrapper3(void, glVertexAttribL2d, GLuint, index, GLdouble, x, GLdouble, y); \ AliasWrapper3(void, glVertexAttribL2dEXT, glVertexAttribL2d, GLuint, index, GLdouble, x, GLdouble, y); \ FuncWrapper2(void, glVertexAttribL2dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttribL2dvEXT, glVertexAttribL2dv, GLuint, index, const GLdouble *, v); \ FuncWrapper4(void, glVertexAttribL3d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z); \ AliasWrapper4(void, glVertexAttribL3dEXT, glVertexAttribL3d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z); \ FuncWrapper2(void, glVertexAttribL3dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttribL3dvEXT, glVertexAttribL3dv, GLuint, index, const GLdouble *, v); \ FuncWrapper5(void, glVertexAttribL4d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ AliasWrapper5(void, glVertexAttribL4dEXT, glVertexAttribL4d, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ FuncWrapper2(void, glVertexAttribL4dv, GLuint, index, const GLdouble *, v); \ AliasWrapper2(void, glVertexAttribL4dvEXT, glVertexAttribL4dv, GLuint, index, const GLdouble *, v); \ FuncWrapper4(void, glVertexAttribP1ui, GLuint, index, GLenum, type, GLboolean, normalized, GLuint, value); \ FuncWrapper4(void, glVertexAttribP1uiv, GLuint, index, GLenum, type, GLboolean, normalized, const GLuint *, value); \ FuncWrapper4(void, glVertexAttribP2ui, GLuint, index, GLenum, type, GLboolean, normalized, GLuint, value); \ FuncWrapper4(void, glVertexAttribP2uiv, GLuint, index, GLenum, type, GLboolean, normalized, const GLuint *, value); \ FuncWrapper4(void, glVertexAttribP3ui, GLuint, index, GLenum, type, GLboolean, normalized, GLuint, value); \ FuncWrapper4(void, glVertexAttribP3uiv, GLuint, index, GLenum, type, GLboolean, normalized, const GLuint *, value); \ FuncWrapper4(void, glVertexAttribP4ui, GLuint, index, GLenum, type, GLboolean, normalized, GLuint, value); \ FuncWrapper4(void, glVertexAttribP4uiv, GLuint, index, GLenum, type, GLboolean, normalized, const GLuint *, value); \ FuncWrapper6(void, glVertexAttribPointer, GLuint, index, GLint, size, GLenum, type, GLboolean, normalized, GLsizei, stride, const void *, pointer); \ AliasWrapper6(void, glVertexAttribPointerARB, glVertexAttribPointer, GLuint, index, GLint, size, GLenum, type, GLboolean, normalized, GLsizei, stride, const void *, pointer); \ FuncWrapper5(void, glVertexAttribIPointer, GLuint, index, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ AliasWrapper5(void, glVertexAttribIPointerEXT, glVertexAttribIPointer, GLuint, index, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ FuncWrapper5(void, glVertexAttribLPointer, GLuint, index, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ AliasWrapper5(void, glVertexAttribLPointerEXT, glVertexAttribLPointer, GLuint, index, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ FuncWrapper2(void, glVertexAttribBinding, GLuint, attribindex, GLuint, bindingindex); \ FuncWrapper5(void, glVertexAttribFormat, GLuint, attribindex, GLint, size, GLenum, type, GLboolean, normalized, GLuint, relativeoffset); \ FuncWrapper4(void, glVertexAttribIFormat, GLuint, attribindex, GLint, size, GLenum, type, GLuint, relativeoffset); \ FuncWrapper4(void, glVertexAttribLFormat, GLuint, attribindex, GLint, size, GLenum, type, GLuint, relativeoffset); \ FuncWrapper2(void, glVertexAttribDivisor, GLuint, index, GLuint, divisor); \ AliasWrapper2(void, glVertexAttribDivisorARB, glVertexAttribDivisor, GLuint, index, GLuint, divisor); \ FuncWrapper3(void, glBindAttribLocation, GLuint, program, GLuint, index, const GLchar *, name); \ FuncWrapper3(void, glBindFragDataLocation, GLuint, program, GLuint, color, const GLchar *, name); \ AliasWrapper3(void, glBindFragDataLocationEXT, glBindFragDataLocation, GLuint, program, GLuint, color, const GLchar *, name); \ FuncWrapper4(void, glBindFragDataLocationIndexed, GLuint, program, GLuint, colorNumber, GLuint, index, const GLchar *, name); \ FuncWrapper1(void, glEnableVertexAttribArray, GLuint, index); \ AliasWrapper1(void, glEnableVertexAttribArrayARB, glEnableVertexAttribArray, GLuint, index); \ FuncWrapper1(void, glDisableVertexAttribArray, GLuint, index); \ AliasWrapper1(void, glDisableVertexAttribArrayARB, glDisableVertexAttribArray, GLuint, index); \ FuncWrapper4(void, glBindVertexBuffer, GLuint, bindingindex, GLuint, buffer, GLintptr, offset, GLsizei, stride); \ FuncWrapper5(void, glBindVertexBuffers, GLuint, first, GLsizei, count, const GLuint *, buffers, const GLintptr *, offsets, const GLsizei *, strides); \ FuncWrapper2(void, glVertexBindingDivisor, GLuint, bindingindex, GLuint, divisor); \ FuncWrapper7(void, glBindImageTexture, GLuint, unit, GLuint, texture, GLint, level, GLboolean, layered, GLint, layer, GLenum, access, GLenum, format); \ AliasWrapper7(void, glBindImageTextureEXT, glBindImageTexture, GLuint, unit, GLuint, texture, GLint, level, GLboolean, layered, GLint, layer, GLenum, access, GLenum, format); \ FuncWrapper3(void, glBindImageTextures, GLuint, first, GLsizei, count, const GLuint *, textures); \ FuncWrapper2(void, glGenSamplers, GLsizei, count, GLuint *, samplers); \ FuncWrapper2(void, glBindSampler, GLuint, unit, GLuint, sampler); \ FuncWrapper3(void, glBindSamplers, GLuint, first, GLsizei, count, const GLuint *, samplers); \ FuncWrapper3(void, glBindTextures, GLuint, first, GLsizei, count, const GLuint *, textures); \ FuncWrapper2(void, glDeleteSamplers, GLsizei, count, const GLuint *, samplers); \ FuncWrapper3(void, glSamplerParameteri, GLuint, sampler, GLenum, pname, GLint, param); \ FuncWrapper3(void, glSamplerParameterf, GLuint, sampler, GLenum, pname, GLfloat, param); \ FuncWrapper3(void, glSamplerParameteriv, GLuint, sampler, GLenum, pname, const GLint *, param); \ FuncWrapper3(void, glSamplerParameterfv, GLuint, sampler, GLenum, pname, const GLfloat *, param); \ FuncWrapper3(void, glSamplerParameterIiv, GLuint, sampler, GLenum, pname, const GLint *, param); \ AliasWrapper3(void, glSamplerParameterIivEXT, glSamplerParameterIiv, GLuint, sampler, GLenum, pname, const GLint *, param); \ AliasWrapper3(void, glSamplerParameterIivOES, glSamplerParameterIiv, GLuint, sampler, GLenum, pname, const GLint *, param); \ FuncWrapper3(void, glSamplerParameterIuiv, GLuint, sampler, GLenum, pname, const GLuint *, param); \ AliasWrapper3(void, glSamplerParameterIuivEXT, glSamplerParameterIuiv, GLuint, sampler, GLenum, pname, const GLuint *, param); \ AliasWrapper3(void, glSamplerParameterIuivOES, glSamplerParameterIuiv, GLuint, sampler, GLenum, pname, const GLuint *, param); \ FuncWrapper2(void, glPatchParameteri, GLenum, pname, GLint, value); \ AliasWrapper2(void, glPatchParameteriEXT, glPatchParameteri, GLenum, pname, GLint, value); \ AliasWrapper2(void, glPatchParameteriOES, glPatchParameteri, GLenum, pname, GLint, value); \ FuncWrapper2(void, glPatchParameterfv, GLenum, pname, const GLfloat *, values); \ FuncWrapper2(void, glPointParameterf, GLenum, pname, GLfloat, param); \ AliasWrapper2(void, glPointParameterfARB, glPointParameterf, GLenum, pname, GLfloat, param); \ AliasWrapper2(void, glPointParameterfEXT, glPointParameterf, GLenum, pname, GLfloat, param); \ FuncWrapper2(void, glPointParameterfv, GLenum, pname, const GLfloat *, params); \ AliasWrapper2(void, glPointParameterfvARB, glPointParameterfv, GLenum, pname, const GLfloat *, params); \ AliasWrapper2(void, glPointParameterfvEXT, glPointParameterfv, GLenum, pname, const GLfloat *, params); \ FuncWrapper2(void, glPointParameteri, GLenum, pname, GLint, param); \ FuncWrapper2(void, glPointParameteriv, GLenum, pname, const GLint *, params); \ FuncWrapper3(void, glDispatchCompute, GLuint, num_groups_x, GLuint, num_groups_y, GLuint, num_groups_z); \ FuncWrapper1(void, glDispatchComputeIndirect, GLintptr, indirect); \ FuncWrapper1(void, glMemoryBarrier, GLbitfield, barriers); \ AliasWrapper1(void, glMemoryBarrierEXT, glMemoryBarrier, GLbitfield, barriers); \ FuncWrapper1(void, glMemoryBarrierByRegion, GLbitfield, barriers); \ FuncWrapper0(void, glTextureBarrier); \ FuncWrapper1(void, glClearDepthf, GLfloat, d); \ FuncWrapper3(void, glClearBufferfv, GLenum, buffer, GLint, drawbuffer, const GLfloat *, value); \ FuncWrapper3(void, glClearBufferiv, GLenum, buffer, GLint, drawbuffer, const GLint *, value); \ FuncWrapper3(void, glClearBufferuiv, GLenum, buffer, GLint, drawbuffer, const GLuint *, value); \ FuncWrapper4(void, glClearBufferfi, GLenum, buffer, GLint, drawbuffer, GLfloat, depth, GLint, stencil); \ FuncWrapper5(void, glClearBufferData, GLenum, target, GLenum, internalformat, GLenum, format, GLenum, type, const void *, data); \ FuncWrapper7(void, glClearBufferSubData, GLenum, target, GLenum, internalformat, GLintptr, offset, GLsizeiptr, size, GLenum, format, GLenum, type, const void *, data); \ FuncWrapper5(void, glClearTexImage, GLuint, texture, GLint, level, GLenum, format, GLenum, type, const void *, data); \ FuncWrapper11(void, glClearTexSubImage, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, data); \ FuncWrapper1(void, glInvalidateBufferData, GLuint, buffer); \ FuncWrapper3(void, glInvalidateBufferSubData, GLuint, buffer, GLintptr, offset, GLsizeiptr, length); \ FuncWrapper3(void, glInvalidateFramebuffer, GLenum, target, GLsizei, numAttachments, const GLenum *, attachments); \ FuncWrapper7(void, glInvalidateSubFramebuffer, GLenum, target, GLsizei, numAttachments, const GLenum *, attachments, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper2(void, glInvalidateTexImage, GLuint, texture, GLint, level); \ FuncWrapper8(void, glInvalidateTexSubImage, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth); \ FuncWrapper3(void, glScissorArrayv, GLuint, first, GLsizei, count, const GLint *, v); \ AliasWrapper3(void, glScissorArrayvOES, glScissorArrayv, GLuint, first, GLsizei, count, const GLint *, v); \ AliasWrapper3(void, glScissorArrayvNV, glScissorArrayv, GLuint, first, GLsizei, count, const GLint *, v); \ FuncWrapper5(void, glScissorIndexed, GLuint, index, GLint, left, GLint, bottom, GLsizei, width, GLsizei, height); \ AliasWrapper5(void, glScissorIndexedOES, glScissorIndexed, GLuint, index, GLint, left, GLint, bottom, GLsizei, width, GLsizei, height); \ AliasWrapper5(void, glScissorIndexedNV, glScissorIndexed, GLuint, index, GLint, left, GLint, bottom, GLsizei, width, GLsizei, height); \ FuncWrapper2(void, glScissorIndexedv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glScissorIndexedvOES, glScissorIndexedv, GLuint, index, const GLint *, v); \ AliasWrapper2(void, glScissorIndexedvNV, glScissorIndexedv, GLuint, index, const GLint *, v); \ FuncWrapper5(void, glViewportIndexedf, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, w, GLfloat, h); \ AliasWrapper5(void, glViewportIndexedfOES, glViewportIndexedf, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, w, GLfloat, h); \ AliasWrapper5(void, glViewportIndexedfNV, glViewportIndexedf, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, w, GLfloat, h); \ FuncWrapper2(void, glViewportIndexedfv, GLuint, index, const GLfloat *, v); \ AliasWrapper2(void, glViewportIndexedfvOES, glViewportIndexedfv, GLuint, index, const GLfloat *, v); \ AliasWrapper2(void, glViewportIndexedfvNV, glViewportIndexedfv, GLuint, index, const GLfloat *, v); \ FuncWrapper3(void, glViewportArrayv, GLuint, first, GLsizei, count, const GLfloat *, v); \ AliasWrapper3(void, glViewportArrayvOES, glViewportArrayv, GLuint, first, GLsizei, count, const GLfloat *, v); \ AliasWrapper3(void, glViewportArrayvNV, glViewportArrayv, GLuint, first, GLsizei, count, const GLfloat *, v); \ FuncWrapper3(void, glUniformBlockBinding, GLuint, program, GLuint, uniformBlockIndex, GLuint, uniformBlockBinding); \ FuncWrapper3(void, glShaderStorageBlockBinding, GLuint, program, GLuint, storageBlockIndex, GLuint, storageBlockBinding); \ FuncWrapper3(void, glUniformSubroutinesuiv, GLenum, shadertype, GLsizei, count, const GLuint *, indices); \ FuncWrapper2(void, glUniform1f, GLint, location, GLfloat, v0); \ AliasWrapper2(void, glUniform1fARB, glUniform1f, GLint, location, GLfloat, v0); \ FuncWrapper2(void, glUniform1i, GLint, location, GLint, v0); \ AliasWrapper2(void, glUniform1iARB, glUniform1i, GLint, location, GLint, v0); \ FuncWrapper2(void, glUniform1ui, GLint, location, GLuint, v0); \ AliasWrapper2(void, glUniform1uiEXT, glUniform1ui, GLint, location, GLuint, v0); \ FuncWrapper2(void, glUniform1d, GLint, location, GLdouble, x); \ FuncWrapper3(void, glUniform2f, GLint, location, GLfloat, v0, GLfloat, v1); \ AliasWrapper3(void, glUniform2fARB, glUniform2f, GLint, location, GLfloat, v0, GLfloat, v1); \ FuncWrapper3(void, glUniform2i, GLint, location, GLint, v0, GLint, v1); \ AliasWrapper3(void, glUniform2iARB, glUniform2i, GLint, location, GLint, v0, GLint, v1); \ FuncWrapper3(void, glUniform2ui, GLint, location, GLuint, v0, GLuint, v1); \ AliasWrapper3(void, glUniform2uiEXT, glUniform2ui, GLint, location, GLuint, v0, GLuint, v1); \ FuncWrapper3(void, glUniform2d, GLint, location, GLdouble, x, GLdouble, y); \ FuncWrapper4(void, glUniform3f, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2); \ AliasWrapper4(void, glUniform3fARB, glUniform3f, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2); \ FuncWrapper4(void, glUniform3i, GLint, location, GLint, v0, GLint, v1, GLint, v2); \ AliasWrapper4(void, glUniform3iARB, glUniform3i, GLint, location, GLint, v0, GLint, v1, GLint, v2); \ FuncWrapper4(void, glUniform3ui, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2); \ AliasWrapper4(void, glUniform3uiEXT, glUniform3ui, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2); \ FuncWrapper4(void, glUniform3d, GLint, location, GLdouble, x, GLdouble, y, GLdouble, z); \ FuncWrapper5(void, glUniform4f, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2, GLfloat, v3); \ AliasWrapper5(void, glUniform4fARB, glUniform4f, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2, GLfloat, v3); \ FuncWrapper5(void, glUniform4i, GLint, location, GLint, v0, GLint, v1, GLint, v2, GLint, v3); \ AliasWrapper5(void, glUniform4iARB, glUniform4i, GLint, location, GLint, v0, GLint, v1, GLint, v2, GLint, v3); \ FuncWrapper5(void, glUniform4ui, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2, GLuint, v3); \ AliasWrapper5(void, glUniform4uiEXT, glUniform4ui, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2, GLuint, v3); \ FuncWrapper5(void, glUniform4d, GLint, location, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ FuncWrapper3(void, glUniform1fv, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper3(void, glUniform1fvARB, glUniform1fv, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper3(void, glUniform1iv, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper3(void, glUniform1ivARB, glUniform1iv, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper3(void, glUniform1uiv, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper3(void, glUniform1uivEXT, glUniform1uiv, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper3(void, glUniform1dv, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper3(void, glUniform2fv, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper3(void, glUniform2fvARB, glUniform2fv, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper3(void, glUniform2iv, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper3(void, glUniform2ivARB, glUniform2iv, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper3(void, glUniform2uiv, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper3(void, glUniform2uivEXT, glUniform2uiv, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper3(void, glUniform2dv, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper3(void, glUniform3fv, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper3(void, glUniform3fvARB, glUniform3fv, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper3(void, glUniform3iv, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper3(void, glUniform3ivARB, glUniform3iv, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper3(void, glUniform3uiv, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper3(void, glUniform3uivEXT, glUniform3uiv, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper3(void, glUniform3dv, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper3(void, glUniform4fv, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper3(void, glUniform4fvARB, glUniform4fv, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper3(void, glUniform4iv, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper3(void, glUniform4ivARB, glUniform4iv, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper3(void, glUniform4uiv, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper3(void, glUniform4uivEXT, glUniform4uiv, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper3(void, glUniform4dv, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix2fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper4(void, glUniformMatrix2fvARB, glUniformMatrix2fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix2x3fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix2x4fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix3fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper4(void, glUniformMatrix3fvARB, glUniformMatrix3fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix3x2fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix3x4fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix4fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper4(void, glUniformMatrix4fvARB, glUniformMatrix4fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix4x2fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix4x3fv, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper4(void, glUniformMatrix2dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix2x3dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix2x4dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix3dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix3x2dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix3x4dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix4dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix4x2dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper4(void, glUniformMatrix4x3dv, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper3(void, glProgramUniform1f, GLuint, program, GLint, location, GLfloat, v0); \ AliasWrapper3(void, glProgramUniform1fEXT, glProgramUniform1f, GLuint, program, GLint, location, GLfloat, v0); \ FuncWrapper3(void, glProgramUniform1i, GLuint, program, GLint, location, GLint, v0); \ AliasWrapper3(void, glProgramUniform1iEXT, glProgramUniform1i, GLuint, program, GLint, location, GLint, v0); \ FuncWrapper3(void, glProgramUniform1ui, GLuint, program, GLint, location, GLuint, v0); \ AliasWrapper3(void, glProgramUniform1uiEXT, glProgramUniform1ui, GLuint, program, GLint, location, GLuint, v0); \ FuncWrapper3(void, glProgramUniform1d, GLuint, program, GLint, location, GLdouble, v0); \ AliasWrapper3(void, glProgramUniform1dEXT, glProgramUniform1d, GLuint, program, GLint, location, GLdouble, v0); \ FuncWrapper4(void, glProgramUniform2f, GLuint, program, GLint, location, GLfloat, v0, GLfloat, v1); \ AliasWrapper4(void, glProgramUniform2fEXT, glProgramUniform2f, GLuint, program, GLint, location, GLfloat, v0, GLfloat, v1); \ FuncWrapper4(void, glProgramUniform2i, GLuint, program, GLint, location, GLint, v0, GLint, v1); \ AliasWrapper4(void, glProgramUniform2iEXT, glProgramUniform2i, GLuint, program, GLint, location, GLint, v0, GLint, v1); \ FuncWrapper4(void, glProgramUniform2ui, GLuint, program, GLint, location, GLuint, v0, GLuint, v1); \ AliasWrapper4(void, glProgramUniform2uiEXT, glProgramUniform2ui, GLuint, program, GLint, location, GLuint, v0, GLuint, v1); \ FuncWrapper4(void, glProgramUniform2d, GLuint, program, GLint, location, GLdouble, v0, GLdouble, v1); \ AliasWrapper4(void, glProgramUniform2dEXT, glProgramUniform2d, GLuint, program, GLint, location, GLdouble, v0, GLdouble, v1); \ FuncWrapper5(void, glProgramUniform3f, GLuint, program, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2); \ AliasWrapper5(void, glProgramUniform3fEXT, glProgramUniform3f, GLuint, program, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2); \ FuncWrapper5(void, glProgramUniform3i, GLuint, program, GLint, location, GLint, v0, GLint, v1, GLint, v2); \ AliasWrapper5(void, glProgramUniform3iEXT, glProgramUniform3i, GLuint, program, GLint, location, GLint, v0, GLint, v1, GLint, v2); \ FuncWrapper5(void, glProgramUniform3ui, GLuint, program, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2); \ AliasWrapper5(void, glProgramUniform3uiEXT, glProgramUniform3ui, GLuint, program, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2); \ FuncWrapper5(void, glProgramUniform3d, GLuint, program, GLint, location, GLdouble, v0, GLdouble, v1, GLdouble, v2); \ AliasWrapper5(void, glProgramUniform3dEXT, glProgramUniform3d, GLuint, program, GLint, location, GLdouble, v0, GLdouble, v1, GLdouble, v2); \ FuncWrapper6(void, glProgramUniform4f, GLuint, program, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2, GLfloat, v3); \ AliasWrapper6(void, glProgramUniform4fEXT, glProgramUniform4f, GLuint, program, GLint, location, GLfloat, v0, GLfloat, v1, GLfloat, v2, GLfloat, v3); \ FuncWrapper6(void, glProgramUniform4i, GLuint, program, GLint, location, GLint, v0, GLint, v1, GLint, v2, GLint, v3); \ AliasWrapper6(void, glProgramUniform4iEXT, glProgramUniform4i, GLuint, program, GLint, location, GLint, v0, GLint, v1, GLint, v2, GLint, v3); \ FuncWrapper6(void, glProgramUniform4ui, GLuint, program, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2, GLuint, v3); \ AliasWrapper6(void, glProgramUniform4uiEXT, glProgramUniform4ui, GLuint, program, GLint, location, GLuint, v0, GLuint, v1, GLuint, v2, GLuint, v3); \ FuncWrapper6(void, glProgramUniform4d, GLuint, program, GLint, location, GLdouble, v0, GLdouble, v1, GLdouble, v2, GLdouble, v3); \ AliasWrapper6(void, glProgramUniform4dEXT, glProgramUniform4d, GLuint, program, GLint, location, GLdouble, v0, GLdouble, v1, GLdouble, v2, GLdouble, v3); \ FuncWrapper4(void, glProgramUniform1fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper4(void, glProgramUniform1fvEXT, glProgramUniform1fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper4(void, glProgramUniform1iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper4(void, glProgramUniform1ivEXT, glProgramUniform1iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper4(void, glProgramUniform1uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper4(void, glProgramUniform1uivEXT, glProgramUniform1uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper4(void, glProgramUniform1dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ AliasWrapper4(void, glProgramUniform1dvEXT, glProgramUniform1dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper4(void, glProgramUniform2fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper4(void, glProgramUniform2fvEXT, glProgramUniform2fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper4(void, glProgramUniform2iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper4(void, glProgramUniform2ivEXT, glProgramUniform2iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper4(void, glProgramUniform2uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper4(void, glProgramUniform2uivEXT, glProgramUniform2uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper4(void, glProgramUniform2dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ AliasWrapper4(void, glProgramUniform2dvEXT, glProgramUniform2dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper4(void, glProgramUniform3fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper4(void, glProgramUniform3fvEXT, glProgramUniform3fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper4(void, glProgramUniform3iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper4(void, glProgramUniform3ivEXT, glProgramUniform3iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper4(void, glProgramUniform3uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper4(void, glProgramUniform3uivEXT, glProgramUniform3uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper4(void, glProgramUniform3dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ AliasWrapper4(void, glProgramUniform3dvEXT, glProgramUniform3dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper4(void, glProgramUniform4fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ AliasWrapper4(void, glProgramUniform4fvEXT, glProgramUniform4fv, GLuint, program, GLint, location, GLsizei, count, const GLfloat *, value); \ FuncWrapper4(void, glProgramUniform4iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ AliasWrapper4(void, glProgramUniform4ivEXT, glProgramUniform4iv, GLuint, program, GLint, location, GLsizei, count, const GLint *, value); \ FuncWrapper4(void, glProgramUniform4uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ AliasWrapper4(void, glProgramUniform4uivEXT, glProgramUniform4uiv, GLuint, program, GLint, location, GLsizei, count, const GLuint *, value); \ FuncWrapper4(void, glProgramUniform4dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ AliasWrapper4(void, glProgramUniform4dvEXT, glProgramUniform4dv, GLuint, program, GLint, location, GLsizei, count, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix2fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix2fvEXT, glProgramUniformMatrix2fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix2x3fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix2x3fvEXT, glProgramUniformMatrix2x3fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix2x4fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix2x4fvEXT, glProgramUniformMatrix2x4fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix3fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix3fvEXT, glProgramUniformMatrix3fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix3x2fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix3x2fvEXT, glProgramUniformMatrix3x2fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix3x4fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix3x4fvEXT, glProgramUniformMatrix3x4fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix4fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix4fvEXT, glProgramUniformMatrix4fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix4x2fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix4x2fvEXT, glProgramUniformMatrix4x2fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix4x3fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ AliasWrapper5(void, glProgramUniformMatrix4x3fvEXT, glProgramUniformMatrix4x3fv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ FuncWrapper5(void, glProgramUniformMatrix2dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix2dvEXT, glProgramUniformMatrix2dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix2x3dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix2x3dvEXT, glProgramUniformMatrix2x3dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix2x4dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix2x4dvEXT, glProgramUniformMatrix2x4dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix3dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix3dvEXT, glProgramUniformMatrix3dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix3x2dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix3x2dvEXT, glProgramUniformMatrix3x2dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix3x4dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix3x4dvEXT, glProgramUniformMatrix3x4dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix4dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix4dvEXT, glProgramUniformMatrix4dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix4x2dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix4x2dvEXT, glProgramUniformMatrix4x2dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper5(void, glProgramUniformMatrix4x3dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ AliasWrapper5(void, glProgramUniformMatrix4x3dvEXT, glProgramUniformMatrix4x3dv, GLuint, program, GLint, location, GLsizei, count, GLboolean, transpose, const GLdouble *, value); \ FuncWrapper6(void, glDrawRangeElements, GLenum, mode, GLuint, start, GLuint, end, GLsizei, count, GLenum, type, const void *, indices); \ AliasWrapper6(void, glDrawRangeElementsEXT, glDrawRangeElements, GLenum, mode, GLuint, start, GLuint, end, GLsizei, count, GLenum, type, const void *, indices); \ FuncWrapper7(void, glDrawRangeElementsBaseVertex, GLenum, mode, GLuint, start, GLuint, end, GLsizei, count, GLenum, type, const void *, indices, GLint, basevertex); \ AliasWrapper7(void, glDrawRangeElementsBaseVertexEXT, glDrawRangeElementsBaseVertex, GLenum, mode, GLuint, start, GLuint, end, GLsizei, count, GLenum, type, const void *, indices, GLint, basevertex); \ AliasWrapper7(void, glDrawRangeElementsBaseVertexOES, glDrawRangeElementsBaseVertex, GLenum, mode, GLuint, start, GLuint, end, GLsizei, count, GLenum, type, const void *, indices, GLint, basevertex); \ FuncWrapper5(void, glDrawArraysInstancedBaseInstance, GLenum, mode, GLint, first, GLsizei, count, GLsizei, instancecount, GLuint, baseinstance); \ AliasWrapper5(void, glDrawArraysInstancedBaseInstanceEXT, glDrawArraysInstancedBaseInstance, GLenum, mode, GLint, first, GLsizei, count, GLsizei, instancecount, GLuint, baseinstance); \ FuncWrapper4(void, glDrawArraysInstanced, GLenum, mode, GLint, first, GLsizei, count, GLsizei, instancecount); \ AliasWrapper4(void, glDrawArraysInstancedARB, glDrawArraysInstanced, GLenum, mode, GLint, first, GLsizei, count, GLsizei, instancecount); \ AliasWrapper4(void, glDrawArraysInstancedEXT, glDrawArraysInstanced, GLenum, mode, GLint, first, GLsizei, count, GLsizei, instancecount); \ FuncWrapper5(void, glDrawElementsInstanced, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount); \ AliasWrapper5(void, glDrawElementsInstancedARB, glDrawElementsInstanced, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount); \ AliasWrapper5(void, glDrawElementsInstancedEXT, glDrawElementsInstanced, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount); \ FuncWrapper6(void, glDrawElementsInstancedBaseInstance, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLuint, baseinstance); \ AliasWrapper6(void, glDrawElementsInstancedBaseInstanceEXT, glDrawElementsInstancedBaseInstance, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLuint, baseinstance); \ FuncWrapper5(void, glDrawElementsBaseVertex, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLint, basevertex); \ AliasWrapper5(void, glDrawElementsBaseVertexEXT, glDrawElementsBaseVertex, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLint, basevertex); \ AliasWrapper5(void, glDrawElementsBaseVertexOES, glDrawElementsBaseVertex, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLint, basevertex); \ FuncWrapper6(void, glDrawElementsInstancedBaseVertex, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLint, basevertex); \ AliasWrapper6(void, glDrawElementsInstancedBaseVertexEXT, glDrawElementsInstancedBaseVertex, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLint, basevertex); \ AliasWrapper6(void, glDrawElementsInstancedBaseVertexOES, glDrawElementsInstancedBaseVertex, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLint, basevertex); \ FuncWrapper7(void, glDrawElementsInstancedBaseVertexBaseInstance, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLint, basevertex, GLuint, baseinstance); \ AliasWrapper7(void, glDrawElementsInstancedBaseVertexBaseInstanceEXT, glDrawElementsInstancedBaseVertexBaseInstance, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, instancecount, GLint, basevertex, GLuint, baseinstance); \ FuncWrapper4(void, glMultiDrawArrays, GLenum, mode, const GLint *, first, const GLsizei *, count, GLsizei, drawcount); \ AliasWrapper4(void, glMultiDrawArraysEXT, glMultiDrawArrays, GLenum, mode, const GLint *, first, const GLsizei *, count, GLsizei, drawcount); \ FuncWrapper5(void, glMultiDrawElements, GLenum, mode, const GLsizei *, count, GLenum, type, const void *const*, indices, GLsizei, drawcount); \ FuncWrapper6(void, glMultiDrawElementsBaseVertex, GLenum, mode, const GLsizei *, count, GLenum, type, const void *const*, indices, GLsizei, drawcount, const GLint *, basevertex); \ AliasWrapper6(void, glMultiDrawElementsBaseVertexEXT, glMultiDrawElementsBaseVertex, GLenum, mode, const GLsizei *, count, GLenum, type, const void *const*, indices, GLsizei, drawcount, const GLint *, basevertex); \ AliasWrapper6(void, glMultiDrawElementsBaseVertexOES, glMultiDrawElementsBaseVertex, GLenum, mode, const GLsizei *, count, GLenum, type, const void *const*, indices, GLsizei, drawcount, const GLint *, basevertex); \ FuncWrapper4(void, glMultiDrawArraysIndirect, GLenum, mode, const void *, indirect, GLsizei, drawcount, GLsizei, stride); \ FuncWrapper5(void, glMultiDrawElementsIndirect, GLenum, mode, GLenum, type, const void *, indirect, GLsizei, drawcount, GLsizei, stride); \ FuncWrapper2(void, glDrawArraysIndirect, GLenum, mode, const void *, indirect); \ FuncWrapper3(void, glDrawElementsIndirect, GLenum, mode, GLenum, type, const void *, indirect); \ FuncWrapper10(void, glBlitFramebuffer, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ AliasWrapper10(void, glBlitFramebufferEXT, glBlitFramebuffer, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ FuncWrapper8(void, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ AliasWrapper8(void, glPrimitiveBoundingBoxARB, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ AliasWrapper8(void, glPrimitiveBoundingBoxEXT, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ AliasWrapper8(void, glPrimitiveBoundingBoxOES, glPrimitiveBoundingBox, GLfloat, minX, GLfloat, minY, GLfloat, minZ, GLfloat, minW, GLfloat, maxX, GLfloat, maxY, GLfloat, maxZ, GLfloat, maxW); \ FuncWrapper0(void, glBlendBarrier); \ FuncWrapper6(void, glFramebufferTexture2DMultisampleEXT, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLsizei, samples); \ FuncWrapper5(void, glRenderbufferStorageMultisampleEXT, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper3(void, glDiscardFramebufferEXT, GLenum, target, GLsizei, numAttachments, const GLenum *, attachments); \ FuncWrapper3(void, glDepthRangeArrayfvOES, GLuint, first, GLsizei, count, const GLfloat *, v); \ AliasWrapper3(void, glDepthRangeArrayfvNV, glDepthRangeArrayfvOES, GLuint, first, GLsizei, count, const GLfloat *, v); \ FuncWrapper3(void, glDepthRangeIndexedfOES, GLuint, index, GLfloat, n, GLfloat, f); \ AliasWrapper3(void, glDepthRangeIndexedfNV, glDepthRangeIndexedfOES, GLuint, index, GLfloat, n, GLfloat, f); \ FuncWrapper5(void, glNamedStringARB, GLenum, type, GLint, namelen, const GLchar *, name, GLint, stringlen, const GLchar *, string); \ FuncWrapper2(void, glDeleteNamedStringARB, GLint, namelen, const GLchar *, name); \ FuncWrapper4(void, glCompileShaderIncludeARB, GLuint, shader, GLsizei, count, const GLchar *const*, path, const GLint *, length); \ FuncWrapper2(GLboolean, glIsNamedStringARB, GLint, namelen, const GLchar *, name); \ FuncWrapper5(void, glGetNamedStringARB, GLint, namelen, const GLchar *, name, GLsizei, bufSize, GLint *, stringlen, GLchar *, string); \ FuncWrapper4(void, glGetNamedStringivARB, GLint, namelen, const GLchar *, name, GLenum, pname, GLint *, params); \ FuncWrapper6(void, glDispatchComputeGroupSizeARB, GLuint, num_groups_x, GLuint, num_groups_y, GLuint, num_groups_z, GLuint, group_size_x, GLuint, group_size_y, GLuint, group_size_z); \ FuncWrapper5(void, glMultiDrawArraysIndirectCount, GLenum, mode, const void *, indirect, GLintptr, drawcount, GLsizei, maxdrawcount, GLsizei, stride); \ AliasWrapper5(void, glMultiDrawArraysIndirectCountARB, glMultiDrawArraysIndirectCount, GLenum, mode, const void *, indirect, GLintptr, drawcount, GLsizei, maxdrawcount, GLsizei, stride); \ FuncWrapper6(void, glMultiDrawElementsIndirectCount, GLenum, mode, GLenum, type, const void *, indirect, GLintptr, drawcount, GLsizei, maxdrawcount, GLsizei, stride); \ AliasWrapper6(void, glMultiDrawElementsIndirectCountARB, glMultiDrawElementsIndirectCount, GLenum, mode, GLenum, type, const void *, indirect, GLintptr, drawcount, GLsizei, maxdrawcount, GLsizei, stride); \ FuncWrapper2(void, glRasterSamplesEXT, GLuint, samples, GLboolean, fixedsamplelocations); \ FuncWrapper2(void, glDepthBoundsEXT, GLclampd, zmin, GLclampd, zmax); \ FuncWrapper3(void, glPolygonOffsetClamp, GLfloat, factor, GLfloat, units, GLfloat, clamp); \ AliasWrapper3(void, glPolygonOffsetClampEXT, glPolygonOffsetClamp, GLfloat, factor, GLfloat, units, GLfloat, clamp); \ FuncWrapper2(void, glInsertEventMarkerEXT, GLsizei, length, const GLchar *, marker); \ FuncWrapper2(void, glPushGroupMarkerEXT, GLsizei, length, const GLchar *, marker); \ FuncWrapper0(void, glPopGroupMarkerEXT); \ FuncWrapper0(void, glFrameTerminatorGREMEDY); \ FuncWrapper2(void, glStringMarkerGREMEDY, GLsizei, len, const void *, string); \ FuncWrapper6(void, glFramebufferTextureMultiviewOVR, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLint, baseViewIndex, GLsizei, numViews); \ FuncWrapper7(void, glFramebufferTextureMultisampleMultiviewOVR, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLsizei, samples, GLint, baseViewIndex, GLsizei, numViews); \ FuncWrapper8(void, glTextureFoveationParametersQCOM, GLuint, texture, GLuint, layer, GLuint, focalPoint, GLfloat, focalX, GLfloat, focalY, GLfloat, gainX, GLfloat, gainY, GLfloat, foveaArea); \ FuncWrapper1(void, glMaxShaderCompilerThreadsKHR, GLuint, count); \ AliasWrapper1(void, glMaxShaderCompilerThreadsARB, glMaxShaderCompilerThreadsKHR, GLuint, count); \ FuncWrapper5(void, glSpecializeShader, GLuint, shader, const GLchar *, pEntryPoint, GLuint, numSpecializationConstants, const GLuint *, pConstantIndex, const GLuint *, pConstantValue); \ AliasWrapper5(void, glSpecializeShaderARB, glSpecializeShader, GLuint, shader, const GLchar *, pEntryPoint, GLuint, numSpecializationConstants, const GLuint *, pConstantIndex, const GLuint *, pConstantValue); \ FuncWrapper2(void, glGetUnsignedBytevEXT, GLenum, pname, GLubyte *, data); \ FuncWrapper3(void, glGetUnsignedBytei_vEXT, GLenum, target, GLuint, index, GLubyte *, data); \ FuncWrapper2(void, glDeleteMemoryObjectsEXT, GLsizei, n, const GLuint *, memoryObjects); \ FuncWrapper1(GLboolean, glIsMemoryObjectEXT, GLuint, memoryObject); \ FuncWrapper2(void, glCreateMemoryObjectsEXT, GLsizei, n, GLuint *, memoryObjects); \ FuncWrapper3(void, glMemoryObjectParameterivEXT, GLuint, memoryObject, GLenum, pname, const GLint *, params); \ FuncWrapper3(void, glGetMemoryObjectParameterivEXT, GLuint, memoryObject, GLenum, pname, GLint *, params); \ FuncWrapper7(void, glTexStorageMem2DEXT, GLenum, target, GLsizei, levels, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLuint, memory, GLuint64, offset); \ FuncWrapper8(void, glTexStorageMem2DMultisampleEXT, GLenum, target, GLsizei, samples, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLboolean, fixedSampleLocations, GLuint, memory, GLuint64, offset); \ FuncWrapper8(void, glTexStorageMem3DEXT, GLenum, target, GLsizei, levels, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLuint, memory, GLuint64, offset); \ FuncWrapper9(void, glTexStorageMem3DMultisampleEXT, GLenum, target, GLsizei, samples, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedSampleLocations, GLuint, memory, GLuint64, offset); \ FuncWrapper4(void, glBufferStorageMemEXT, GLenum, target, GLsizeiptr, size, GLuint, memory, GLuint64, offset); \ FuncWrapper7(void, glTextureStorageMem2DEXT, GLuint, texture, GLsizei, levels, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLuint, memory, GLuint64, offset); \ FuncWrapper8(void, glTextureStorageMem2DMultisampleEXT, GLuint, texture, GLsizei, samples, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLboolean, fixedSampleLocations, GLuint, memory, GLuint64, offset); \ FuncWrapper8(void, glTextureStorageMem3DEXT, GLuint, texture, GLsizei, levels, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLuint, memory, GLuint64, offset); \ FuncWrapper9(void, glTextureStorageMem3DMultisampleEXT, GLuint, texture, GLsizei, samples, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedSampleLocations, GLuint, memory, GLuint64, offset); \ FuncWrapper4(void, glNamedBufferStorageMemEXT, GLuint, buffer, GLsizeiptr, size, GLuint, memory, GLuint64, offset); \ FuncWrapper6(void, glTexStorageMem1DEXT, GLenum, target, GLsizei, levels, GLenum, internalFormat, GLsizei, width, GLuint, memory, GLuint64, offset); \ FuncWrapper6(void, glTextureStorageMem1DEXT, GLuint, texture, GLsizei, levels, GLenum, internalFormat, GLsizei, width, GLuint, memory, GLuint64, offset); \ FuncWrapper2(void, glGenSemaphoresEXT, GLsizei, n, GLuint *, semaphores); \ FuncWrapper2(void, glDeleteSemaphoresEXT, GLsizei, n, const GLuint *, semaphores); \ FuncWrapper1(GLboolean, glIsSemaphoreEXT, GLuint, semaphore); \ FuncWrapper3(void, glSemaphoreParameterui64vEXT, GLuint, semaphore, GLenum, pname, const GLuint64 *, params); \ FuncWrapper3(void, glGetSemaphoreParameterui64vEXT, GLuint, semaphore, GLenum, pname, GLuint64 *, params); \ FuncWrapper6(void, glWaitSemaphoreEXT, GLuint, semaphore, GLuint, numBufferBarriers, const GLuint *, buffers, GLuint, numTextureBarriers, const GLuint *, textures, const GLenum *, srcLayouts); \ FuncWrapper6(void, glSignalSemaphoreEXT, GLuint, semaphore, GLuint, numBufferBarriers, const GLuint *, buffers, GLuint, numTextureBarriers, const GLuint *, textures, const GLenum *, dstLayouts); \ FuncWrapper4(void, glImportMemoryFdEXT, GLuint, memory, GLuint64, size, GLenum, handleType, GLint, fd); \ FuncWrapper3(void, glImportSemaphoreFdEXT, GLuint, semaphore, GLenum, handleType, GLint, fd); \ FuncWrapper4(void, glImportMemoryWin32HandleEXT, GLuint, memory, GLuint64, size, GLenum, handleType, void *, handle); \ FuncWrapper4(void, glImportMemoryWin32NameEXT, GLuint, memory, GLuint64, size, GLenum, handleType, const void *, name); \ FuncWrapper3(void, glImportSemaphoreWin32HandleEXT, GLuint, semaphore, GLenum, handleType, void *, handle); \ FuncWrapper3(void, glImportSemaphoreWin32NameEXT, GLuint, semaphore, GLenum, handleType, const void *, name); \ FuncWrapper3(GLboolean, glAcquireKeyedMutexWin32EXT, GLuint, memory, GLuint64, key, GLuint, timeout); \ FuncWrapper2(GLboolean, glReleaseKeyedMutexWin32EXT, GLuint, memory, GLuint64, key); \ FuncWrapper8(void, glCompressedTextureImage1DEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLint, border, GLsizei, imageSize, const void *, bits); \ FuncWrapper9(void, glCompressedTextureImage2DEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLsizei, imageSize, const void *, bits); \ FuncWrapper10(void, glCompressedTextureImage3DEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLsizei, imageSize, const void *, bits); \ FuncWrapper8(void, glCompressedTextureSubImage1DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLsizei, imageSize, const void *, bits); \ FuncWrapper10(void, glCompressedTextureSubImage2DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLsizei, imageSize, const void *, bits); \ FuncWrapper12(void, glCompressedTextureSubImage3DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLsizei, imageSize, const void *, bits); \ FuncWrapper2(void, glGenerateTextureMipmapEXT, GLuint, texture, GLenum, target); \ FuncWrapper3(void, glGetPointeri_vEXT, GLenum, pname, GLuint, index, void **, params); \ FuncWrapper3(void, glGetDoubleIndexedvEXT, GLenum, target, GLuint, index, GLdouble *, data); \ FuncWrapper3(void, glGetPointerIndexedvEXT, GLenum, target, GLuint, index, void **, data); \ FuncWrapper3(void, glGetIntegerIndexedvEXT, GLenum, target, GLuint, index, GLint *, data); \ FuncWrapper3(void, glGetBooleanIndexedvEXT, GLenum, target, GLuint, index, GLboolean *, data); \ FuncWrapper3(void, glGetFloatIndexedvEXT, GLenum, target, GLuint, index, GLfloat *, data); \ FuncWrapper6(void, glGetMultiTexImageEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, format, GLenum, type, void *, pixels); \ FuncWrapper4(void, glGetMultiTexParameterfvEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLfloat *, params); \ FuncWrapper4(void, glGetMultiTexParameterivEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetMultiTexParameterIivEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetMultiTexParameterIuivEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLuint *, params); \ FuncWrapper5(void, glGetMultiTexLevelParameterfvEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, pname, GLfloat *, params); \ FuncWrapper5(void, glGetMultiTexLevelParameterivEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetCompressedMultiTexImageEXT, GLenum, texunit, GLenum, target, GLint, lod, void *, img); \ FuncWrapper3(void, glGetNamedBufferPointervEXT, GLuint, buffer, GLenum, pname, void **, params); \ AliasWrapper3(void, glGetNamedBufferPointerv, glGetNamedBufferPointervEXT, GLuint, buffer, GLenum, pname, void **, params); \ FuncWrapper4(void, glGetNamedProgramivEXT, GLuint, program, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetNamedFramebufferAttachmentParameterivEXT, GLuint, framebuffer, GLenum, attachment, GLenum, pname, GLint *, params); \ AliasWrapper4(void, glGetNamedFramebufferAttachmentParameteriv, glGetNamedFramebufferAttachmentParameterivEXT, GLuint, framebuffer, GLenum, attachment, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetNamedBufferParameterivEXT, GLuint, buffer, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetNamedBufferParameteriv, glGetNamedBufferParameterivEXT, GLuint, buffer, GLenum, pname, GLint *, params); \ FuncWrapper2(GLenum, glCheckNamedFramebufferStatusEXT, GLuint, framebuffer, GLenum, target); \ AliasWrapper2(GLenum, glCheckNamedFramebufferStatus, glCheckNamedFramebufferStatusEXT, GLuint, framebuffer, GLenum, target); \ FuncWrapper4(void, glGetNamedBufferSubDataEXT, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, void *, data); \ FuncWrapper3(void, glGetNamedFramebufferParameterivEXT, GLuint, framebuffer, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetFramebufferParameterivEXT, glGetNamedFramebufferParameterivEXT, GLuint, framebuffer, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetNamedFramebufferParameteriv, glGetNamedFramebufferParameterivEXT, GLuint, framebuffer, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetNamedRenderbufferParameterivEXT, GLuint, renderbuffer, GLenum, pname, GLint *, params); \ AliasWrapper3(void, glGetNamedRenderbufferParameteriv, glGetNamedRenderbufferParameterivEXT, GLuint, renderbuffer, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetVertexArrayIntegervEXT, GLuint, vaobj, GLenum, pname, GLint *, param); \ FuncWrapper3(void, glGetVertexArrayPointervEXT, GLuint, vaobj, GLenum, pname, void **, param); \ FuncWrapper4(void, glGetVertexArrayIntegeri_vEXT, GLuint, vaobj, GLuint, index, GLenum, pname, GLint *, param); \ FuncWrapper4(void, glGetVertexArrayPointeri_vEXT, GLuint, vaobj, GLuint, index, GLenum, pname, void **, param); \ FuncWrapper4(void, glGetCompressedTextureImageEXT, GLuint, texture, GLenum, target, GLint, lod, void *, img); \ FuncWrapper6(void, glGetTextureImageEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, format, GLenum, type, void *, pixels); \ FuncWrapper4(void, glGetTextureParameterivEXT, GLuint, texture, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetTextureParameterfvEXT, GLuint, texture, GLenum, target, GLenum, pname, GLfloat *, params); \ FuncWrapper4(void, glGetTextureParameterIivEXT, GLuint, texture, GLenum, target, GLenum, pname, GLint *, params); \ FuncWrapper4(void, glGetTextureParameterIuivEXT, GLuint, texture, GLenum, target, GLenum, pname, GLuint *, params); \ FuncWrapper5(void, glGetTextureLevelParameterivEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, pname, GLint *, params); \ FuncWrapper5(void, glGetTextureLevelParameterfvEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, pname, GLfloat *, params); \ FuncWrapper3(void, glBindMultiTextureEXT, GLenum, texunit, GLenum, target, GLuint, texture); \ FuncWrapper2(void *, glMapNamedBufferEXT, GLuint, buffer, GLenum, access); \ AliasWrapper2(void *, glMapNamedBuffer, glMapNamedBufferEXT, GLuint, buffer, GLenum, access); \ FuncWrapper4(void *, glMapNamedBufferRangeEXT, GLuint, buffer, GLintptr, offset, GLsizeiptr, length, GLbitfield, access); \ FuncWrapper3(void, glFlushMappedNamedBufferRangeEXT, GLuint, buffer, GLintptr, offset, GLsizeiptr, length); \ FuncWrapper1(GLboolean, glUnmapNamedBufferEXT, GLuint, buffer); \ AliasWrapper1(GLboolean, glUnmapNamedBuffer, glUnmapNamedBufferEXT, GLuint, buffer); \ FuncWrapper5(void, glClearNamedBufferDataEXT, GLuint, buffer, GLenum, internalformat, GLenum, format, GLenum, type, const void *, data); \ AliasWrapper5(void, glClearNamedBufferData, glClearNamedBufferDataEXT, GLuint, buffer, GLenum, internalformat, GLenum, format, GLenum, type, const void *, data); \ FuncWrapper7(void, glClearNamedBufferSubDataEXT, GLuint, buffer, GLenum, internalformat, GLsizeiptr, offset, GLsizeiptr, size, GLenum, format, GLenum, type, const void *, data); \ FuncWrapper4(void, glNamedBufferDataEXT, GLuint, buffer, GLsizeiptr, size, const void *, data, GLenum, usage); \ FuncWrapper4(void, glNamedBufferStorageEXT, GLuint, buffer, GLsizeiptr, size, const void *, data, GLbitfield, flags); \ FuncWrapper4(void, glNamedBufferSubDataEXT, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, const void *, data); \ FuncWrapper5(void, glNamedCopyBufferSubDataEXT, GLuint, readBuffer, GLuint, writeBuffer, GLintptr, readOffset, GLintptr, writeOffset, GLsizeiptr, size); \ FuncWrapper4(void, glNamedFramebufferTextureEXT, GLuint, framebuffer, GLenum, attachment, GLuint, texture, GLint, level); \ AliasWrapper4(void, glNamedFramebufferTexture, glNamedFramebufferTextureEXT, GLuint, framebuffer, GLenum, attachment, GLuint, texture, GLint, level); \ FuncWrapper5(void, glNamedFramebufferTexture1DEXT, GLuint, framebuffer, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level); \ FuncWrapper5(void, glNamedFramebufferTexture2DEXT, GLuint, framebuffer, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level); \ FuncWrapper6(void, glNamedFramebufferTexture3DEXT, GLuint, framebuffer, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLint, zoffset); \ FuncWrapper4(void, glNamedFramebufferRenderbufferEXT, GLuint, framebuffer, GLenum, attachment, GLenum, renderbuffertarget, GLuint, renderbuffer); \ AliasWrapper4(void, glNamedFramebufferRenderbuffer, glNamedFramebufferRenderbufferEXT, GLuint, framebuffer, GLenum, attachment, GLenum, renderbuffertarget, GLuint, renderbuffer); \ FuncWrapper5(void, glNamedFramebufferTextureLayerEXT, GLuint, framebuffer, GLenum, attachment, GLuint, texture, GLint, level, GLint, layer); \ AliasWrapper5(void, glNamedFramebufferTextureLayer, glNamedFramebufferTextureLayerEXT, GLuint, framebuffer, GLenum, attachment, GLuint, texture, GLint, level, GLint, layer); \ FuncWrapper3(void, glNamedFramebufferParameteriEXT, GLuint, framebuffer, GLenum, pname, GLint, param); \ AliasWrapper3(void, glNamedFramebufferParameteri, glNamedFramebufferParameteriEXT, GLuint, framebuffer, GLenum, pname, GLint, param); \ FuncWrapper4(void, glNamedRenderbufferStorageEXT, GLuint, renderbuffer, GLenum, internalformat, GLsizei, width, GLsizei, height); \ AliasWrapper4(void, glNamedRenderbufferStorage, glNamedRenderbufferStorageEXT, GLuint, renderbuffer, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper5(void, glNamedRenderbufferStorageMultisampleEXT, GLuint, renderbuffer, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ AliasWrapper5(void, glNamedRenderbufferStorageMultisample, glNamedRenderbufferStorageMultisampleEXT, GLuint, renderbuffer, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper2(void, glFramebufferDrawBufferEXT, GLuint, framebuffer, GLenum, mode); \ AliasWrapper2(void, glNamedFramebufferDrawBuffer, glFramebufferDrawBufferEXT, GLuint, framebuffer, GLenum, mode); \ FuncWrapper3(void, glFramebufferDrawBuffersEXT, GLuint, framebuffer, GLsizei, n, const GLenum *, bufs); \ AliasWrapper3(void, glNamedFramebufferDrawBuffers, glFramebufferDrawBuffersEXT, GLuint, framebuffer, GLsizei, n, const GLenum *, bufs); \ FuncWrapper2(void, glFramebufferReadBufferEXT, GLuint, framebuffer, GLenum, mode); \ AliasWrapper2(void, glNamedFramebufferReadBuffer, glFramebufferReadBufferEXT, GLuint, framebuffer, GLenum, mode); \ FuncWrapper4(void, glTextureBufferEXT, GLuint, texture, GLenum, target, GLenum, internalformat, GLuint, buffer); \ FuncWrapper6(void, glTextureBufferRangeEXT, GLuint, texture, GLenum, target, GLenum, internalformat, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ FuncWrapper9(void, glTextureImage1DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper10(void, glTextureImage2DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper11(void, glTextureImage3DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper4(void, glTextureParameterfEXT, GLuint, texture, GLenum, target, GLenum, pname, GLfloat, param); \ FuncWrapper4(void, glTextureParameterfvEXT, GLuint, texture, GLenum, target, GLenum, pname, const GLfloat *, params); \ FuncWrapper4(void, glTextureParameteriEXT, GLuint, texture, GLenum, target, GLenum, pname, GLint, param); \ FuncWrapper4(void, glTextureParameterivEXT, GLuint, texture, GLenum, target, GLenum, pname, const GLint *, params); \ FuncWrapper4(void, glTextureParameterIivEXT, GLuint, texture, GLenum, target, GLenum, pname, const GLint *, params); \ FuncWrapper4(void, glTextureParameterIuivEXT, GLuint, texture, GLenum, target, GLenum, pname, const GLuint *, params); \ FuncWrapper5(void, glTextureStorage1DEXT, GLuint, texture, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width); \ FuncWrapper6(void, glTextureStorage2DEXT, GLuint, texture, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper7(void, glTextureStorage3DEXT, GLuint, texture, GLenum, target, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth); \ FuncWrapper7(void, glTextureStorage2DMultisampleEXT, GLuint, texture, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLboolean, fixedsamplelocations); \ FuncWrapper8(void, glTextureStorage3DMultisampleEXT, GLuint, texture, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedsamplelocations); \ FuncWrapper8(void, glTextureSubImage1DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper10(void, glTextureSubImage2DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper12(void, glTextureSubImage3DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper8(void, glCopyTextureImage1DEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLint, border); \ FuncWrapper9(void, glCopyTextureImage2DEXT, GLuint, texture, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLint, border); \ FuncWrapper7(void, glCopyTextureSubImage1DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLint, x, GLint, y, GLsizei, width); \ FuncWrapper9(void, glCopyTextureSubImage2DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper10(void, glCopyTextureSubImage3DEXT, GLuint, texture, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper4(void, glMultiTexParameteriEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLint, param); \ FuncWrapper4(void, glMultiTexParameterivEXT, GLenum, texunit, GLenum, target, GLenum, pname, const GLint *, params); \ FuncWrapper4(void, glMultiTexParameterfEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLfloat, param); \ FuncWrapper4(void, glMultiTexParameterfvEXT, GLenum, texunit, GLenum, target, GLenum, pname, const GLfloat *, params); \ FuncWrapper9(void, glMultiTexImage1DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper10(void, glMultiTexImage2DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper8(void, glMultiTexSubImage1DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper10(void, glMultiTexSubImage2DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper8(void, glCopyMultiTexImage1DEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLint, border); \ FuncWrapper9(void, glCopyMultiTexImage2DEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLint, border); \ FuncWrapper7(void, glCopyMultiTexSubImage1DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLint, x, GLint, y, GLsizei, width); \ FuncWrapper9(void, glCopyMultiTexSubImage2DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper11(void, glMultiTexImage3DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper12(void, glMultiTexSubImage3DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper10(void, glCopyMultiTexSubImage3DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper10(void, glCompressedMultiTexImage3DEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLint, border, GLsizei, imageSize, const void *, bits); \ FuncWrapper9(void, glCompressedMultiTexImage2DEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLsizei, imageSize, const void *, bits); \ FuncWrapper8(void, glCompressedMultiTexImage1DEXT, GLenum, texunit, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLint, border, GLsizei, imageSize, const void *, bits); \ FuncWrapper12(void, glCompressedMultiTexSubImage3DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLsizei, imageSize, const void *, bits); \ FuncWrapper10(void, glCompressedMultiTexSubImage2DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLsizei, imageSize, const void *, bits); \ FuncWrapper8(void, glCompressedMultiTexSubImage1DEXT, GLenum, texunit, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLsizei, imageSize, const void *, bits); \ FuncWrapper4(void, glMultiTexBufferEXT, GLenum, texunit, GLenum, target, GLenum, internalformat, GLuint, buffer); \ FuncWrapper4(void, glMultiTexParameterIivEXT, GLenum, texunit, GLenum, target, GLenum, pname, const GLint *, params); \ FuncWrapper4(void, glMultiTexParameterIuivEXT, GLenum, texunit, GLenum, target, GLenum, pname, const GLuint *, params); \ FuncWrapper2(void, glGenerateMultiTexMipmapEXT, GLenum, texunit, GLenum, target); \ FuncWrapper8(void, glVertexArrayVertexAttribOffsetEXT, GLuint, vaobj, GLuint, buffer, GLuint, index, GLint, size, GLenum, type, GLboolean, normalized, GLsizei, stride, GLintptr, offset); \ FuncWrapper7(void, glVertexArrayVertexAttribIOffsetEXT, GLuint, vaobj, GLuint, buffer, GLuint, index, GLint, size, GLenum, type, GLsizei, stride, GLintptr, offset); \ FuncWrapper2(void, glEnableVertexArrayAttribEXT, GLuint, vaobj, GLuint, index); \ AliasWrapper2(void, glEnableVertexArrayAttrib, glEnableVertexArrayAttribEXT, GLuint, vaobj, GLuint, index); \ FuncWrapper2(void, glDisableVertexArrayAttribEXT, GLuint, vaobj, GLuint, index); \ AliasWrapper2(void, glDisableVertexArrayAttrib, glDisableVertexArrayAttribEXT, GLuint, vaobj, GLuint, index); \ FuncWrapper5(void, glVertexArrayBindVertexBufferEXT, GLuint, vaobj, GLuint, bindingindex, GLuint, buffer, GLintptr, offset, GLsizei, stride); \ AliasWrapper5(void, glVertexArrayVertexBuffer, glVertexArrayBindVertexBufferEXT, GLuint, vaobj, GLuint, bindingindex, GLuint, buffer, GLintptr, offset, GLsizei, stride); \ FuncWrapper6(void, glVertexArrayVertexAttribFormatEXT, GLuint, vaobj, GLuint, attribindex, GLint, size, GLenum, type, GLboolean, normalized, GLuint, relativeoffset); \ AliasWrapper6(void, glVertexArrayAttribFormat, glVertexArrayVertexAttribFormatEXT, GLuint, vaobj, GLuint, attribindex, GLint, size, GLenum, type, GLboolean, normalized, GLuint, relativeoffset); \ FuncWrapper5(void, glVertexArrayVertexAttribIFormatEXT, GLuint, vaobj, GLuint, attribindex, GLint, size, GLenum, type, GLuint, relativeoffset); \ AliasWrapper5(void, glVertexArrayAttribIFormat, glVertexArrayVertexAttribIFormatEXT, GLuint, vaobj, GLuint, attribindex, GLint, size, GLenum, type, GLuint, relativeoffset); \ FuncWrapper5(void, glVertexArrayVertexAttribLFormatEXT, GLuint, vaobj, GLuint, attribindex, GLint, size, GLenum, type, GLuint, relativeoffset); \ AliasWrapper5(void, glVertexArrayAttribLFormat, glVertexArrayVertexAttribLFormatEXT, GLuint, vaobj, GLuint, attribindex, GLint, size, GLenum, type, GLuint, relativeoffset); \ FuncWrapper3(void, glVertexArrayVertexAttribBindingEXT, GLuint, vaobj, GLuint, attribindex, GLuint, bindingindex); \ AliasWrapper3(void, glVertexArrayAttribBinding, glVertexArrayVertexAttribBindingEXT, GLuint, vaobj, GLuint, attribindex, GLuint, bindingindex); \ FuncWrapper3(void, glVertexArrayVertexBindingDivisorEXT, GLuint, vaobj, GLuint, bindingindex, GLuint, divisor); \ AliasWrapper3(void, glVertexArrayBindingDivisor, glVertexArrayVertexBindingDivisorEXT, GLuint, vaobj, GLuint, bindingindex, GLuint, divisor); \ FuncWrapper7(void, glVertexArrayVertexAttribLOffsetEXT, GLuint, vaobj, GLuint, buffer, GLuint, index, GLint, size, GLenum, type, GLsizei, stride, GLintptr, offset); \ FuncWrapper3(void, glVertexArrayVertexAttribDivisorEXT, GLuint, vaobj, GLuint, index, GLuint, divisor); \ FuncWrapper2(void, glCreateTransformFeedbacks, GLsizei, n, GLuint *, ids); \ FuncWrapper3(void, glTransformFeedbackBufferBase, GLuint, xfb, GLuint, index, GLuint, buffer); \ FuncWrapper5(void, glTransformFeedbackBufferRange, GLuint, xfb, GLuint, index, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ FuncWrapper4(void, glGetTransformFeedbacki64_v, GLuint, xfb, GLenum, pname, GLuint, index, GLint64 *, param); \ FuncWrapper4(void, glGetTransformFeedbacki_v, GLuint, xfb, GLenum, pname, GLuint, index, GLint *, param); \ FuncWrapper3(void, glGetTransformFeedbackiv, GLuint, xfb, GLenum, pname, GLint *, param); \ FuncWrapper2(void, glCreateBuffers, GLsizei, n, GLuint *, buffers); \ FuncWrapper4(void, glGetNamedBufferSubData, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, void *, data); \ FuncWrapper4(void, glNamedBufferStorage, GLuint, buffer, GLsizeiptr, size, const void *, data, GLbitfield, flags); \ FuncWrapper4(void, glNamedBufferData, GLuint, buffer, GLsizeiptr, size, const void *, data, GLenum, usage); \ FuncWrapper4(void, glNamedBufferSubData, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, const void *, data); \ FuncWrapper5(void, glCopyNamedBufferSubData, GLuint, readBuffer, GLuint, writeBuffer, GLintptr, readOffset, GLintptr, writeOffset, GLsizeiptr, size); \ FuncWrapper7(void, glClearNamedBufferSubData, GLuint, buffer, GLenum, internalformat, GLintptr, offset, GLsizeiptr, size, GLenum, format, GLenum, type, const void *, data); \ FuncWrapper4(void *, glMapNamedBufferRange, GLuint, buffer, GLintptr, offset, GLsizeiptr, length, GLbitfield, access); \ FuncWrapper3(void, glFlushMappedNamedBufferRange, GLuint, buffer, GLintptr, offset, GLsizeiptr, length); \ FuncWrapper3(void, glGetNamedBufferParameteri64v, GLuint, buffer, GLenum, pname, GLint64 *, params); \ FuncWrapper2(void, glCreateFramebuffers, GLsizei, n, GLuint *, framebuffers); \ FuncWrapper3(void, glInvalidateNamedFramebufferData, GLuint, framebuffer, GLsizei, numAttachments, const GLenum *, attachments); \ FuncWrapper7(void, glInvalidateNamedFramebufferSubData, GLuint, framebuffer, GLsizei, numAttachments, const GLenum *, attachments, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper4(void, glClearNamedFramebufferiv, GLuint, framebuffer, GLenum, buffer, GLint, drawbuffer, const GLint *, value); \ FuncWrapper4(void, glClearNamedFramebufferuiv, GLuint, framebuffer, GLenum, buffer, GLint, drawbuffer, const GLuint *, value); \ FuncWrapper4(void, glClearNamedFramebufferfv, GLuint, framebuffer, GLenum, buffer, GLint, drawbuffer, const GLfloat *, value); \ FuncWrapper5(void, glClearNamedFramebufferfi, GLuint, framebuffer, GLenum, buffer, GLint, drawbuffer, GLfloat, depth, GLint, stencil); \ FuncWrapper12(void, glBlitNamedFramebuffer, GLuint, readFramebuffer, GLuint, drawFramebuffer, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ FuncWrapper2(void, glCreateRenderbuffers, GLsizei, n, GLuint *, renderbuffers); \ FuncWrapper3(void, glCreateTextures, GLenum, target, GLsizei, n, GLuint *, textures); \ FuncWrapper3(void, glTextureBuffer, GLuint, texture, GLenum, internalformat, GLuint, buffer); \ FuncWrapper5(void, glTextureBufferRange, GLuint, texture, GLenum, internalformat, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ FuncWrapper4(void, glTextureStorage1D, GLuint, texture, GLsizei, levels, GLenum, internalformat, GLsizei, width); \ FuncWrapper5(void, glTextureStorage2D, GLuint, texture, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height); \ FuncWrapper6(void, glTextureStorage3D, GLuint, texture, GLsizei, levels, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth); \ FuncWrapper6(void, glTextureStorage2DMultisample, GLuint, texture, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLboolean, fixedsamplelocations); \ FuncWrapper7(void, glTextureStorage3DMultisample, GLuint, texture, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedsamplelocations); \ FuncWrapper7(void, glTextureSubImage1D, GLuint, texture, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper9(void, glTextureSubImage2D, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper11(void, glTextureSubImage3D, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, pixels); \ FuncWrapper7(void, glCompressedTextureSubImage1D, GLuint, texture, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLsizei, imageSize, const void *, data); \ FuncWrapper9(void, glCompressedTextureSubImage2D, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLsizei, imageSize, const void *, data); \ FuncWrapper11(void, glCompressedTextureSubImage3D, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLsizei, imageSize, const void *, data); \ FuncWrapper6(void, glCopyTextureSubImage1D, GLuint, texture, GLint, level, GLint, xoffset, GLint, x, GLint, y, GLsizei, width); \ FuncWrapper8(void, glCopyTextureSubImage2D, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper9(void, glCopyTextureSubImage3D, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ FuncWrapper3(void, glTextureParameterf, GLuint, texture, GLenum, pname, GLfloat, param); \ FuncWrapper3(void, glTextureParameterfv, GLuint, texture, GLenum, pname, const GLfloat *, param); \ FuncWrapper3(void, glTextureParameteri, GLuint, texture, GLenum, pname, GLint, param); \ FuncWrapper3(void, glTextureParameterIiv, GLuint, texture, GLenum, pname, const GLint *, params); \ FuncWrapper3(void, glTextureParameterIuiv, GLuint, texture, GLenum, pname, const GLuint *, params); \ FuncWrapper3(void, glTextureParameteriv, GLuint, texture, GLenum, pname, const GLint *, param); \ FuncWrapper1(void, glGenerateTextureMipmap, GLuint, texture); \ FuncWrapper2(void, glBindTextureUnit, GLuint, unit, GLuint, texture); \ FuncWrapper6(void, glGetTextureImage, GLuint, texture, GLint, level, GLenum, format, GLenum, type, GLsizei, bufSize, void *, pixels); \ FuncWrapper12(void, glGetTextureSubImage, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, GLsizei, bufSize, void *, pixels); \ FuncWrapper4(void, glGetCompressedTextureImage, GLuint, texture, GLint, level, GLsizei, bufSize, void *, pixels); \ FuncWrapper10(void, glGetCompressedTextureSubImage, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLsizei, bufSize, void *, pixels); \ FuncWrapper4(void, glGetTextureLevelParameterfv, GLuint, texture, GLint, level, GLenum, pname, GLfloat *, params); \ FuncWrapper4(void, glGetTextureLevelParameteriv, GLuint, texture, GLint, level, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetTextureParameterIiv, GLuint, texture, GLenum, pname, GLint *, params); \ FuncWrapper3(void, glGetTextureParameterIuiv, GLuint, texture, GLenum, pname, GLuint *, params); \ FuncWrapper3(void, glGetTextureParameterfv, GLuint, texture, GLenum, pname, GLfloat *, params); \ FuncWrapper3(void, glGetTextureParameteriv, GLuint, texture, GLenum, pname, GLint *, params); \ FuncWrapper2(void, glCreateVertexArrays, GLsizei, n, GLuint *, arrays); \ FuncWrapper2(void, glCreateSamplers, GLsizei, n, GLuint *, samplers); \ FuncWrapper2(void, glCreateProgramPipelines, GLsizei, n, GLuint *, pipelines); \ FuncWrapper3(void, glCreateQueries, GLenum, target, GLsizei, n, GLuint *, ids); \ FuncWrapper2(void, glVertexArrayElementBuffer, GLuint, vaobj, GLuint, buffer); \ FuncWrapper6(void, glVertexArrayVertexBuffers, GLuint, vaobj, GLuint, first, GLsizei, count, const GLuint *, buffers, const GLintptr *, offsets, const GLsizei *, strides); \ FuncWrapper3(void, glGetVertexArrayiv, GLuint, vaobj, GLenum, pname, GLint *, param); \ FuncWrapper4(void, glGetVertexArrayIndexed64iv, GLuint, vaobj, GLuint, index, GLenum, pname, GLint64 *, param); \ FuncWrapper4(void, glGetVertexArrayIndexediv, GLuint, vaobj, GLuint, index, GLenum, pname, GLint *, param); \ FuncWrapper4(void, glGetQueryBufferObjecti64v, GLuint, id, GLuint, buffer, GLenum, pname, GLintptr, offset); \ FuncWrapper4(void, glGetQueryBufferObjectiv, GLuint, id, GLuint, buffer, GLenum, pname, GLintptr, offset); \ FuncWrapper4(void, glGetQueryBufferObjectui64v, GLuint, id, GLuint, buffer, GLenum, pname, GLintptr, offset); \ FuncWrapper4(void, glGetQueryBufferObjectuiv, GLuint, id, GLuint, buffer, GLenum, pname, GLintptr, offset); \ FuncWrapper1(void, glBeginPerfQueryINTEL, GLuint, queryHandle); \ FuncWrapper2(void, glCreatePerfQueryINTEL, GLuint, queryId, GLuint *, queryHandle); \ FuncWrapper1(void, glDeletePerfQueryINTEL, GLuint, queryHandle); \ FuncWrapper1(void, glEndPerfQueryINTEL, GLuint, queryHandle); \ FuncWrapper1(void, glGetFirstPerfQueryIdINTEL, GLuint *, queryId); \ FuncWrapper2(void, glGetNextPerfQueryIdINTEL, GLuint, queryId, GLuint *, nextQueryId); \ FuncWrapper11(void, glGetPerfCounterInfoINTEL, GLuint, queryId, GLuint, counterId, GLuint, counterNameLength, GLchar *, counterName, GLuint, counterDescLength, GLchar *, counterDesc, GLuint *, counterOffset, GLuint *, counterDataSize, GLuint *, counterTypeEnum, GLuint *, counterDataTypeEnum, GLuint64 *, rawCounterMaxValue); \ FuncWrapper5(void, glGetPerfQueryDataINTEL, GLuint, queryHandle, GLuint, flags, GLsizei, dataSize, void *, data, GLuint *, bytesWritten); \ FuncWrapper2(void, glGetPerfQueryIdByNameINTEL, GLchar *, queryName, GLuint *, queryId); \ FuncWrapper7(void, glGetPerfQueryInfoINTEL, GLuint, queryId, GLuint, queryNameLength, GLchar *, queryName, GLuint *, dataSize, GLuint *, noCounters, GLuint *, noInstances, GLuint *, capsMask); \ FuncWrapper2(BOOL, wglDXSetResourceShareHandleNV, void *, dxObject, HANDLE, shareHandle); \ FuncWrapper1(HANDLE, wglDXOpenDeviceNV, void *, dxDevice); \ FuncWrapper1(BOOL, wglDXCloseDeviceNV, HANDLE, hDevice); \ FuncWrapper5(HANDLE, wglDXRegisterObjectNV, HANDLE, hDevice, void *, dxObject, GLuint, name, GLenum, type, GLenum, access); \ FuncWrapper2(BOOL, wglDXUnregisterObjectNV, HANDLE, hDevice, HANDLE, hObject); \ FuncWrapper2(BOOL, wglDXObjectAccessNV, HANDLE, hObject, GLenum, access); \ FuncWrapper3(BOOL, wglDXLockObjectsNV, HANDLE, hDevice, GLint, count, HANDLE *, hObjects); \ FuncWrapper3(BOOL, wglDXUnlockObjectsNV, HANDLE, hDevice, GLint, count, HANDLE *, hObjects); \ #define ForEachUnsupported0(FUNC) \ FUNC(glAccum); \ FUNC(glAccumxOES); \ FUNC(glActiveProgramEXT); \ FUNC(glActiveStencilFaceEXT); \ FUNC(glActiveVaryingNV); \ FUNC(glAlphaFragmentOp1ATI); \ FUNC(glAlphaFragmentOp2ATI); \ FUNC(glAlphaFragmentOp3ATI); \ FUNC(glAlphaFunc); \ FUNC(glAlphaFuncQCOM); \ FUNC(glAlphaFuncxOES); \ FUNC(glAlphaToCoverageDitherControlNV); \ FUNC(glApplyFramebufferAttachmentCMAAINTEL); \ FUNC(glApplyTextureEXT); \ FUNC(glAreProgramsResidentNV); \ FUNC(glAreTexturesResidentEXT); \ FUNC(glAreTexturesResident); \ FUNC(glArrayElementEXT); \ FUNC(glArrayElement); \ FUNC(glArrayObjectATI); \ FUNC(glAsyncMarkerSGIX); \ FUNC(glAttachObjectARB); \ FUNC(glBeginConditionalRenderNV); \ FUNC(glBeginConditionalRenderNVX); \ FUNC(glBeginFragmentShaderATI); \ FUNC(glBeginOcclusionQueryNV); \ FUNC(glBeginPerfMonitorAMD); \ FUNC(glBegin); \ FUNC(glBeginTransformFeedbackNV); \ FUNC(glBeginVertexShaderEXT); \ FUNC(glBeginVideoCaptureNV); \ FUNC(glBindAttribLocationARB); \ FUNC(glBindBufferBaseNV); \ FUNC(glBindBufferOffsetEXT); \ FUNC(glBindBufferOffsetNV); \ FUNC(glBindBufferRangeNV); \ FUNC(glBindFragDataLocationIndexedEXT); \ FUNC(glBindFragmentShaderATI); \ FUNC(glBindLightParameterEXT); \ FUNC(glBindMaterialParameterEXT); \ FUNC(glBindParameterEXT); \ FUNC(glBindProgramARB); \ FUNC(glBindProgramNV); \ FUNC(glBindTexGenParameterEXT); \ FUNC(glBindTextureEXT); \ FUNC(glBindTextureUnitParameterEXT); \ FUNC(glBindTransformFeedbackNV); \ FUNC(glBindVertexArrayAPPLE); \ FUNC(glBindVertexShaderEXT); \ FUNC(glBindVideoCaptureStreamBufferNV); \ FUNC(glBindVideoCaptureStreamTextureNV); \ FUNC(glBinormal3bEXT); \ FUNC(glBinormal3bvEXT); \ FUNC(glBinormal3dEXT); \ FUNC(glBinormal3dvEXT); \ FUNC(glBinormal3fEXT); \ FUNC(glBinormal3fvEXT); \ FUNC(glBinormal3iEXT); \ FUNC(glBinormal3ivEXT); \ FUNC(glBinormal3sEXT); \ FUNC(glBinormal3svEXT); \ FUNC(glBinormalPointerEXT); \ FUNC(glBitmap); \ FUNC(glBitmapxOES); \ FUNC(glBlendBarrierNV); \ FUNC(glBlendColorxOES); \ FUNC(glBlendEquationIndexedAMD); \ FUNC(glBlendEquationSeparateIndexedAMD); \ FUNC(glBlendFuncIndexedAMD); \ FUNC(glBlendFuncSeparateEXT); \ FUNC(glBlendFuncSeparateIndexedAMD); \ FUNC(glBlendFuncSeparateINGR); \ FUNC(glBlendParameteriNV); \ FUNC(glBlitFramebufferANGLE); \ FUNC(glBlitFramebufferNV); \ FUNC(glBufferAddressRangeNV); \ FUNC(glBufferPageCommitmentARB); \ FUNC(glBufferParameteriAPPLE); \ FUNC(glBufferStorageExternalEXT); \ FUNC(glCallCommandListNV); \ FUNC(glCallList); \ FUNC(glCallLists); \ FUNC(glClearAccum); \ FUNC(glClearAccumxOES); \ FUNC(glClearColorIiEXT); \ FUNC(glClearColorIuiEXT); \ FUNC(glClearColorxOES); \ FUNC(glClearDepthdNV); \ FUNC(glClearDepthfOES); \ FUNC(glClearDepthxOES); \ FUNC(glClearIndex); \ FUNC(glClearPixelLocalStorageuiEXT); \ FUNC(glClearTexImageEXT); \ FUNC(glClearTexSubImageEXT); \ FUNC(glClientActiveTextureARB); \ FUNC(glClientActiveTexture); \ FUNC(glClientActiveVertexStreamATI); \ FUNC(glClientAttribDefaultEXT); \ FUNC(glClientWaitSyncAPPLE); \ FUNC(glClipControlEXT); \ FUNC(glClipPlanefOES); \ FUNC(glClipPlane); \ FUNC(glClipPlanexOES); \ FUNC(glColor3b); \ FUNC(glColor3bv); \ FUNC(glColor3d); \ FUNC(glColor3dv); \ FUNC(glColor3f); \ FUNC(glColor3fVertex3fSUN); \ FUNC(glColor3fVertex3fvSUN); \ FUNC(glColor3fv); \ FUNC(glColor3hNV); \ FUNC(glColor3hvNV); \ FUNC(glColor3i); \ FUNC(glColor3iv); \ FUNC(glColor3s); \ FUNC(glColor3sv); \ FUNC(glColor3ub); \ FUNC(glColor3ubv); \ FUNC(glColor3ui); \ FUNC(glColor3uiv); \ FUNC(glColor3us); \ FUNC(glColor3usv); \ FUNC(glColor3xOES); \ FUNC(glColor3xvOES); \ FUNC(glColor4b); \ FUNC(glColor4bv); \ FUNC(glColor4d); \ FUNC(glColor4dv); \ FUNC(glColor4fNormal3fVertex3fSUN); \ FUNC(glColor4fNormal3fVertex3fvSUN); \ FUNC(glColor4f); \ FUNC(glColor4fv); \ FUNC(glColor4hNV); \ FUNC(glColor4hvNV); \ FUNC(glColor4i); \ FUNC(glColor4iv); \ FUNC(glColor4s); \ FUNC(glColor4sv); \ FUNC(glColor4ub); \ FUNC(glColor4ubVertex2fSUN); \ FUNC(glColor4ubVertex2fvSUN); \ FUNC(glColor4ubVertex3fSUN); \ FUNC(glColor4ubVertex3fvSUN); \ FUNC(glColor4ubv); \ FUNC(glColor4ui); \ FUNC(glColor4uiv); \ FUNC(glColor4us); \ FUNC(glColor4usv); \ FUNC(glColor4xOES); \ FUNC(glColor4xvOES); \ FUNC(glColorFormatNV); \ FUNC(glColorFragmentOp1ATI); \ FUNC(glColorFragmentOp2ATI); \ FUNC(glColorFragmentOp3ATI); \ FUNC(glColorMaterial); \ FUNC(glColorP3ui); \ FUNC(glColorP3uiv); \ FUNC(glColorP4ui); \ FUNC(glColorP4uiv); \ FUNC(glColorPointerEXT); \ FUNC(glColorPointerListIBM); \ FUNC(glColorPointer); \ FUNC(glColorPointervINTEL); \ FUNC(glColorSubTableEXT); \ FUNC(glColorSubTable); \ FUNC(glColorTableEXT); \ FUNC(glColorTableParameterfv); \ FUNC(glColorTableParameterfvSGI); \ FUNC(glColorTableParameteriv); \ FUNC(glColorTableParameterivSGI); \ FUNC(glColorTable); \ FUNC(glColorTableSGI); \ FUNC(glCombinerInputNV); \ FUNC(glCombinerOutputNV); \ FUNC(glCombinerParameterfNV); \ FUNC(glCombinerParameterfvNV); \ FUNC(glCombinerParameteriNV); \ FUNC(glCombinerParameterivNV); \ FUNC(glCombinerStageParameterfvNV); \ FUNC(glCommandListSegmentsNV); \ FUNC(glCompileCommandListNV); \ FUNC(glCompileShaderARB); \ FUNC(glConservativeRasterParameterfNV); \ FUNC(glConservativeRasterParameteriNV); \ FUNC(glConvolutionFilter1DEXT); \ FUNC(glConvolutionFilter1D); \ FUNC(glConvolutionFilter2DEXT); \ FUNC(glConvolutionFilter2D); \ FUNC(glConvolutionParameterfEXT); \ FUNC(glConvolutionParameterf); \ FUNC(glConvolutionParameterfvEXT); \ FUNC(glConvolutionParameterfv); \ FUNC(glConvolutionParameteriEXT); \ FUNC(glConvolutionParameteri); \ FUNC(glConvolutionParameterivEXT); \ FUNC(glConvolutionParameteriv); \ FUNC(glConvolutionParameterxOES); \ FUNC(glConvolutionParameterxvOES); \ FUNC(glCopyBufferSubDataNV); \ FUNC(glCopyColorSubTableEXT); \ FUNC(glCopyColorSubTable); \ FUNC(glCopyColorTable); \ FUNC(glCopyColorTableSGI); \ FUNC(glCopyConvolutionFilter1DEXT); \ FUNC(glCopyConvolutionFilter1D); \ FUNC(glCopyConvolutionFilter2DEXT); \ FUNC(glCopyConvolutionFilter2D); \ FUNC(glCopyImageSubDataNV); \ FUNC(glCopyPathNV); \ FUNC(glCopyPixels); \ FUNC(glCopyTexImage1DEXT); \ FUNC(glCopyTexImage2DEXT); \ FUNC(glCopyTexSubImage1DEXT); \ FUNC(glCopyTexSubImage2DEXT); \ FUNC(glCopyTexSubImage3DEXT); \ FUNC(glCopyTextureLevelsAPPLE); \ FUNC(glCoverageMaskNV); \ FUNC(glCoverageModulationNV); \ FUNC(glCoverageModulationTableNV); \ FUNC(glCoverageOperationNV); \ FUNC(glCoverFillPathInstancedNV); \ FUNC(glCoverFillPathNV); \ FUNC(glCoverStrokePathInstancedNV); \ FUNC(glCoverStrokePathNV); \ FUNC(glCreateCommandListsNV); \ FUNC(glCreateProgramObjectARB); \ FUNC(glCreateShaderObjectARB); \ FUNC(glCreateShaderProgramEXT); \ FUNC(glCreateStatesNV); \ FUNC(glCreateSyncFromCLeventARB); \ FUNC(glCullParameterdvEXT); \ FUNC(glCullParameterfvEXT); \ FUNC(glCurrentPaletteMatrixARB); \ FUNC(glDebugMessageCallbackAMD); \ FUNC(glDebugMessageEnableAMD); \ FUNC(glDebugMessageInsertAMD); \ FUNC(glDeformationMap3dSGIX); \ FUNC(glDeformationMap3fSGIX); \ FUNC(glDeformSGIX); \ FUNC(glDeleteAsyncMarkersSGIX); \ FUNC(glDeleteCommandListsNV); \ FUNC(glDeleteFencesAPPLE); \ FUNC(glDeleteFencesNV); \ FUNC(glDeleteFragmentShaderATI); \ FUNC(glDeleteLists); \ FUNC(glDeleteNamesAMD); \ FUNC(glDeleteObjectARB); \ FUNC(glDeleteOcclusionQueriesNV); \ FUNC(glDeletePathsNV); \ FUNC(glDeletePerfMonitorsAMD); \ FUNC(glDeleteProgramsARB); \ FUNC(glDeleteProgramsNV); \ FUNC(glDeleteQueryResourceTagNV); \ FUNC(glDeleteStatesNV); \ FUNC(glDeleteSyncAPPLE); \ FUNC(glDeleteTexturesEXT); \ FUNC(glDeleteTransformFeedbacksNV); \ FUNC(glDeleteVertexArraysAPPLE); \ FUNC(glDeleteVertexShaderEXT); \ FUNC(glDepthBoundsdNV); \ FUNC(glDepthRangedNV); \ FUNC(glDepthRangefOES); \ FUNC(glDepthRangexOES); \ FUNC(glDetachObjectARB); \ FUNC(glDetailTexFuncSGIS); \ FUNC(glDisableClientStateiEXT); \ FUNC(glDisableClientStateIndexedEXT); \ FUNC(glDisableClientState); \ FUNC(glDisableDriverControlQCOM); \ FUNC(glDisableVariantClientStateEXT); \ FUNC(glDisableVertexArrayEXT); \ FUNC(glDisableVertexAttribAPPLE); \ FUNC(glDrawArraysEXT); \ FUNC(glDrawArraysInstancedANGLE); \ FUNC(glDrawArraysInstancedNV); \ FUNC(glDrawBuffersATI); \ FUNC(glDrawBuffersIndexedEXT); \ FUNC(glDrawBuffersNV); \ FUNC(glDrawCommandsAddressNV); \ FUNC(glDrawCommandsNV); \ FUNC(glDrawCommandsStatesAddressNV); \ FUNC(glDrawCommandsStatesNV); \ FUNC(glDrawElementArrayAPPLE); \ FUNC(glDrawElementArrayATI); \ FUNC(glDrawElementsInstancedANGLE); \ FUNC(glDrawElementsInstancedNV); \ FUNC(glDrawMeshArraysSUN); \ FUNC(glDrawPixels); \ FUNC(glDrawRangeElementArrayAPPLE); \ FUNC(glDrawRangeElementArrayATI); \ FUNC(glDrawTextureNV); \ FUNC(glDrawTransformFeedbackEXT); \ FUNC(glDrawTransformFeedbackInstancedEXT); \ FUNC(glDrawTransformFeedbackNV); \ FUNC(glDrawVkImageNV); \ FUNC(glEdgeFlagFormatNV); \ FUNC(glEdgeFlagPointerEXT); \ FUNC(glEdgeFlagPointerListIBM); \ FUNC(glEdgeFlagPointer); \ FUNC(glEdgeFlag); \ FUNC(glEdgeFlagv); \ FUNC(glEGLImageTargetRenderbufferStorageOES); \ FUNC(glEGLImageTargetTexStorageEXT); \ FUNC(glEGLImageTargetTexture2DOES); \ FUNC(glEGLImageTargetTextureStorageEXT); \ FUNC(glElementPointerAPPLE); \ FUNC(glElementPointerATI); \ FUNC(glEnableClientStateiEXT); \ FUNC(glEnableClientStateIndexedEXT); \ FUNC(glEnableClientState); \ FUNC(glEnableDriverControlQCOM); \ FUNC(glEnableVariantClientStateEXT); \ FUNC(glEnableVertexArrayEXT); \ FUNC(glEnableVertexAttribAPPLE); \ FUNC(glEndConditionalRenderNV); \ FUNC(glEndConditionalRenderNVX); \ FUNC(glEndFragmentShaderATI); \ FUNC(glEndList); \ FUNC(glEndOcclusionQueryNV); \ FUNC(glEndPerfMonitorAMD); \ FUNC(glEnd); \ FUNC(glEndTilingQCOM); \ FUNC(glEndTransformFeedbackNV); \ FUNC(glEndVertexShaderEXT); \ FUNC(glEndVideoCaptureNV); \ FUNC(glEvalCoord1d); \ FUNC(glEvalCoord1dv); \ FUNC(glEvalCoord1f); \ FUNC(glEvalCoord1fv); \ FUNC(glEvalCoord1xOES); \ FUNC(glEvalCoord1xvOES); \ FUNC(glEvalCoord2d); \ FUNC(glEvalCoord2dv); \ FUNC(glEvalCoord2f); \ FUNC(glEvalCoord2fv); \ FUNC(glEvalCoord2xOES); \ FUNC(glEvalCoord2xvOES); \ FUNC(glEvalMapsNV); \ FUNC(glEvalMesh1); \ FUNC(glEvalMesh2); \ FUNC(glEvalPoint1); \ FUNC(glEvalPoint2); \ FUNC(glEvaluateDepthValuesARB); \ FUNC(glExecuteProgramNV); \ FUNC(glExtGetBufferPointervQCOM); \ FUNC(glExtGetBuffersQCOM); \ FUNC(glExtGetFramebuffersQCOM); \ FUNC(glExtGetProgramBinarySourceQCOM); \ FUNC(glExtGetProgramsQCOM); \ FUNC(glExtGetRenderbuffersQCOM); \ FUNC(glExtGetShadersQCOM); \ FUNC(glExtGetTexLevelParameterivQCOM); \ FUNC(glExtGetTexSubImageQCOM); \ FUNC(glExtGetTexturesQCOM); \ FUNC(glExtIsProgramBinaryQCOM); \ FUNC(glExtractComponentEXT); \ FUNC(glExtTexObjectStateOverrideiQCOM); \ FUNC(glFeedbackBuffer); \ FUNC(glFeedbackBufferxOES); \ FUNC(glFenceSyncAPPLE); \ FUNC(glFinalCombinerInputNV); \ FUNC(glFinishAsyncSGIX); \ FUNC(glFinishFenceAPPLE); \ FUNC(glFinishFenceNV); \ FUNC(glFinishObjectAPPLE); \ FUNC(glFinishTextureSUNX); \ FUNC(glFlushMappedBufferRangeAPPLE); \ FUNC(glFlushPixelDataRangeNV); \ FUNC(glFlushRasterSGIX); \ FUNC(glFlushStaticDataIBM); \ FUNC(glFlushVertexArrayRangeAPPLE); \ FUNC(glFlushVertexArrayRangeNV); \ FUNC(glFogCoorddEXT); \ FUNC(glFogCoordd); \ FUNC(glFogCoorddvEXT); \ FUNC(glFogCoorddv); \ FUNC(glFogCoordfEXT); \ FUNC(glFogCoordFormatNV); \ FUNC(glFogCoordf); \ FUNC(glFogCoordfvEXT); \ FUNC(glFogCoordfv); \ FUNC(glFogCoordhNV); \ FUNC(glFogCoordhvNV); \ FUNC(glFogCoordPointerEXT); \ FUNC(glFogCoordPointerListIBM); \ FUNC(glFogCoordPointer); \ FUNC(glFogf); \ FUNC(glFogFuncSGIS); \ FUNC(glFogfv); \ FUNC(glFogi); \ FUNC(glFogiv); \ FUNC(glFogxOES); \ FUNC(glFogxvOES); \ FUNC(glFragmentColorMaterialSGIX); \ FUNC(glFragmentCoverageColorNV); \ FUNC(glFragmentLightfSGIX); \ FUNC(glFragmentLightfvSGIX); \ FUNC(glFragmentLightiSGIX); \ FUNC(glFragmentLightivSGIX); \ FUNC(glFragmentLightModelfSGIX); \ FUNC(glFragmentLightModelfvSGIX); \ FUNC(glFragmentLightModeliSGIX); \ FUNC(glFragmentLightModelivSGIX); \ FUNC(glFragmentMaterialfSGIX); \ FUNC(glFragmentMaterialfvSGIX); \ FUNC(glFragmentMaterialiSGIX); \ FUNC(glFragmentMaterialivSGIX); \ FUNC(glFramebufferFetchBarrierEXT); \ FUNC(glFramebufferFetchBarrierQCOM); \ FUNC(glFramebufferFoveationConfigQCOM); \ FUNC(glFramebufferFoveationParametersQCOM); \ FUNC(glFramebufferPixelLocalStorageSizeEXT); \ FUNC(glFramebufferSampleLocationsfvARB); \ FUNC(glFramebufferSampleLocationsfvNV); \ FUNC(glFramebufferSamplePositionsfvAMD); \ FUNC(glFramebufferTexture2DDownsampleIMG); \ FUNC(glFramebufferTexture2DMultisampleIMG); \ FUNC(glFramebufferTextureFaceARB); \ FUNC(glFramebufferTextureFaceEXT); \ FUNC(glFramebufferTextureLayerDownsampleIMG); \ #define ForEachUnsupported1(FUNC) \ FUNC(glFrameZoomSGIX); \ FUNC(glFreeObjectBufferATI); \ FUNC(glFrustumfOES); \ FUNC(glFrustum); \ FUNC(glFrustumxOES); \ FUNC(glGenAsyncMarkersSGIX); \ FUNC(glGenFencesAPPLE); \ FUNC(glGenFencesNV); \ FUNC(glGenFragmentShadersATI); \ FUNC(glGenLists); \ FUNC(glGenNamesAMD); \ FUNC(glGenOcclusionQueriesNV); \ FUNC(glGenPathsNV); \ FUNC(glGenPerfMonitorsAMD); \ FUNC(glGenProgramsARB); \ FUNC(glGenProgramsNV); \ FUNC(glGenQueryResourceTagNV); \ FUNC(glGenSymbolsEXT); \ FUNC(glGenTexturesEXT); \ FUNC(glGenTransformFeedbacksNV); \ FUNC(glGenVertexArraysAPPLE); \ FUNC(glGenVertexShadersEXT); \ FUNC(glGetActiveAttribARB); \ FUNC(glGetActiveUniformARB); \ FUNC(glGetActiveVaryingNV); \ FUNC(glGetArrayObjectfvATI); \ FUNC(glGetArrayObjectivATI); \ FUNC(glGetAttachedObjectsARB); \ FUNC(glGetAttribLocationARB); \ FUNC(glGetBufferParameterui64vNV); \ FUNC(glGetClipPlanefOES); \ FUNC(glGetClipPlane); \ FUNC(glGetClipPlanexOES); \ FUNC(glGetColorTableEXT); \ FUNC(glGetColorTableParameterfvEXT); \ FUNC(glGetColorTableParameterfv); \ FUNC(glGetColorTableParameterfvSGI); \ FUNC(glGetColorTableParameterivEXT); \ FUNC(glGetColorTableParameteriv); \ FUNC(glGetColorTableParameterivSGI); \ FUNC(glGetColorTable); \ FUNC(glGetColorTableSGI); \ FUNC(glGetCombinerInputParameterfvNV); \ FUNC(glGetCombinerInputParameterivNV); \ FUNC(glGetCombinerOutputParameterfvNV); \ FUNC(glGetCombinerOutputParameterivNV); \ FUNC(glGetCombinerStageParameterfvNV); \ FUNC(glGetCommandHeaderNV); \ FUNC(glGetConvolutionFilterEXT); \ FUNC(glGetConvolutionFilter); \ FUNC(glGetConvolutionParameterfvEXT); \ FUNC(glGetConvolutionParameterfv); \ FUNC(glGetConvolutionParameterivEXT); \ FUNC(glGetConvolutionParameteriv); \ FUNC(glGetConvolutionParameterxvOES); \ FUNC(glGetCoverageModulationTableNV); \ FUNC(glGetDebugMessageLogAMD); \ FUNC(glGetDetailTexFuncSGIS); \ FUNC(glGetDriverControlsQCOM); \ FUNC(glGetDriverControlStringQCOM); \ FUNC(glGetFenceivNV); \ FUNC(glGetFinalCombinerInputParameterfvNV); \ FUNC(glGetFinalCombinerInputParameterivNV); \ FUNC(glGetFixedvOES); \ FUNC(glGetFogFuncSGIS); \ FUNC(glGetFragDataIndexEXT); \ FUNC(glGetFragmentLightfvSGIX); \ FUNC(glGetFragmentLightivSGIX); \ FUNC(glGetFragmentMaterialfvSGIX); \ FUNC(glGetFragmentMaterialivSGIX); \ FUNC(glGetFramebufferParameterfvAMD); \ FUNC(glGetFramebufferPixelLocalStorageSizeEXT); \ FUNC(glGetGraphicsResetStatusKHR); \ FUNC(glGetHandleARB); \ FUNC(glGetHistogramEXT); \ FUNC(glGetHistogramParameterfvEXT); \ FUNC(glGetHistogramParameterfv); \ FUNC(glGetHistogramParameterivEXT); \ FUNC(glGetHistogramParameteriv); \ FUNC(glGetHistogramParameterxvOES); \ FUNC(glGetHistogram); \ FUNC(glGetImageHandleARB); \ FUNC(glGetImageHandleNV); \ FUNC(glGetImageTransformParameterfvHP); \ FUNC(glGetImageTransformParameterivHP); \ FUNC(glGetInfoLogARB); \ FUNC(glGetInstrumentsSGIX); \ FUNC(glGetInteger64vAPPLE); \ FUNC(glGetIntegeri_vEXT); \ FUNC(glGetIntegerui64i_vNV); \ FUNC(glGetIntegerui64vNV); \ FUNC(glGetInternalformatSampleivNV); \ FUNC(glGetInvariantBooleanvEXT); \ FUNC(glGetInvariantFloatvEXT); \ FUNC(glGetInvariantIntegervEXT); \ FUNC(glGetLightfv); \ FUNC(glGetLightiv); \ FUNC(glGetLightxOES); \ FUNC(glGetListParameterfvSGIX); \ FUNC(glGetListParameterivSGIX); \ FUNC(glGetLocalConstantBooleanvEXT); \ FUNC(glGetLocalConstantFloatvEXT); \ FUNC(glGetLocalConstantIntegervEXT); \ FUNC(glGetMapAttribParameterfvNV); \ FUNC(glGetMapAttribParameterivNV); \ FUNC(glGetMapControlPointsNV); \ FUNC(glGetMapdv); \ FUNC(glGetMapfv); \ FUNC(glGetMapiv); \ FUNC(glGetMapParameterfvNV); \ FUNC(glGetMapParameterivNV); \ FUNC(glGetMapxvOES); \ FUNC(glGetMaterialfv); \ FUNC(glGetMaterialiv); \ FUNC(glGetMaterialxOES); \ FUNC(glGetMinmaxEXT); \ FUNC(glGetMinmaxParameterfvEXT); \ FUNC(glGetMinmaxParameterfv); \ FUNC(glGetMinmaxParameterivEXT); \ FUNC(glGetMinmaxParameteriv); \ FUNC(glGetMinmax); \ FUNC(glGetMultisamplefvNV); \ FUNC(glGetMultiTexEnvfvEXT); \ FUNC(glGetMultiTexEnvivEXT); \ FUNC(glGetMultiTexGendvEXT); \ FUNC(glGetMultiTexGenfvEXT); \ FUNC(glGetMultiTexGenivEXT); \ FUNC(glGetNamedBufferParameterui64vNV); \ FUNC(glGetNamedFramebufferParameterfvAMD); \ FUNC(glGetNamedProgramLocalParameterdvEXT); \ FUNC(glGetNamedProgramLocalParameterfvEXT); \ FUNC(glGetNamedProgramLocalParameterIivEXT); \ FUNC(glGetNamedProgramLocalParameterIuivEXT); \ FUNC(glGetNamedProgramStringEXT); \ FUNC(glGetnColorTableARB); \ FUNC(glGetnColorTable); \ FUNC(glGetnConvolutionFilterARB); \ FUNC(glGetnConvolutionFilter); \ FUNC(glGetnHistogramARB); \ FUNC(glGetnHistogram); \ FUNC(glGetnMapdvARB); \ FUNC(glGetnMapdv); \ FUNC(glGetnMapfvARB); \ FUNC(glGetnMapfv); \ FUNC(glGetnMapivARB); \ FUNC(glGetnMapiv); \ FUNC(glGetnMinmaxARB); \ FUNC(glGetnMinmax); \ FUNC(glGetnPixelMapfvARB); \ FUNC(glGetnPixelMapfv); \ FUNC(glGetnPixelMapuivARB); \ FUNC(glGetnPixelMapuiv); \ FUNC(glGetnPixelMapusvARB); \ FUNC(glGetnPixelMapusv); \ FUNC(glGetnPolygonStippleARB); \ FUNC(glGetnPolygonStipple); \ FUNC(glGetnSeparableFilterARB); \ FUNC(glGetnSeparableFilter); \ FUNC(glGetnUniformfvKHR); \ FUNC(glGetnUniformi64vARB); \ FUNC(glGetnUniformivKHR); \ FUNC(glGetnUniformui64vARB); \ FUNC(glGetnUniformuivKHR); \ FUNC(glGetObjectBufferfvATI); \ FUNC(glGetObjectBufferivATI); \ FUNC(glGetObjectParameterfvARB); \ FUNC(glGetObjectParameterivAPPLE); \ FUNC(glGetObjectParameterivARB); \ FUNC(glGetOcclusionQueryivNV); \ FUNC(glGetOcclusionQueryuivNV); \ FUNC(glGetPathColorGenfvNV); \ FUNC(glGetPathColorGenivNV); \ FUNC(glGetPathCommandsNV); \ FUNC(glGetPathCoordsNV); \ FUNC(glGetPathDashArrayNV); \ FUNC(glGetPathLengthNV); \ FUNC(glGetPathMetricRangeNV); \ FUNC(glGetPathMetricsNV); \ FUNC(glGetPathParameterfvNV); \ FUNC(glGetPathParameterivNV); \ FUNC(glGetPathSpacingNV); \ FUNC(glGetPathTexGenfvNV); \ FUNC(glGetPathTexGenivNV); \ FUNC(glGetPerfMonitorCounterDataAMD); \ FUNC(glGetPerfMonitorCounterInfoAMD); \ FUNC(glGetPerfMonitorCountersAMD); \ FUNC(glGetPerfMonitorCounterStringAMD); \ FUNC(glGetPerfMonitorGroupsAMD); \ FUNC(glGetPerfMonitorGroupStringAMD); \ FUNC(glGetPixelMapfv); \ FUNC(glGetPixelMapuiv); \ FUNC(glGetPixelMapusv); \ FUNC(glGetPixelMapxv); \ FUNC(glGetPixelTexGenParameterfvSGIS); \ FUNC(glGetPixelTexGenParameterivSGIS); \ FUNC(glGetPixelTransformParameterfvEXT); \ FUNC(glGetPixelTransformParameterivEXT); \ FUNC(glGetPointervEXT); \ FUNC(glGetPolygonStipple); \ FUNC(glGetProgramBinaryOES); \ FUNC(glGetProgramEnvParameterdvARB); \ FUNC(glGetProgramEnvParameterfvARB); \ FUNC(glGetProgramEnvParameterIivNV); \ FUNC(glGetProgramEnvParameterIuivNV); \ FUNC(glGetProgramivARB); \ FUNC(glGetProgramivNV); \ FUNC(glGetProgramLocalParameterdvARB); \ FUNC(glGetProgramLocalParameterfvARB); \ FUNC(glGetProgramLocalParameterIivNV); \ FUNC(glGetProgramLocalParameterIuivNV); \ FUNC(glGetProgramNamedParameterdvNV); \ FUNC(glGetProgramNamedParameterfvNV); \ FUNC(glGetProgramParameterdvNV); \ FUNC(glGetProgramParameterfvNV); \ FUNC(glGetProgramResourcefvNV); \ FUNC(glGetProgramResourceLocationIndexEXT); \ FUNC(glGetProgramStringARB); \ FUNC(glGetProgramStringNV); \ FUNC(glGetProgramSubroutineParameteruivNV); \ FUNC(glGetSeparableFilterEXT); \ FUNC(glGetSeparableFilter); \ FUNC(glGetShaderSourceARB); \ FUNC(glGetSharpenTexFuncSGIS); \ FUNC(glGetStageIndexNV); \ FUNC(glGetSyncivAPPLE); \ FUNC(glGetTexBumpParameterfvATI); \ FUNC(glGetTexBumpParameterivATI); \ FUNC(glGetTexEnvfv); \ FUNC(glGetTexEnviv); \ FUNC(glGetTexEnvxvOES); \ FUNC(glGetTexFilterFuncSGIS); \ FUNC(glGetTexGendv); \ FUNC(glGetTexGenfv); \ FUNC(glGetTexGeniv); \ FUNC(glGetTexGenxvOES); \ FUNC(glGetTexLevelParameterxvOES); \ FUNC(glGetTexParameterPointervAPPLE); \ FUNC(glGetTexParameterxvOES); \ FUNC(glGetTextureHandleARB); \ FUNC(glGetTextureHandleIMG); \ FUNC(glGetTextureHandleNV); \ FUNC(glGetTextureSamplerHandleARB); \ FUNC(glGetTextureSamplerHandleIMG); \ FUNC(glGetTextureSamplerHandleNV); \ FUNC(glGetTrackMatrixivNV); \ FUNC(glGetTransformFeedbackVaryingNV); \ FUNC(glGetTranslatedShaderSourceANGLE); \ FUNC(glGetUniformBufferSizeEXT); \ FUNC(glGetUniformfvARB); \ FUNC(glGetUniformi64vARB); \ FUNC(glGetUniformi64vNV); \ FUNC(glGetUniformivARB); \ FUNC(glGetUniformLocationARB); \ FUNC(glGetUniformOffsetEXT); \ FUNC(glGetUniformui64vARB); \ FUNC(glGetUniformui64vNV); \ FUNC(glGetVariantArrayObjectfvATI); \ FUNC(glGetVariantArrayObjectivATI); \ FUNC(glGetVariantBooleanvEXT); \ FUNC(glGetVariantFloatvEXT); \ FUNC(glGetVariantIntegervEXT); \ FUNC(glGetVariantPointervEXT); \ FUNC(glGetVaryingLocationNV); \ FUNC(glGetVertexAttribArrayObjectfvATI); \ FUNC(glGetVertexAttribArrayObjectivATI); \ FUNC(glGetVertexAttribdvARB); \ FUNC(glGetVertexAttribdvNV); \ FUNC(glGetVertexAttribfvARB); \ FUNC(glGetVertexAttribfvNV); \ FUNC(glGetVertexAttribivARB); \ FUNC(glGetVertexAttribivNV); \ FUNC(glGetVertexAttribLi64vNV); \ FUNC(glGetVertexAttribLui64vARB); \ FUNC(glGetVertexAttribLui64vNV); \ FUNC(glGetVertexAttribPointervARB); \ FUNC(glGetVertexAttribPointervNV); \ FUNC(glGetVideoCaptureivNV); \ FUNC(glGetVideoCaptureStreamdvNV); \ FUNC(glGetVideoCaptureStreamfvNV); \ FUNC(glGetVideoCaptureStreamivNV); \ FUNC(glGetVideoi64vNV); \ FUNC(glGetVideoivNV); \ FUNC(glGetVideoui64vNV); \ FUNC(glGetVideouivNV); \ FUNC(glGetVkProcAddrNV); \ FUNC(glGlobalAlphaFactorbSUN); \ FUNC(glGlobalAlphaFactordSUN); \ FUNC(glGlobalAlphaFactorfSUN); \ FUNC(glGlobalAlphaFactoriSUN); \ FUNC(glGlobalAlphaFactorsSUN); \ FUNC(glGlobalAlphaFactorubSUN); \ FUNC(glGlobalAlphaFactoruiSUN); \ FUNC(glGlobalAlphaFactorusSUN); \ FUNC(glHintPGI); \ FUNC(glHistogramEXT); \ FUNC(glHistogram); \ FUNC(glIglooInterfaceSGIX); \ FUNC(glImageTransformParameterfHP); \ FUNC(glImageTransformParameterfvHP); \ FUNC(glImageTransformParameteriHP); \ FUNC(glImageTransformParameterivHP); \ FUNC(glImportSyncEXT); \ FUNC(glIndexd); \ FUNC(glIndexdv); \ FUNC(glIndexFormatNV); \ FUNC(glIndexf); \ FUNC(glIndexFuncEXT); \ FUNC(glIndexfv); \ FUNC(glIndexi); \ FUNC(glIndexiv); \ FUNC(glIndexMask); \ FUNC(glIndexMaterialEXT); \ FUNC(glIndexPointerEXT); \ FUNC(glIndexPointerListIBM); \ FUNC(glIndexPointer); \ FUNC(glIndexs); \ FUNC(glIndexsv); \ FUNC(glIndexub); \ FUNC(glIndexubv); \ FUNC(glIndexxOES); \ FUNC(glIndexxvOES); \ FUNC(glInitNames); \ FUNC(glInsertComponentEXT); \ FUNC(glInstrumentsBufferSGIX); \ FUNC(glInterleavedArrays); \ FUNC(glInterpolatePathsNV); \ FUNC(glIsAsyncMarkerSGIX); \ FUNC(glIsBufferResidentNV); \ FUNC(glIsCommandListNV); \ FUNC(glIsFenceAPPLE); \ FUNC(glIsFenceNV); \ FUNC(glIsImageHandleResidentARB); \ FUNC(glIsImageHandleResidentNV); \ FUNC(glIsList); \ FUNC(glIsNameAMD); \ FUNC(glIsNamedBufferResidentNV); \ FUNC(glIsObjectBufferATI); \ FUNC(glIsOcclusionQueryNV); \ FUNC(glIsPathNV); \ FUNC(glIsPointInFillPathNV); \ FUNC(glIsPointInStrokePathNV); \ FUNC(glIsProgramARB); \ FUNC(glIsProgramNV); \ FUNC(glIsStateNV); \ FUNC(glIsSyncAPPLE); \ FUNC(glIsTextureEXT); \ FUNC(glIsTextureHandleResidentARB); \ FUNC(glIsTextureHandleResidentNV); \ FUNC(glIsTransformFeedbackNV); \ FUNC(glIsVariantEnabledEXT); \ FUNC(glIsVertexArrayAPPLE); \ FUNC(glIsVertexAttribEnabledAPPLE); \ FUNC(glLGPUCopyImageSubDataNVX); \ FUNC(glLGPUInterlockNVX); \ FUNC(glLGPUNamedBufferSubDataNVX); \ FUNC(glLightEnviSGIX); \ FUNC(glLightf); \ FUNC(glLightfv); \ FUNC(glLighti); \ FUNC(glLightiv); \ FUNC(glLightModelf); \ FUNC(glLightModelfv); \ FUNC(glLightModeli); \ FUNC(glLightModeliv); \ FUNC(glLightModelxOES); \ FUNC(glLightModelxvOES); \ FUNC(glLightxOES); \ FUNC(glLightxvOES); \ FUNC(glLineStipple); \ FUNC(glLineWidthxOES); \ FUNC(glLinkProgramARB); \ FUNC(glListBase); \ FUNC(glListDrawCommandsStatesClientNV); \ FUNC(glListParameterfSGIX); \ FUNC(glListParameterfvSGIX); \ FUNC(glListParameteriSGIX); \ FUNC(glListParameterivSGIX); \ FUNC(glLoadIdentityDeformationMapSGIX); \ FUNC(glLoadIdentity); \ FUNC(glLoadMatrixd); \ FUNC(glLoadMatrixf); \ FUNC(glLoadMatrixxOES); \ FUNC(glLoadName); \ FUNC(glLoadProgramNV); \ FUNC(glLoadTransposeMatrixdARB); \ FUNC(glLoadTransposeMatrixd); \ FUNC(glLoadTransposeMatrixfARB); \ FUNC(glLoadTransposeMatrixf); \ FUNC(glLoadTransposeMatrixxOES); \ FUNC(glLockArraysEXT); \ FUNC(glMakeBufferNonResidentNV); \ FUNC(glMakeBufferResidentNV); \ FUNC(glMakeImageHandleNonResidentARB); \ FUNC(glMakeImageHandleNonResidentNV); \ FUNC(glMakeImageHandleResidentARB); \ FUNC(glMakeImageHandleResidentNV); \ FUNC(glMakeNamedBufferNonResidentNV); \ FUNC(glMakeNamedBufferResidentNV); \ FUNC(glMakeTextureHandleNonResidentARB); \ FUNC(glMakeTextureHandleNonResidentNV); \ FUNC(glMakeTextureHandleResidentARB); \ FUNC(glMakeTextureHandleResidentNV); \ FUNC(glMap1d); \ FUNC(glMap1f); \ FUNC(glMap1xOES); \ FUNC(glMap2d); \ FUNC(glMap2f); \ FUNC(glMap2xOES); \ FUNC(glMapControlPointsNV); \ FUNC(glMapGrid1d); \ FUNC(glMapGrid1f); \ FUNC(glMapGrid1xOES); \ FUNC(glMapGrid2d); \ FUNC(glMapGrid2f); \ FUNC(glMapGrid2xOES); \ FUNC(glMapObjectBufferATI); \ FUNC(glMapParameterfvNV); \ FUNC(glMapParameterivNV); \ FUNC(glMapTexture2DINTEL); \ FUNC(glMapVertexAttrib1dAPPLE); \ FUNC(glMapVertexAttrib1fAPPLE); \ FUNC(glMapVertexAttrib2dAPPLE); \ FUNC(glMapVertexAttrib2fAPPLE); \ FUNC(glMaterialf); \ FUNC(glMaterialfv); \ FUNC(glMateriali); \ FUNC(glMaterialiv); \ FUNC(glMaterialxOES); \ FUNC(glMaterialxvOES); \ FUNC(glMatrixFrustumEXT); \ FUNC(glMatrixIndexPointerARB); \ FUNC(glMatrixIndexubvARB); \ FUNC(glMatrixIndexuivARB); \ FUNC(glMatrixIndexusvARB); \ FUNC(glMatrixLoad3x2fNV); \ FUNC(glMatrixLoad3x3fNV); \ FUNC(glMatrixLoaddEXT); \ FUNC(glMatrixLoadfEXT); \ FUNC(glMatrixLoadIdentityEXT); \ FUNC(glMatrixLoadTranspose3x3fNV); \ FUNC(glMatrixLoadTransposedEXT); \ FUNC(glMatrixLoadTransposefEXT); \ FUNC(glMatrixMode); \ FUNC(glMatrixMult3x2fNV); \ FUNC(glMatrixMult3x3fNV); \ FUNC(glMatrixMultdEXT); \ FUNC(glMatrixMultfEXT); \ FUNC(glMatrixMultTranspose3x3fNV); \ FUNC(glMatrixMultTransposedEXT); \ FUNC(glMatrixMultTransposefEXT); \ FUNC(glMatrixOrthoEXT); \ FUNC(glMatrixPopEXT); \ FUNC(glMatrixPushEXT); \ FUNC(glMatrixRotatedEXT); \ FUNC(glMatrixRotatefEXT); \ FUNC(glMatrixScaledEXT); \ FUNC(glMatrixScalefEXT); \ FUNC(glMatrixTranslatedEXT); \ FUNC(glMatrixTranslatefEXT); \ FUNC(glMinmaxEXT); \ FUNC(glMinmax); \ FUNC(glMulticastBarrierNV); \ FUNC(glMulticastBlitFramebufferNV); \ FUNC(glMulticastBufferSubDataNV); \ FUNC(glMulticastCopyBufferSubDataNV); \ FUNC(glMulticastCopyImageSubDataNV); \ FUNC(glMulticastFramebufferSampleLocationsfvNV); \ FUNC(glMulticastGetQueryObjecti64vNV); \ FUNC(glMulticastGetQueryObjectivNV); \ FUNC(glMulticastGetQueryObjectui64vNV); \ FUNC(glMulticastGetQueryObjectuivNV); \ FUNC(glMulticastWaitSyncNV); \ FUNC(glMultiDrawArraysIndirectAMD); \ FUNC(glMultiDrawArraysIndirectBindlessCountNV); \ FUNC(glMultiDrawArraysIndirectBindlessNV); \ FUNC(glMultiDrawArraysIndirectEXT); \ FUNC(glMultiDrawElementArrayAPPLE); \ FUNC(glMultiDrawElementsEXT); \ FUNC(glMultiDrawElementsIndirectAMD); \ FUNC(glMultiDrawElementsIndirectBindlessCountNV); \ FUNC(glMultiDrawElementsIndirectBindlessNV); \ FUNC(glMultiDrawElementsIndirectEXT); \ FUNC(glMultiDrawRangeElementArrayAPPLE); \ FUNC(glMultiModeDrawArraysIBM); \ FUNC(glMultiModeDrawElementsIBM); \ FUNC(glMultiTexCoord1bOES); \ FUNC(glMultiTexCoord1bvOES); \ FUNC(glMultiTexCoord1dARB); \ FUNC(glMultiTexCoord1d); \ FUNC(glMultiTexCoord1dvARB); \ FUNC(glMultiTexCoord1dv); \ FUNC(glMultiTexCoord1fARB); \ FUNC(glMultiTexCoord1f); \ FUNC(glMultiTexCoord1fvARB); \ FUNC(glMultiTexCoord1fv); \ FUNC(glMultiTexCoord1hNV); \ FUNC(glMultiTexCoord1hvNV); \ FUNC(glMultiTexCoord1iARB); \ FUNC(glMultiTexCoord1i); \ FUNC(glMultiTexCoord1ivARB); \ FUNC(glMultiTexCoord1iv); \ FUNC(glMultiTexCoord1sARB); \ FUNC(glMultiTexCoord1s); \ FUNC(glMultiTexCoord1svARB); \ FUNC(glMultiTexCoord1sv); \ FUNC(glMultiTexCoord1xOES); \ FUNC(glMultiTexCoord1xvOES); \ FUNC(glMultiTexCoord2bOES); \ FUNC(glMultiTexCoord2bvOES); \ FUNC(glMultiTexCoord2dARB); \ FUNC(glMultiTexCoord2d); \ FUNC(glMultiTexCoord2dvARB); \ FUNC(glMultiTexCoord2dv); \ FUNC(glMultiTexCoord2fARB); \ FUNC(glMultiTexCoord2f); \ FUNC(glMultiTexCoord2fvARB); \ FUNC(glMultiTexCoord2fv); \ FUNC(glMultiTexCoord2hNV); \ FUNC(glMultiTexCoord2hvNV); \ FUNC(glMultiTexCoord2iARB); \ FUNC(glMultiTexCoord2i); \ FUNC(glMultiTexCoord2ivARB); \ FUNC(glMultiTexCoord2iv); \ FUNC(glMultiTexCoord2sARB); \ FUNC(glMultiTexCoord2s); \ FUNC(glMultiTexCoord2svARB); \ FUNC(glMultiTexCoord2sv); \ FUNC(glMultiTexCoord2xOES); \ FUNC(glMultiTexCoord2xvOES); \ FUNC(glMultiTexCoord3bOES); \ FUNC(glMultiTexCoord3bvOES); \ FUNC(glMultiTexCoord3dARB); \ FUNC(glMultiTexCoord3d); \ FUNC(glMultiTexCoord3dvARB); \ FUNC(glMultiTexCoord3dv); \ FUNC(glMultiTexCoord3fARB); \ FUNC(glMultiTexCoord3f); \ FUNC(glMultiTexCoord3fvARB); \ FUNC(glMultiTexCoord3fv); \ FUNC(glMultiTexCoord3hNV); \ FUNC(glMultiTexCoord3hvNV); \ FUNC(glMultiTexCoord3iARB); \ FUNC(glMultiTexCoord3i); \ FUNC(glMultiTexCoord3ivARB); \ FUNC(glMultiTexCoord3iv); \ FUNC(glMultiTexCoord3sARB); \ FUNC(glMultiTexCoord3s); \ FUNC(glMultiTexCoord3svARB); \ FUNC(glMultiTexCoord3sv); \ FUNC(glMultiTexCoord3xOES); \ FUNC(glMultiTexCoord3xvOES); \ FUNC(glMultiTexCoord4bOES); \ FUNC(glMultiTexCoord4bvOES); \ FUNC(glMultiTexCoord4dARB); \ FUNC(glMultiTexCoord4d); \ FUNC(glMultiTexCoord4dvARB); \ FUNC(glMultiTexCoord4dv); \ FUNC(glMultiTexCoord4fARB); \ FUNC(glMultiTexCoord4f); \ FUNC(glMultiTexCoord4fvARB); \ FUNC(glMultiTexCoord4fv); \ FUNC(glMultiTexCoord4hNV); \ FUNC(glMultiTexCoord4hvNV); \ FUNC(glMultiTexCoord4iARB); \ FUNC(glMultiTexCoord4i); \ FUNC(glMultiTexCoord4ivARB); \ FUNC(glMultiTexCoord4iv); \ FUNC(glMultiTexCoord4sARB); \ FUNC(glMultiTexCoord4s); \ FUNC(glMultiTexCoord4svARB); \ FUNC(glMultiTexCoord4sv); \ FUNC(glMultiTexCoord4xOES); \ FUNC(glMultiTexCoord4xvOES); \ FUNC(glMultiTexCoordP1ui); \ FUNC(glMultiTexCoordP1uiv); \ FUNC(glMultiTexCoordP2ui); \ FUNC(glMultiTexCoordP2uiv); \ FUNC(glMultiTexCoordP3ui); \ FUNC(glMultiTexCoordP3uiv); \ FUNC(glMultiTexCoordP4ui); \ FUNC(glMultiTexCoordP4uiv); \ FUNC(glMultiTexCoordPointerEXT); \ FUNC(glMultiTexEnvfEXT); \ FUNC(glMultiTexEnvfvEXT); \ FUNC(glMultiTexEnviEXT); \ FUNC(glMultiTexEnvivEXT); \ FUNC(glMultiTexGendEXT); \ FUNC(glMultiTexGendvEXT); \ FUNC(glMultiTexGenfEXT); \ FUNC(glMultiTexGenfvEXT); \ FUNC(glMultiTexGeniEXT); \ FUNC(glMultiTexGenivEXT); \ FUNC(glMultiTexRenderbufferEXT); \ FUNC(glMultMatrixd); \ FUNC(glMultMatrixf); \ FUNC(glMultMatrixxOES); \ FUNC(glMultTransposeMatrixdARB); \ FUNC(glMultTransposeMatrixd); \ FUNC(glMultTransposeMatrixfARB); \ FUNC(glMultTransposeMatrixf); \ FUNC(glMultTransposeMatrixxOES); \ #define ForEachUnsupported2(FUNC) \ FUNC(glNamedBufferPageCommitmentARB); \ FUNC(glNamedBufferPageCommitmentEXT); \ FUNC(glNamedBufferStorageExternalEXT); \ FUNC(glNamedFramebufferSampleLocationsfvARB); \ FUNC(glNamedFramebufferSampleLocationsfvNV); \ FUNC(glNamedFramebufferSamplePositionsfvAMD); \ FUNC(glNamedFramebufferTextureFaceEXT); \ FUNC(glNamedProgramLocalParameter4dEXT); \ FUNC(glNamedProgramLocalParameter4dvEXT); \ FUNC(glNamedProgramLocalParameter4fEXT); \ FUNC(glNamedProgramLocalParameter4fvEXT); \ FUNC(glNamedProgramLocalParameterI4iEXT); \ FUNC(glNamedProgramLocalParameterI4ivEXT); \ FUNC(glNamedProgramLocalParameterI4uiEXT); \ FUNC(glNamedProgramLocalParameterI4uivEXT); \ FUNC(glNamedProgramLocalParameters4fvEXT); \ FUNC(glNamedProgramLocalParametersI4ivEXT); \ FUNC(glNamedProgramLocalParametersI4uivEXT); \ FUNC(glNamedProgramStringEXT); \ FUNC(glNamedRenderbufferStorageMultisampleCoverageEXT); \ FUNC(glNewList); \ FUNC(glNewObjectBufferATI); \ FUNC(glNormal3b); \ FUNC(glNormal3bv); \ FUNC(glNormal3d); \ FUNC(glNormal3dv); \ FUNC(glNormal3f); \ FUNC(glNormal3fVertex3fSUN); \ FUNC(glNormal3fVertex3fvSUN); \ FUNC(glNormal3fv); \ FUNC(glNormal3hNV); \ FUNC(glNormal3hvNV); \ FUNC(glNormal3i); \ FUNC(glNormal3iv); \ FUNC(glNormal3s); \ FUNC(glNormal3sv); \ FUNC(glNormal3xOES); \ FUNC(glNormal3xvOES); \ FUNC(glNormalFormatNV); \ FUNC(glNormalP3ui); \ FUNC(glNormalP3uiv); \ FUNC(glNormalPointerEXT); \ FUNC(glNormalPointerListIBM); \ FUNC(glNormalPointer); \ FUNC(glNormalPointervINTEL); \ FUNC(glNormalStream3bATI); \ FUNC(glNormalStream3bvATI); \ FUNC(glNormalStream3dATI); \ FUNC(glNormalStream3dvATI); \ FUNC(glNormalStream3fATI); \ FUNC(glNormalStream3fvATI); \ FUNC(glNormalStream3iATI); \ FUNC(glNormalStream3ivATI); \ FUNC(glNormalStream3sATI); \ FUNC(glNormalStream3svATI); \ FUNC(glObjectPurgeableAPPLE); \ FUNC(glObjectUnpurgeableAPPLE); \ FUNC(glOrthofOES); \ FUNC(glOrtho); \ FUNC(glOrthoxOES); \ FUNC(glPassTexCoordATI); \ FUNC(glPassThrough); \ FUNC(glPassThroughxOES); \ FUNC(glPathColorGenNV); \ FUNC(glPathCommandsNV); \ FUNC(glPathCoordsNV); \ FUNC(glPathCoverDepthFuncNV); \ FUNC(glPathDashArrayNV); \ FUNC(glPathFogGenNV); \ FUNC(glPathGlyphIndexArrayNV); \ FUNC(glPathGlyphIndexRangeNV); \ FUNC(glPathGlyphRangeNV); \ FUNC(glPathGlyphsNV); \ FUNC(glPathMemoryGlyphIndexArrayNV); \ FUNC(glPathParameterfNV); \ FUNC(glPathParameterfvNV); \ FUNC(glPathParameteriNV); \ FUNC(glPathParameterivNV); \ FUNC(glPathStencilDepthOffsetNV); \ FUNC(glPathStencilFuncNV); \ FUNC(glPathStringNV); \ FUNC(glPathSubCommandsNV); \ FUNC(glPathSubCoordsNV); \ FUNC(glPathTexGenNV); \ FUNC(glPauseTransformFeedbackNV); \ FUNC(glPixelDataRangeNV); \ FUNC(glPixelMapfv); \ FUNC(glPixelMapuiv); \ FUNC(glPixelMapusv); \ FUNC(glPixelMapx); \ FUNC(glPixelStorex); \ FUNC(glPixelTexGenParameterfSGIS); \ FUNC(glPixelTexGenParameterfvSGIS); \ FUNC(glPixelTexGenParameteriSGIS); \ FUNC(glPixelTexGenParameterivSGIS); \ FUNC(glPixelTexGenSGIX); \ FUNC(glPixelTransferf); \ FUNC(glPixelTransferi); \ FUNC(glPixelTransferxOES); \ FUNC(glPixelTransformParameterfEXT); \ FUNC(glPixelTransformParameterfvEXT); \ FUNC(glPixelTransformParameteriEXT); \ FUNC(glPixelTransformParameterivEXT); \ FUNC(glPixelZoom); \ FUNC(glPixelZoomxOES); \ FUNC(glPNTrianglesfATI); \ FUNC(glPNTrianglesiATI); \ FUNC(glPointAlongPathNV); \ FUNC(glPointParameterfSGIS); \ FUNC(glPointParameterfvSGIS); \ FUNC(glPointParameteriNV); \ FUNC(glPointParameterivNV); \ FUNC(glPointParameterxvOES); \ FUNC(glPointSizexOES); \ FUNC(glPollAsyncSGIX); \ FUNC(glPollInstrumentsSGIX); \ FUNC(glPolygonModeNV); \ FUNC(glPolygonOffsetEXT); \ FUNC(glPolygonOffsetxOES); \ FUNC(glPolygonStipple); \ FUNC(glPopAttrib); \ FUNC(glPopClientAttrib); \ FUNC(glPopMatrix); \ FUNC(glPopName); \ FUNC(glPresentFrameDualFillNV); \ FUNC(glPresentFrameKeyedNV); \ FUNC(glPrimitiveRestartIndexNV); \ FUNC(glPrimitiveRestartNV); \ FUNC(glPrioritizeTexturesEXT); \ FUNC(glPrioritizeTextures); \ FUNC(glPrioritizeTexturesxOES); \ FUNC(glProgramBinaryOES); \ FUNC(glProgramBufferParametersfvNV); \ FUNC(glProgramBufferParametersIivNV); \ FUNC(glProgramBufferParametersIuivNV); \ FUNC(glProgramEnvParameter4dARB); \ FUNC(glProgramEnvParameter4dvARB); \ FUNC(glProgramEnvParameter4fARB); \ FUNC(glProgramEnvParameter4fvARB); \ FUNC(glProgramEnvParameterI4iNV); \ FUNC(glProgramEnvParameterI4ivNV); \ FUNC(glProgramEnvParameterI4uiNV); \ FUNC(glProgramEnvParameterI4uivNV); \ FUNC(glProgramEnvParameters4fvEXT); \ FUNC(glProgramEnvParametersI4ivNV); \ FUNC(glProgramEnvParametersI4uivNV); \ FUNC(glProgramLocalParameter4dARB); \ FUNC(glProgramLocalParameter4dvARB); \ FUNC(glProgramLocalParameter4fARB); \ FUNC(glProgramLocalParameter4fvARB); \ FUNC(glProgramLocalParameterI4iNV); \ FUNC(glProgramLocalParameterI4ivNV); \ FUNC(glProgramLocalParameterI4uiNV); \ FUNC(glProgramLocalParameterI4uivNV); \ FUNC(glProgramLocalParameters4fvEXT); \ FUNC(glProgramLocalParametersI4ivNV); \ FUNC(glProgramLocalParametersI4uivNV); \ FUNC(glProgramNamedParameter4dNV); \ FUNC(glProgramNamedParameter4dvNV); \ FUNC(glProgramNamedParameter4fNV); \ FUNC(glProgramNamedParameter4fvNV); \ FUNC(glProgramParameter4dNV); \ FUNC(glProgramParameter4dvNV); \ FUNC(glProgramParameter4fNV); \ FUNC(glProgramParameter4fvNV); \ FUNC(glProgramParameters4dvNV); \ FUNC(glProgramParameters4fvNV); \ FUNC(glProgramPathFragmentInputGenNV); \ FUNC(glProgramStringARB); \ FUNC(glProgramSubroutineParametersuivNV); \ FUNC(glProgramUniform1i64ARB); \ FUNC(glProgramUniform1i64NV); \ FUNC(glProgramUniform1i64vARB); \ FUNC(glProgramUniform1i64vNV); \ FUNC(glProgramUniform1ui64ARB); \ FUNC(glProgramUniform1ui64NV); \ FUNC(glProgramUniform1ui64vARB); \ FUNC(glProgramUniform1ui64vNV); \ FUNC(glProgramUniform2i64ARB); \ FUNC(glProgramUniform2i64NV); \ FUNC(glProgramUniform2i64vARB); \ FUNC(glProgramUniform2i64vNV); \ FUNC(glProgramUniform2ui64ARB); \ FUNC(glProgramUniform2ui64NV); \ FUNC(glProgramUniform2ui64vARB); \ FUNC(glProgramUniform2ui64vNV); \ FUNC(glProgramUniform3i64ARB); \ FUNC(glProgramUniform3i64NV); \ FUNC(glProgramUniform3i64vARB); \ FUNC(glProgramUniform3i64vNV); \ FUNC(glProgramUniform3ui64ARB); \ FUNC(glProgramUniform3ui64NV); \ FUNC(glProgramUniform3ui64vARB); \ FUNC(glProgramUniform3ui64vNV); \ FUNC(glProgramUniform4i64ARB); \ FUNC(glProgramUniform4i64NV); \ FUNC(glProgramUniform4i64vARB); \ FUNC(glProgramUniform4i64vNV); \ FUNC(glProgramUniform4ui64ARB); \ FUNC(glProgramUniform4ui64NV); \ FUNC(glProgramUniform4ui64vARB); \ FUNC(glProgramUniform4ui64vNV); \ FUNC(glProgramUniformHandleui64ARB); \ FUNC(glProgramUniformHandleui64IMG); \ FUNC(glProgramUniformHandleui64NV); \ FUNC(glProgramUniformHandleui64vARB); \ FUNC(glProgramUniformHandleui64vIMG); \ FUNC(glProgramUniformHandleui64vNV); \ FUNC(glProgramUniformui64NV); \ FUNC(glProgramUniformui64vNV); \ FUNC(glProgramVertexLimitNV); \ FUNC(glPushAttrib); \ FUNC(glPushClientAttribDefaultEXT); \ FUNC(glPushClientAttrib); \ FUNC(glPushMatrix); \ FUNC(glPushName); \ FUNC(glQueryMatrixxOES); \ FUNC(glQueryObjectParameteruiAMD); \ FUNC(glQueryResourceNV); \ FUNC(glQueryResourceTagNV); \ FUNC(glRasterPos2d); \ FUNC(glRasterPos2dv); \ FUNC(glRasterPos2f); \ FUNC(glRasterPos2fv); \ FUNC(glRasterPos2i); \ FUNC(glRasterPos2iv); \ FUNC(glRasterPos2s); \ FUNC(glRasterPos2sv); \ FUNC(glRasterPos2xOES); \ FUNC(glRasterPos2xvOES); \ FUNC(glRasterPos3d); \ FUNC(glRasterPos3dv); \ FUNC(glRasterPos3f); \ FUNC(glRasterPos3fv); \ FUNC(glRasterPos3i); \ FUNC(glRasterPos3iv); \ FUNC(glRasterPos3s); \ FUNC(glRasterPos3sv); \ FUNC(glRasterPos3xOES); \ FUNC(glRasterPos3xvOES); \ FUNC(glRasterPos4d); \ FUNC(glRasterPos4dv); \ FUNC(glRasterPos4f); \ FUNC(glRasterPos4fv); \ FUNC(glRasterPos4i); \ FUNC(glRasterPos4iv); \ FUNC(glRasterPos4s); \ FUNC(glRasterPos4sv); \ FUNC(glRasterPos4xOES); \ FUNC(glRasterPos4xvOES); \ FUNC(glReadBufferIndexedEXT); \ FUNC(glReadBufferNV); \ FUNC(glReadInstrumentsSGIX); \ FUNC(glReadnPixelsKHR); \ FUNC(glRectd); \ FUNC(glRectdv); \ FUNC(glRectf); \ FUNC(glRectfv); \ FUNC(glRecti); \ FUNC(glRectiv); \ FUNC(glRects); \ FUNC(glRectsv); \ FUNC(glRectxOES); \ FUNC(glRectxvOES); \ FUNC(glReferencePlaneSGIX); \ FUNC(glRenderbufferStorageMultisampleANGLE); \ FUNC(glRenderbufferStorageMultisampleAPPLE); \ FUNC(glRenderbufferStorageMultisampleCoverageNV); \ FUNC(glRenderbufferStorageMultisampleIMG); \ FUNC(glRenderbufferStorageMultisampleNV); \ FUNC(glRenderGpuMaskNV); \ FUNC(glRenderMode); \ FUNC(glReplacementCodePointerSUN); \ FUNC(glReplacementCodeubSUN); \ FUNC(glReplacementCodeubvSUN); \ FUNC(glReplacementCodeuiColor3fVertex3fSUN); \ FUNC(glReplacementCodeuiColor3fVertex3fvSUN); \ FUNC(glReplacementCodeuiColor4fNormal3fVertex3fSUN); \ FUNC(glReplacementCodeuiColor4fNormal3fVertex3fvSUN); \ FUNC(glReplacementCodeuiColor4ubVertex3fSUN); \ FUNC(glReplacementCodeuiColor4ubVertex3fvSUN); \ FUNC(glReplacementCodeuiNormal3fVertex3fSUN); \ FUNC(glReplacementCodeuiNormal3fVertex3fvSUN); \ FUNC(glReplacementCodeuiSUN); \ FUNC(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN); \ FUNC(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN); \ FUNC(glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN); \ FUNC(glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN); \ FUNC(glReplacementCodeuiTexCoord2fVertex3fSUN); \ FUNC(glReplacementCodeuiTexCoord2fVertex3fvSUN); \ FUNC(glReplacementCodeuiVertex3fSUN); \ FUNC(glReplacementCodeuiVertex3fvSUN); \ FUNC(glReplacementCodeuivSUN); \ FUNC(glReplacementCodeusSUN); \ FUNC(glReplacementCodeusvSUN); \ FUNC(glRequestResidentProgramsNV); \ FUNC(glResetHistogramEXT); \ FUNC(glResetHistogram); \ FUNC(glResetMinmaxEXT); \ FUNC(glResetMinmax); \ FUNC(glResizeBuffersMESA); \ FUNC(glResolveDepthValuesNV); \ FUNC(glResolveMultisampleFramebufferAPPLE); \ FUNC(glResumeTransformFeedbackNV); \ FUNC(glRotated); \ FUNC(glRotatef); \ FUNC(glRotatexOES); \ FUNC(glSampleMapATI); \ FUNC(glSampleMaskEXT); \ FUNC(glSampleMaskIndexedNV); \ FUNC(glSampleMaskSGIS); \ FUNC(glSamplePatternEXT); \ FUNC(glSamplePatternSGIS); \ FUNC(glScaled); \ FUNC(glScalef); \ FUNC(glScalexOES); \ FUNC(glSecondaryColor3bEXT); \ FUNC(glSecondaryColor3b); \ FUNC(glSecondaryColor3bvEXT); \ FUNC(glSecondaryColor3bv); \ FUNC(glSecondaryColor3dEXT); \ FUNC(glSecondaryColor3d); \ FUNC(glSecondaryColor3dvEXT); \ FUNC(glSecondaryColor3dv); \ FUNC(glSecondaryColor3fEXT); \ FUNC(glSecondaryColor3f); \ FUNC(glSecondaryColor3fvEXT); \ FUNC(glSecondaryColor3fv); \ FUNC(glSecondaryColor3hNV); \ FUNC(glSecondaryColor3hvNV); \ FUNC(glSecondaryColor3iEXT); \ FUNC(glSecondaryColor3i); \ FUNC(glSecondaryColor3ivEXT); \ FUNC(glSecondaryColor3iv); \ FUNC(glSecondaryColor3sEXT); \ FUNC(glSecondaryColor3s); \ FUNC(glSecondaryColor3svEXT); \ FUNC(glSecondaryColor3sv); \ FUNC(glSecondaryColor3ubEXT); \ FUNC(glSecondaryColor3ub); \ FUNC(glSecondaryColor3ubvEXT); \ FUNC(glSecondaryColor3ubv); \ FUNC(glSecondaryColor3uiEXT); \ FUNC(glSecondaryColor3ui); \ FUNC(glSecondaryColor3uivEXT); \ FUNC(glSecondaryColor3uiv); \ FUNC(glSecondaryColor3usEXT); \ FUNC(glSecondaryColor3us); \ FUNC(glSecondaryColor3usvEXT); \ FUNC(glSecondaryColor3usv); \ FUNC(glSecondaryColorFormatNV); \ FUNC(glSecondaryColorP3ui); \ FUNC(glSecondaryColorP3uiv); \ FUNC(glSecondaryColorPointerEXT); \ FUNC(glSecondaryColorPointerListIBM); \ FUNC(glSecondaryColorPointer); \ FUNC(glSelectBuffer); \ FUNC(glSelectPerfMonitorCountersAMD); \ FUNC(glSeparableFilter2DEXT); \ FUNC(glSeparableFilter2D); \ FUNC(glSetFenceAPPLE); \ FUNC(glSetFenceNV); \ FUNC(glSetFragmentShaderConstantATI); \ FUNC(glSetInvariantEXT); \ FUNC(glSetLocalConstantEXT); \ FUNC(glSetMultisamplefvAMD); \ FUNC(glShadeModel); \ FUNC(glShaderOp1EXT); \ FUNC(glShaderOp2EXT); \ FUNC(glShaderOp3EXT); \ FUNC(glShaderSourceARB); \ FUNC(glSharpenTexFuncSGIS); \ FUNC(glSignalVkFenceNV); \ FUNC(glSignalVkSemaphoreNV); \ FUNC(glSpriteParameterfSGIX); \ FUNC(glSpriteParameterfvSGIX); \ FUNC(glSpriteParameteriSGIX); \ FUNC(glSpriteParameterivSGIX); \ FUNC(glStartInstrumentsSGIX); \ FUNC(glStartTilingQCOM); \ FUNC(glStateCaptureNV); \ FUNC(glStencilClearTagEXT); \ FUNC(glStencilFillPathInstancedNV); \ FUNC(glStencilFillPathNV); \ FUNC(glStencilFuncSeparateATI); \ FUNC(glStencilOpSeparateATI); \ FUNC(glStencilOpValueAMD); \ FUNC(glStencilStrokePathInstancedNV); \ FUNC(glStencilStrokePathNV); \ FUNC(glStencilThenCoverFillPathInstancedNV); \ FUNC(glStencilThenCoverFillPathNV); \ FUNC(glStencilThenCoverStrokePathInstancedNV); \ FUNC(glStencilThenCoverStrokePathNV); \ FUNC(glStopInstrumentsSGIX); \ FUNC(glSubpixelPrecisionBiasNV); \ FUNC(glSwizzleEXT); \ FUNC(glSyncTextureINTEL); \ FUNC(glTagSampleBufferSGIX); \ FUNC(glTangent3bEXT); \ FUNC(glTangent3bvEXT); \ FUNC(glTangent3dEXT); \ FUNC(glTangent3dvEXT); \ FUNC(glTangent3fEXT); \ FUNC(glTangent3fvEXT); \ FUNC(glTangent3iEXT); \ FUNC(glTangent3ivEXT); \ FUNC(glTangent3sEXT); \ FUNC(glTangent3svEXT); \ FUNC(glTangentPointerEXT); \ FUNC(glTbufferMask3DFX); \ FUNC(glTessellationFactorAMD); \ FUNC(glTessellationModeAMD); \ FUNC(glTestFenceAPPLE); \ FUNC(glTestFenceNV); \ FUNC(glTestObjectAPPLE); \ FUNC(glTexBumpParameterfvATI); \ FUNC(glTexBumpParameterivATI); \ FUNC(glTexCoord1bOES); \ FUNC(glTexCoord1bvOES); \ FUNC(glTexCoord1d); \ FUNC(glTexCoord1dv); \ FUNC(glTexCoord1f); \ FUNC(glTexCoord1fv); \ FUNC(glTexCoord1hNV); \ FUNC(glTexCoord1hvNV); \ FUNC(glTexCoord1i); \ FUNC(glTexCoord1iv); \ FUNC(glTexCoord1s); \ FUNC(glTexCoord1sv); \ FUNC(glTexCoord1xOES); \ FUNC(glTexCoord1xvOES); \ FUNC(glTexCoord2bOES); \ FUNC(glTexCoord2bvOES); \ FUNC(glTexCoord2d); \ FUNC(glTexCoord2dv); \ FUNC(glTexCoord2fColor3fVertex3fSUN); \ FUNC(glTexCoord2fColor3fVertex3fvSUN); \ FUNC(glTexCoord2fColor4fNormal3fVertex3fSUN); \ FUNC(glTexCoord2fColor4fNormal3fVertex3fvSUN); \ FUNC(glTexCoord2fColor4ubVertex3fSUN); \ FUNC(glTexCoord2fColor4ubVertex3fvSUN); \ FUNC(glTexCoord2fNormal3fVertex3fSUN); \ FUNC(glTexCoord2fNormal3fVertex3fvSUN); \ FUNC(glTexCoord2f); \ FUNC(glTexCoord2fVertex3fSUN); \ FUNC(glTexCoord2fVertex3fvSUN); \ FUNC(glTexCoord2fv); \ FUNC(glTexCoord2hNV); \ FUNC(glTexCoord2hvNV); \ FUNC(glTexCoord2i); \ FUNC(glTexCoord2iv); \ FUNC(glTexCoord2s); \ FUNC(glTexCoord2sv); \ FUNC(glTexCoord2xOES); \ FUNC(glTexCoord2xvOES); \ FUNC(glTexCoord3bOES); \ FUNC(glTexCoord3bvOES); \ FUNC(glTexCoord3d); \ FUNC(glTexCoord3dv); \ FUNC(glTexCoord3f); \ FUNC(glTexCoord3fv); \ FUNC(glTexCoord3hNV); \ FUNC(glTexCoord3hvNV); \ FUNC(glTexCoord3i); \ FUNC(glTexCoord3iv); \ FUNC(glTexCoord3s); \ FUNC(glTexCoord3sv); \ FUNC(glTexCoord3xOES); \ FUNC(glTexCoord3xvOES); \ FUNC(glTexCoord4bOES); \ FUNC(glTexCoord4bvOES); \ FUNC(glTexCoord4d); \ FUNC(glTexCoord4dv); \ FUNC(glTexCoord4fColor4fNormal3fVertex4fSUN); \ FUNC(glTexCoord4fColor4fNormal3fVertex4fvSUN); \ FUNC(glTexCoord4f); \ FUNC(glTexCoord4fVertex4fSUN); \ FUNC(glTexCoord4fVertex4fvSUN); \ FUNC(glTexCoord4fv); \ FUNC(glTexCoord4hNV); \ FUNC(glTexCoord4hvNV); \ FUNC(glTexCoord4i); \ FUNC(glTexCoord4iv); \ FUNC(glTexCoord4s); \ FUNC(glTexCoord4sv); \ FUNC(glTexCoord4xOES); \ FUNC(glTexCoord4xvOES); \ FUNC(glTexCoordFormatNV); \ FUNC(glTexCoordP1ui); \ FUNC(glTexCoordP1uiv); \ FUNC(glTexCoordP2ui); \ FUNC(glTexCoordP2uiv); \ FUNC(glTexCoordP3ui); \ FUNC(glTexCoordP3uiv); \ FUNC(glTexCoordP4ui); \ FUNC(glTexCoordP4uiv); \ FUNC(glTexCoordPointerEXT); \ FUNC(glTexCoordPointerListIBM); \ FUNC(glTexCoordPointer); \ FUNC(glTexCoordPointervINTEL); \ FUNC(glTexEnvf); \ FUNC(glTexEnvfv); \ FUNC(glTexEnvi); \ FUNC(glTexEnviv); \ FUNC(glTexEnvxOES); \ FUNC(glTexEnvxvOES); \ FUNC(glTexFilterFuncSGIS); \ FUNC(glTexGend); \ FUNC(glTexGendv); \ FUNC(glTexGenf); \ FUNC(glTexGenfv); \ FUNC(glTexGeni); \ FUNC(glTexGeniv); \ FUNC(glTexGenxOES); \ FUNC(glTexGenxvOES); \ FUNC(glTexImage2DMultisampleCoverageNV); \ FUNC(glTexImage3DMultisampleCoverageNV); \ FUNC(glTexImage4DSGIS); \ FUNC(glTexPageCommitmentARB); \ FUNC(glTexPageCommitmentEXT); \ FUNC(glTexParameterxOES); \ FUNC(glTexParameterxvOES); \ FUNC(glTexRenderbufferNV); \ FUNC(glTexStorageSparseAMD); \ FUNC(glTexSubImage1DEXT); \ FUNC(glTexSubImage2DEXT); \ FUNC(glTexSubImage3DEXT); \ FUNC(glTexSubImage4DSGIS); \ FUNC(glTextureBarrierNV); \ FUNC(glTextureColorMaskSGIS); \ FUNC(glTextureImage2DMultisampleCoverageNV); \ FUNC(glTextureImage2DMultisampleNV); \ FUNC(glTextureImage3DMultisampleCoverageNV); \ FUNC(glTextureImage3DMultisampleNV); \ FUNC(glTextureLightEXT); \ FUNC(glTextureMaterialEXT); \ FUNC(glTextureNormalEXT); \ FUNC(glTexturePageCommitmentEXT); \ FUNC(glTextureRangeAPPLE); \ FUNC(glTextureRenderbufferEXT); \ FUNC(glTextureStorageSparseAMD); \ FUNC(glTrackMatrixNV); \ FUNC(glTransformFeedbackAttribsNV); \ FUNC(glTransformFeedbackStreamAttribsNV); \ FUNC(glTransformFeedbackVaryingsNV); \ FUNC(glTransformPathNV); \ FUNC(glTranslated); \ FUNC(glTranslatef); \ FUNC(glTranslatexOES); \ FUNC(glUniform1i64ARB); \ FUNC(glUniform1i64NV); \ FUNC(glUniform1i64vARB); \ FUNC(glUniform1i64vNV); \ FUNC(glUniform1ui64ARB); \ FUNC(glUniform1ui64NV); \ FUNC(glUniform1ui64vARB); \ FUNC(glUniform1ui64vNV); \ FUNC(glUniform2i64ARB); \ FUNC(glUniform2i64NV); \ FUNC(glUniform2i64vARB); \ FUNC(glUniform2i64vNV); \ FUNC(glUniform2ui64ARB); \ FUNC(glUniform2ui64NV); \ FUNC(glUniform2ui64vARB); \ FUNC(glUniform2ui64vNV); \ FUNC(glUniform3i64ARB); \ FUNC(glUniform3i64NV); \ FUNC(glUniform3i64vARB); \ FUNC(glUniform3i64vNV); \ FUNC(glUniform3ui64ARB); \ FUNC(glUniform3ui64NV); \ FUNC(glUniform3ui64vARB); \ FUNC(glUniform3ui64vNV); \ FUNC(glUniform4i64ARB); \ FUNC(glUniform4i64NV); \ FUNC(glUniform4i64vARB); \ FUNC(glUniform4i64vNV); \ FUNC(glUniform4ui64ARB); \ FUNC(glUniform4ui64NV); \ FUNC(glUniform4ui64vARB); \ FUNC(glUniform4ui64vNV); \ FUNC(glUniformBufferEXT); \ FUNC(glUniformHandleui64ARB); \ FUNC(glUniformHandleui64IMG); \ FUNC(glUniformHandleui64NV); \ FUNC(glUniformHandleui64vARB); \ FUNC(glUniformHandleui64vIMG); \ FUNC(glUniformHandleui64vNV); \ FUNC(glUniformMatrix2x3fvNV); \ FUNC(glUniformMatrix2x4fvNV); \ FUNC(glUniformMatrix3x2fvNV); \ FUNC(glUniformMatrix3x4fvNV); \ FUNC(glUniformMatrix4x2fvNV); \ FUNC(glUniformMatrix4x3fvNV); \ FUNC(glUniformui64NV); \ FUNC(glUniformui64vNV); \ FUNC(glUnlockArraysEXT); \ FUNC(glUnmapObjectBufferATI); \ FUNC(glUnmapTexture2DINTEL); \ FUNC(glUpdateObjectBufferATI); \ FUNC(glUseProgramObjectARB); \ FUNC(glUseShaderProgramEXT); \ #define ForEachUnsupported3(FUNC) \ FUNC(glValidateProgramARB); \ FUNC(glVariantArrayObjectATI); \ FUNC(glVariantbvEXT); \ FUNC(glVariantdvEXT); \ FUNC(glVariantfvEXT); \ FUNC(glVariantivEXT); \ FUNC(glVariantPointerEXT); \ FUNC(glVariantsvEXT); \ FUNC(glVariantubvEXT); \ FUNC(glVariantuivEXT); \ FUNC(glVariantusvEXT); \ FUNC(glVDPAUFiniNV); \ FUNC(glVDPAUGetSurfaceivNV); \ FUNC(glVDPAUInitNV); \ FUNC(glVDPAUIsSurfaceNV); \ FUNC(glVDPAUMapSurfacesNV); \ FUNC(glVDPAURegisterOutputSurfaceNV); \ FUNC(glVDPAURegisterVideoSurfaceNV); \ FUNC(glVDPAUSurfaceAccessNV); \ FUNC(glVDPAUUnmapSurfacesNV); \ FUNC(glVDPAUUnregisterSurfaceNV); \ FUNC(glVertex2bOES); \ FUNC(glVertex2bvOES); \ FUNC(glVertex2d); \ FUNC(glVertex2dv); \ FUNC(glVertex2f); \ FUNC(glVertex2fv); \ FUNC(glVertex2hNV); \ FUNC(glVertex2hvNV); \ FUNC(glVertex2i); \ FUNC(glVertex2iv); \ FUNC(glVertex2s); \ FUNC(glVertex2sv); \ FUNC(glVertex2xOES); \ FUNC(glVertex2xvOES); \ FUNC(glVertex3bOES); \ FUNC(glVertex3bvOES); \ FUNC(glVertex3d); \ FUNC(glVertex3dv); \ FUNC(glVertex3f); \ FUNC(glVertex3fv); \ FUNC(glVertex3hNV); \ FUNC(glVertex3hvNV); \ FUNC(glVertex3i); \ FUNC(glVertex3iv); \ FUNC(glVertex3s); \ FUNC(glVertex3sv); \ FUNC(glVertex3xOES); \ FUNC(glVertex3xvOES); \ FUNC(glVertex4bOES); \ FUNC(glVertex4bvOES); \ FUNC(glVertex4d); \ FUNC(glVertex4dv); \ FUNC(glVertex4f); \ FUNC(glVertex4fv); \ FUNC(glVertex4hNV); \ FUNC(glVertex4hvNV); \ FUNC(glVertex4i); \ FUNC(glVertex4iv); \ FUNC(glVertex4s); \ FUNC(glVertex4sv); \ FUNC(glVertex4xOES); \ FUNC(glVertex4xvOES); \ FUNC(glVertexArrayColorOffsetEXT); \ FUNC(glVertexArrayEdgeFlagOffsetEXT); \ FUNC(glVertexArrayFogCoordOffsetEXT); \ FUNC(glVertexArrayIndexOffsetEXT); \ FUNC(glVertexArrayMultiTexCoordOffsetEXT); \ FUNC(glVertexArrayNormalOffsetEXT); \ FUNC(glVertexArrayParameteriAPPLE); \ FUNC(glVertexArrayRangeAPPLE); \ FUNC(glVertexArrayRangeNV); \ FUNC(glVertexArraySecondaryColorOffsetEXT); \ FUNC(glVertexArrayTexCoordOffsetEXT); \ FUNC(glVertexArrayVertexOffsetEXT); \ FUNC(glVertexAttrib1dNV); \ FUNC(glVertexAttrib1dvNV); \ FUNC(glVertexAttrib1fNV); \ FUNC(glVertexAttrib1fvNV); \ FUNC(glVertexAttrib1hNV); \ FUNC(glVertexAttrib1hvNV); \ FUNC(glVertexAttrib1sNV); \ FUNC(glVertexAttrib1svNV); \ FUNC(glVertexAttrib2dNV); \ FUNC(glVertexAttrib2dvNV); \ FUNC(glVertexAttrib2fNV); \ FUNC(glVertexAttrib2fvNV); \ FUNC(glVertexAttrib2hNV); \ FUNC(glVertexAttrib2hvNV); \ FUNC(glVertexAttrib2sNV); \ FUNC(glVertexAttrib2svNV); \ FUNC(glVertexAttrib3dNV); \ FUNC(glVertexAttrib3dvNV); \ FUNC(glVertexAttrib3fNV); \ FUNC(glVertexAttrib3fvNV); \ FUNC(glVertexAttrib3hNV); \ FUNC(glVertexAttrib3hvNV); \ FUNC(glVertexAttrib3sNV); \ FUNC(glVertexAttrib3svNV); \ FUNC(glVertexAttrib4dNV); \ FUNC(glVertexAttrib4dvNV); \ FUNC(glVertexAttrib4fNV); \ FUNC(glVertexAttrib4fvNV); \ FUNC(glVertexAttrib4hNV); \ FUNC(glVertexAttrib4hvNV); \ FUNC(glVertexAttrib4NubARB); \ FUNC(glVertexAttrib4sNV); \ FUNC(glVertexAttrib4svNV); \ FUNC(glVertexAttrib4ubNV); \ FUNC(glVertexAttrib4ubvNV); \ FUNC(glVertexAttribArrayObjectATI); \ FUNC(glVertexAttribDivisorANGLE); \ FUNC(glVertexAttribDivisorEXT); \ FUNC(glVertexAttribDivisorNV); \ FUNC(glVertexAttribFormatNV); \ FUNC(glVertexAttribIFormatNV); \ FUNC(glVertexAttribL1i64NV); \ FUNC(glVertexAttribL1i64vNV); \ FUNC(glVertexAttribL1ui64ARB); \ FUNC(glVertexAttribL1ui64NV); \ FUNC(glVertexAttribL1ui64vARB); \ FUNC(glVertexAttribL1ui64vNV); \ FUNC(glVertexAttribL2i64NV); \ FUNC(glVertexAttribL2i64vNV); \ FUNC(glVertexAttribL2ui64NV); \ FUNC(glVertexAttribL2ui64vNV); \ FUNC(glVertexAttribL3i64NV); \ FUNC(glVertexAttribL3i64vNV); \ FUNC(glVertexAttribL3ui64NV); \ FUNC(glVertexAttribL3ui64vNV); \ FUNC(glVertexAttribL4i64NV); \ FUNC(glVertexAttribL4i64vNV); \ FUNC(glVertexAttribL4ui64NV); \ FUNC(glVertexAttribL4ui64vNV); \ FUNC(glVertexAttribLFormatNV); \ FUNC(glVertexAttribParameteriAMD); \ FUNC(glVertexAttribPointerNV); \ FUNC(glVertexAttribs1dvNV); \ FUNC(glVertexAttribs1fvNV); \ FUNC(glVertexAttribs1hvNV); \ FUNC(glVertexAttribs1svNV); \ FUNC(glVertexAttribs2dvNV); \ FUNC(glVertexAttribs2fvNV); \ FUNC(glVertexAttribs2hvNV); \ FUNC(glVertexAttribs2svNV); \ FUNC(glVertexAttribs3dvNV); \ FUNC(glVertexAttribs3fvNV); \ FUNC(glVertexAttribs3hvNV); \ FUNC(glVertexAttribs3svNV); \ FUNC(glVertexAttribs4dvNV); \ FUNC(glVertexAttribs4fvNV); \ FUNC(glVertexAttribs4hvNV); \ FUNC(glVertexAttribs4svNV); \ FUNC(glVertexAttribs4ubvNV); \ FUNC(glVertexBlendARB); \ FUNC(glVertexBlendEnvfATI); \ FUNC(glVertexBlendEnviATI); \ FUNC(glVertexFormatNV); \ FUNC(glVertexP2ui); \ FUNC(glVertexP2uiv); \ FUNC(glVertexP3ui); \ FUNC(glVertexP3uiv); \ FUNC(glVertexP4ui); \ FUNC(glVertexP4uiv); \ FUNC(glVertexPointerEXT); \ FUNC(glVertexPointerListIBM); \ FUNC(glVertexPointer); \ FUNC(glVertexPointervINTEL); \ FUNC(glVertexStream1dATI); \ FUNC(glVertexStream1dvATI); \ FUNC(glVertexStream1fATI); \ FUNC(glVertexStream1fvATI); \ FUNC(glVertexStream1iATI); \ FUNC(glVertexStream1ivATI); \ FUNC(glVertexStream1sATI); \ FUNC(glVertexStream1svATI); \ FUNC(glVertexStream2dATI); \ FUNC(glVertexStream2dvATI); \ FUNC(glVertexStream2fATI); \ FUNC(glVertexStream2fvATI); \ FUNC(glVertexStream2iATI); \ FUNC(glVertexStream2ivATI); \ FUNC(glVertexStream2sATI); \ FUNC(glVertexStream2svATI); \ FUNC(glVertexStream3dATI); \ FUNC(glVertexStream3dvATI); \ FUNC(glVertexStream3fATI); \ FUNC(glVertexStream3fvATI); \ FUNC(glVertexStream3iATI); \ FUNC(glVertexStream3ivATI); \ FUNC(glVertexStream3sATI); \ FUNC(glVertexStream3svATI); \ FUNC(glVertexStream4dATI); \ FUNC(glVertexStream4dvATI); \ FUNC(glVertexStream4fATI); \ FUNC(glVertexStream4fvATI); \ FUNC(glVertexStream4iATI); \ FUNC(glVertexStream4ivATI); \ FUNC(glVertexStream4sATI); \ FUNC(glVertexStream4svATI); \ FUNC(glVertexWeightfEXT); \ FUNC(glVertexWeightfvEXT); \ FUNC(glVertexWeighthNV); \ FUNC(glVertexWeighthvNV); \ FUNC(glVertexWeightPointerEXT); \ FUNC(glVideoCaptureNV); \ FUNC(glVideoCaptureStreamParameterdvNV); \ FUNC(glVideoCaptureStreamParameterfvNV); \ FUNC(glVideoCaptureStreamParameterivNV); \ FUNC(glViewportPositionWScaleNV); \ FUNC(glViewportSwizzleNV); \ FUNC(glWaitSyncAPPLE); \ FUNC(glWaitVkSemaphoreNV); \ FUNC(glWeightbvARB); \ FUNC(glWeightdvARB); \ FUNC(glWeightfvARB); \ FUNC(glWeightivARB); \ FUNC(glWeightPathsNV); \ FUNC(glWeightPointerARB); \ FUNC(glWeightsvARB); \ FUNC(glWeightubvARB); \ FUNC(glWeightuivARB); \ FUNC(glWeightusvARB); \ FUNC(glWindowPos2dARB); \ FUNC(glWindowPos2dMESA); \ FUNC(glWindowPos2d); \ FUNC(glWindowPos2dvARB); \ FUNC(glWindowPos2dvMESA); \ FUNC(glWindowPos2dv); \ FUNC(glWindowPos2fARB); \ FUNC(glWindowPos2fMESA); \ FUNC(glWindowPos2f); \ FUNC(glWindowPos2fvARB); \ FUNC(glWindowPos2fvMESA); \ FUNC(glWindowPos2fv); \ FUNC(glWindowPos2iARB); \ FUNC(glWindowPos2iMESA); \ FUNC(glWindowPos2i); \ FUNC(glWindowPos2ivARB); \ FUNC(glWindowPos2ivMESA); \ FUNC(glWindowPos2iv); \ FUNC(glWindowPos2sARB); \ FUNC(glWindowPos2sMESA); \ FUNC(glWindowPos2s); \ FUNC(glWindowPos2svARB); \ FUNC(glWindowPos2svMESA); \ FUNC(glWindowPos2sv); \ FUNC(glWindowPos3dARB); \ FUNC(glWindowPos3dMESA); \ FUNC(glWindowPos3d); \ FUNC(glWindowPos3dvARB); \ FUNC(glWindowPos3dvMESA); \ FUNC(glWindowPos3dv); \ FUNC(glWindowPos3fARB); \ FUNC(glWindowPos3fMESA); \ FUNC(glWindowPos3f); \ FUNC(glWindowPos3fvARB); \ FUNC(glWindowPos3fvMESA); \ FUNC(glWindowPos3fv); \ FUNC(glWindowPos3iARB); \ FUNC(glWindowPos3iMESA); \ FUNC(glWindowPos3i); \ FUNC(glWindowPos3ivARB); \ FUNC(glWindowPos3ivMESA); \ FUNC(glWindowPos3iv); \ FUNC(glWindowPos3sARB); \ FUNC(glWindowPos3sMESA); \ FUNC(glWindowPos3s); \ FUNC(glWindowPos3svARB); \ FUNC(glWindowPos3svMESA); \ FUNC(glWindowPos3sv); \ FUNC(glWindowPos4dMESA); \ FUNC(glWindowPos4dvMESA); \ FUNC(glWindowPos4fMESA); \ FUNC(glWindowPos4fvMESA); \ FUNC(glWindowPos4iMESA); \ FUNC(glWindowPos4ivMESA); \ FUNC(glWindowPos4sMESA); \ FUNC(glWindowPos4svMESA); \ FUNC(glWindowRectanglesEXT); \ FUNC(glWriteMaskEXT); \ #define ForEachUnsupportedGroup(GROUP_FUNC, FUNC) \ GROUP_FUNC(ForEachUnsupported0, FUNC) \ GROUP_FUNC(ForEachUnsupported1, FUNC) \ GROUP_FUNC(ForEachUnsupported2, FUNC) \ GROUP_FUNC(ForEachUnsupported3, FUNC) #define ForEachUnsupported(FUNC) ForEachUnsupportedGroup(InvokeForEachInGroup, FUNC) #define DefineUnsupportedHooks() \ UnsupportedWrapper2(void, glAccum, GLenum, op, GLfloat, value); \ UnsupportedWrapper2(void, glAccumxOES, GLenum, op, GLfixed, value); \ UnsupportedWrapper1(void, glActiveProgramEXT, GLuint, program); \ UnsupportedWrapper1(void, glActiveStencilFaceEXT, GLenum, face); \ UnsupportedWrapper2(void, glActiveVaryingNV, GLuint, program, const GLchar *, name); \ UnsupportedWrapper6(void, glAlphaFragmentOp1ATI, GLenum, op, GLuint, dst, GLuint, dstMod, GLuint, arg1, GLuint, arg1Rep, GLuint, arg1Mod); \ UnsupportedWrapper9(void, glAlphaFragmentOp2ATI, GLenum, op, GLuint, dst, GLuint, dstMod, GLuint, arg1, GLuint, arg1Rep, GLuint, arg1Mod, GLuint, arg2, GLuint, arg2Rep, GLuint, arg2Mod); \ UnsupportedWrapper12(void, glAlphaFragmentOp3ATI, GLenum, op, GLuint, dst, GLuint, dstMod, GLuint, arg1, GLuint, arg1Rep, GLuint, arg1Mod, GLuint, arg2, GLuint, arg2Rep, GLuint, arg2Mod, GLuint, arg3, GLuint, arg3Rep, GLuint, arg3Mod); \ UnsupportedWrapper2(void, glAlphaFunc, GLenum, func, GLfloat, ref); \ UnsupportedWrapper2(void, glAlphaFuncQCOM, GLenum, func, GLclampf, ref); \ UnsupportedWrapper2(void, glAlphaFuncxOES, GLenum, func, GLfixed, ref); \ UnsupportedWrapper1(void, glAlphaToCoverageDitherControlNV, GLenum, mode); \ UnsupportedWrapper0(void, glApplyFramebufferAttachmentCMAAINTEL); \ UnsupportedWrapper1(void, glApplyTextureEXT, GLenum, mode); \ UnsupportedWrapper3(GLboolean, glAreProgramsResidentNV, GLsizei, n, const GLuint *, programs, GLboolean *, residences); \ UnsupportedWrapper3(GLboolean, glAreTexturesResidentEXT, GLsizei, n, const GLuint *, textures, GLboolean *, residences); \ UnsupportedWrapper3(GLboolean, glAreTexturesResident, GLsizei, n, const GLuint *, textures, GLboolean *, residences); \ UnsupportedWrapper1(void, glArrayElementEXT, GLint, i); \ UnsupportedWrapper1(void, glArrayElement, GLint, i); \ UnsupportedWrapper6(void, glArrayObjectATI, GLenum, array, GLint, size, GLenum, type, GLsizei, stride, GLuint, buffer, GLuint, offset); \ UnsupportedWrapper1(void, glAsyncMarkerSGIX, GLuint, marker); \ UnsupportedWrapper2(void, glAttachObjectARB, GLhandleARB, containerObj, GLhandleARB, obj); \ UnsupportedWrapper2(void, glBeginConditionalRenderNV, GLuint, id, GLenum, mode); \ UnsupportedWrapper1(void, glBeginConditionalRenderNVX, GLuint, id); \ UnsupportedWrapper0(void, glBeginFragmentShaderATI); \ UnsupportedWrapper1(void, glBeginOcclusionQueryNV, GLuint, id); \ UnsupportedWrapper1(void, glBeginPerfMonitorAMD, GLuint, monitor); \ UnsupportedWrapper1(void, glBegin, GLenum, mode); \ UnsupportedWrapper1(void, glBeginTransformFeedbackNV, GLenum, primitiveMode); \ UnsupportedWrapper0(void, glBeginVertexShaderEXT); \ UnsupportedWrapper1(void, glBeginVideoCaptureNV, GLuint, video_capture_slot); \ UnsupportedWrapper3(void, glBindAttribLocationARB, GLhandleARB, programObj, GLuint, index, const GLcharARB *, name); \ UnsupportedWrapper3(void, glBindBufferBaseNV, GLenum, target, GLuint, index, GLuint, buffer); \ UnsupportedWrapper4(void, glBindBufferOffsetEXT, GLenum, target, GLuint, index, GLuint, buffer, GLintptr, offset); \ UnsupportedWrapper4(void, glBindBufferOffsetNV, GLenum, target, GLuint, index, GLuint, buffer, GLintptr, offset); \ UnsupportedWrapper5(void, glBindBufferRangeNV, GLenum, target, GLuint, index, GLuint, buffer, GLintptr, offset, GLsizeiptr, size); \ UnsupportedWrapper4(void, glBindFragDataLocationIndexedEXT, GLuint, program, GLuint, colorNumber, GLuint, index, const GLchar *, name); \ UnsupportedWrapper1(void, glBindFragmentShaderATI, GLuint, id); \ UnsupportedWrapper2(GLuint, glBindLightParameterEXT, GLenum, light, GLenum, value); \ UnsupportedWrapper2(GLuint, glBindMaterialParameterEXT, GLenum, face, GLenum, value); \ UnsupportedWrapper1(GLuint, glBindParameterEXT, GLenum, value); \ UnsupportedWrapper2(void, glBindProgramARB, GLenum, target, GLuint, program); \ UnsupportedWrapper2(void, glBindProgramNV, GLenum, target, GLuint, id); \ UnsupportedWrapper3(GLuint, glBindTexGenParameterEXT, GLenum, unit, GLenum, coord, GLenum, value); \ UnsupportedWrapper2(void, glBindTextureEXT, GLenum, target, GLuint, texture); \ UnsupportedWrapper2(GLuint, glBindTextureUnitParameterEXT, GLenum, unit, GLenum, value); \ UnsupportedWrapper2(void, glBindTransformFeedbackNV, GLenum, target, GLuint, id); \ UnsupportedWrapper1(void, glBindVertexArrayAPPLE, GLuint, array); \ UnsupportedWrapper1(void, glBindVertexShaderEXT, GLuint, id); \ UnsupportedWrapper4(void, glBindVideoCaptureStreamBufferNV, GLuint, video_capture_slot, GLuint, stream, GLenum, frame_region, GLintptrARB, offset); \ UnsupportedWrapper5(void, glBindVideoCaptureStreamTextureNV, GLuint, video_capture_slot, GLuint, stream, GLenum, frame_region, GLenum, target, GLuint, texture); \ UnsupportedWrapper3(void, glBinormal3bEXT, GLbyte, bx, GLbyte, by, GLbyte, bz); \ UnsupportedWrapper1(void, glBinormal3bvEXT, const GLbyte *, v); \ UnsupportedWrapper3(void, glBinormal3dEXT, GLdouble, bx, GLdouble, by, GLdouble, bz); \ UnsupportedWrapper1(void, glBinormal3dvEXT, const GLdouble *, v); \ UnsupportedWrapper3(void, glBinormal3fEXT, GLfloat, bx, GLfloat, by, GLfloat, bz); \ UnsupportedWrapper1(void, glBinormal3fvEXT, const GLfloat *, v); \ UnsupportedWrapper3(void, glBinormal3iEXT, GLint, bx, GLint, by, GLint, bz); \ UnsupportedWrapper1(void, glBinormal3ivEXT, const GLint *, v); \ UnsupportedWrapper3(void, glBinormal3sEXT, GLshort, bx, GLshort, by, GLshort, bz); \ UnsupportedWrapper1(void, glBinormal3svEXT, const GLshort *, v); \ UnsupportedWrapper3(void, glBinormalPointerEXT, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper7(void, glBitmap, GLsizei, width, GLsizei, height, GLfloat, xorig, GLfloat, yorig, GLfloat, xmove, GLfloat, ymove, const GLubyte *, bitmap); \ UnsupportedWrapper7(void, glBitmapxOES, GLsizei, width, GLsizei, height, GLfixed, xorig, GLfixed, yorig, GLfixed, xmove, GLfixed, ymove, const GLubyte *, bitmap); \ UnsupportedWrapper0(void, glBlendBarrierNV); \ UnsupportedWrapper4(void, glBlendColorxOES, GLfixed, red, GLfixed, green, GLfixed, blue, GLfixed, alpha); \ UnsupportedWrapper2(void, glBlendEquationIndexedAMD, GLuint, buf, GLenum, mode); \ UnsupportedWrapper3(void, glBlendEquationSeparateIndexedAMD, GLuint, buf, GLenum, modeRGB, GLenum, modeAlpha); \ UnsupportedWrapper3(void, glBlendFuncIndexedAMD, GLuint, buf, GLenum, src, GLenum, dst); \ UnsupportedWrapper4(void, glBlendFuncSeparateEXT, GLenum, sfactorRGB, GLenum, dfactorRGB, GLenum, sfactorAlpha, GLenum, dfactorAlpha); \ UnsupportedWrapper5(void, glBlendFuncSeparateIndexedAMD, GLuint, buf, GLenum, srcRGB, GLenum, dstRGB, GLenum, srcAlpha, GLenum, dstAlpha); \ UnsupportedWrapper4(void, glBlendFuncSeparateINGR, GLenum, sfactorRGB, GLenum, dfactorRGB, GLenum, sfactorAlpha, GLenum, dfactorAlpha); \ UnsupportedWrapper2(void, glBlendParameteriNV, GLenum, pname, GLint, value); \ UnsupportedWrapper10(void, glBlitFramebufferANGLE, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ UnsupportedWrapper10(void, glBlitFramebufferNV, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ UnsupportedWrapper4(void, glBufferAddressRangeNV, GLenum, pname, GLuint, index, GLuint64EXT, address, GLsizeiptr, length); \ UnsupportedWrapper4(void, glBufferPageCommitmentARB, GLenum, target, GLintptr, offset, GLsizeiptr, size, GLboolean, commit); \ UnsupportedWrapper3(void, glBufferParameteriAPPLE, GLenum, target, GLenum, pname, GLint, param); \ UnsupportedWrapper5(void, glBufferStorageExternalEXT, GLenum, target, GLintptr, offset, GLsizeiptr, size, GLeglClientBufferEXT, clientBuffer, GLbitfield, flags); \ UnsupportedWrapper1(void, glCallCommandListNV, GLuint, list); \ UnsupportedWrapper1(void, glCallList, GLuint, list); \ UnsupportedWrapper3(void, glCallLists, GLsizei, n, GLenum, type, const void *, lists); \ UnsupportedWrapper4(void, glClearAccum, GLfloat, red, GLfloat, green, GLfloat, blue, GLfloat, alpha); \ UnsupportedWrapper4(void, glClearAccumxOES, GLfixed, red, GLfixed, green, GLfixed, blue, GLfixed, alpha); \ UnsupportedWrapper4(void, glClearColorIiEXT, GLint, red, GLint, green, GLint, blue, GLint, alpha); \ UnsupportedWrapper4(void, glClearColorIuiEXT, GLuint, red, GLuint, green, GLuint, blue, GLuint, alpha); \ UnsupportedWrapper4(void, glClearColorxOES, GLfixed, red, GLfixed, green, GLfixed, blue, GLfixed, alpha); \ UnsupportedWrapper1(void, glClearDepthdNV, GLdouble, depth); \ UnsupportedWrapper1(void, glClearDepthfOES, GLclampf, depth); \ UnsupportedWrapper1(void, glClearDepthxOES, GLfixed, depth); \ UnsupportedWrapper1(void, glClearIndex, GLfloat, c); \ UnsupportedWrapper3(void, glClearPixelLocalStorageuiEXT, GLsizei, offset, GLsizei, n, const GLuint *, values); \ UnsupportedWrapper5(void, glClearTexImageEXT, GLuint, texture, GLint, level, GLenum, format, GLenum, type, const void *, data); \ UnsupportedWrapper11(void, glClearTexSubImageEXT, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, data); \ UnsupportedWrapper1(void, glClientActiveTextureARB, GLenum, texture); \ UnsupportedWrapper1(void, glClientActiveTexture, GLenum, texture); \ UnsupportedWrapper1(void, glClientActiveVertexStreamATI, GLenum, stream); \ UnsupportedWrapper1(void, glClientAttribDefaultEXT, GLbitfield, mask); \ UnsupportedWrapper3(GLenum, glClientWaitSyncAPPLE, GLsync, sync, GLbitfield, flags, GLuint64, timeout); \ UnsupportedWrapper2(void, glClipControlEXT, GLenum, origin, GLenum, depth); \ UnsupportedWrapper2(void, glClipPlanefOES, GLenum, plane, const GLfloat *, equation); \ UnsupportedWrapper2(void, glClipPlane, GLenum, plane, const GLdouble *, equation); \ UnsupportedWrapper2(void, glClipPlanexOES, GLenum, plane, const GLfixed *, equation); \ UnsupportedWrapper3(void, glColor3b, GLbyte, red, GLbyte, green, GLbyte, blue); \ UnsupportedWrapper1(void, glColor3bv, const GLbyte *, v); \ UnsupportedWrapper3(void, glColor3d, GLdouble, red, GLdouble, green, GLdouble, blue); \ UnsupportedWrapper1(void, glColor3dv, const GLdouble *, v); \ UnsupportedWrapper3(void, glColor3f, GLfloat, red, GLfloat, green, GLfloat, blue); \ UnsupportedWrapper6(void, glColor3fVertex3fSUN, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper2(void, glColor3fVertex3fvSUN, const GLfloat *, c, const GLfloat *, v); \ UnsupportedWrapper1(void, glColor3fv, const GLfloat *, v); \ UnsupportedWrapper3(void, glColor3hNV, GLhalfNV, red, GLhalfNV, green, GLhalfNV, blue); \ UnsupportedWrapper1(void, glColor3hvNV, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glColor3i, GLint, red, GLint, green, GLint, blue); \ UnsupportedWrapper1(void, glColor3iv, const GLint *, v); \ UnsupportedWrapper3(void, glColor3s, GLshort, red, GLshort, green, GLshort, blue); \ UnsupportedWrapper1(void, glColor3sv, const GLshort *, v); \ UnsupportedWrapper3(void, glColor3ub, GLubyte, red, GLubyte, green, GLubyte, blue); \ UnsupportedWrapper1(void, glColor3ubv, const GLubyte *, v); \ UnsupportedWrapper3(void, glColor3ui, GLuint, red, GLuint, green, GLuint, blue); \ UnsupportedWrapper1(void, glColor3uiv, const GLuint *, v); \ UnsupportedWrapper3(void, glColor3us, GLushort, red, GLushort, green, GLushort, blue); \ UnsupportedWrapper1(void, glColor3usv, const GLushort *, v); \ UnsupportedWrapper3(void, glColor3xOES, GLfixed, red, GLfixed, green, GLfixed, blue); \ UnsupportedWrapper1(void, glColor3xvOES, const GLfixed *, components); \ UnsupportedWrapper4(void, glColor4b, GLbyte, red, GLbyte, green, GLbyte, blue, GLbyte, alpha); \ UnsupportedWrapper1(void, glColor4bv, const GLbyte *, v); \ UnsupportedWrapper4(void, glColor4d, GLdouble, red, GLdouble, green, GLdouble, blue, GLdouble, alpha); \ UnsupportedWrapper1(void, glColor4dv, const GLdouble *, v); \ UnsupportedWrapper10(void, glColor4fNormal3fVertex3fSUN, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, a, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glColor4fNormal3fVertex3fvSUN, const GLfloat *, c, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper4(void, glColor4f, GLfloat, red, GLfloat, green, GLfloat, blue, GLfloat, alpha); \ UnsupportedWrapper1(void, glColor4fv, const GLfloat *, v); \ UnsupportedWrapper4(void, glColor4hNV, GLhalfNV, red, GLhalfNV, green, GLhalfNV, blue, GLhalfNV, alpha); \ UnsupportedWrapper1(void, glColor4hvNV, const GLhalfNV *, v); \ UnsupportedWrapper4(void, glColor4i, GLint, red, GLint, green, GLint, blue, GLint, alpha); \ UnsupportedWrapper1(void, glColor4iv, const GLint *, v); \ UnsupportedWrapper4(void, glColor4s, GLshort, red, GLshort, green, GLshort, blue, GLshort, alpha); \ UnsupportedWrapper1(void, glColor4sv, const GLshort *, v); \ UnsupportedWrapper4(void, glColor4ub, GLubyte, red, GLubyte, green, GLubyte, blue, GLubyte, alpha); \ UnsupportedWrapper6(void, glColor4ubVertex2fSUN, GLubyte, r, GLubyte, g, GLubyte, b, GLubyte, a, GLfloat, x, GLfloat, y); \ UnsupportedWrapper2(void, glColor4ubVertex2fvSUN, const GLubyte *, c, const GLfloat *, v); \ UnsupportedWrapper7(void, glColor4ubVertex3fSUN, GLubyte, r, GLubyte, g, GLubyte, b, GLubyte, a, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper2(void, glColor4ubVertex3fvSUN, const GLubyte *, c, const GLfloat *, v); \ UnsupportedWrapper1(void, glColor4ubv, const GLubyte *, v); \ UnsupportedWrapper4(void, glColor4ui, GLuint, red, GLuint, green, GLuint, blue, GLuint, alpha); \ UnsupportedWrapper1(void, glColor4uiv, const GLuint *, v); \ UnsupportedWrapper4(void, glColor4us, GLushort, red, GLushort, green, GLushort, blue, GLushort, alpha); \ UnsupportedWrapper1(void, glColor4usv, const GLushort *, v); \ UnsupportedWrapper4(void, glColor4xOES, GLfixed, red, GLfixed, green, GLfixed, blue, GLfixed, alpha); \ UnsupportedWrapper1(void, glColor4xvOES, const GLfixed *, components); \ UnsupportedWrapper3(void, glColorFormatNV, GLint, size, GLenum, type, GLsizei, stride); \ UnsupportedWrapper7(void, glColorFragmentOp1ATI, GLenum, op, GLuint, dst, GLuint, dstMask, GLuint, dstMod, GLuint, arg1, GLuint, arg1Rep, GLuint, arg1Mod); \ UnsupportedWrapper10(void, glColorFragmentOp2ATI, GLenum, op, GLuint, dst, GLuint, dstMask, GLuint, dstMod, GLuint, arg1, GLuint, arg1Rep, GLuint, arg1Mod, GLuint, arg2, GLuint, arg2Rep, GLuint, arg2Mod); \ UnsupportedWrapper13(void, glColorFragmentOp3ATI, GLenum, op, GLuint, dst, GLuint, dstMask, GLuint, dstMod, GLuint, arg1, GLuint, arg1Rep, GLuint, arg1Mod, GLuint, arg2, GLuint, arg2Rep, GLuint, arg2Mod, GLuint, arg3, GLuint, arg3Rep, GLuint, arg3Mod); \ UnsupportedWrapper2(void, glColorMaterial, GLenum, face, GLenum, mode); \ UnsupportedWrapper2(void, glColorP3ui, GLenum, type, GLuint, color); \ UnsupportedWrapper2(void, glColorP3uiv, GLenum, type, const GLuint *, color); \ UnsupportedWrapper2(void, glColorP4ui, GLenum, type, GLuint, color); \ UnsupportedWrapper2(void, glColorP4uiv, GLenum, type, const GLuint *, color); \ UnsupportedWrapper5(void, glColorPointerEXT, GLint, size, GLenum, type, GLsizei, stride, GLsizei, count, const void *, pointer); \ UnsupportedWrapper5(void, glColorPointerListIBM, GLint, size, GLenum, type, GLint, stride, const void **, pointer, GLint, ptrstride); \ UnsupportedWrapper4(void, glColorPointer, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper3(void, glColorPointervINTEL, GLint, size, GLenum, type, const void **, pointer); \ UnsupportedWrapper6(void, glColorSubTableEXT, GLenum, target, GLsizei, start, GLsizei, count, GLenum, format, GLenum, type, const void *, data); \ UnsupportedWrapper6(void, glColorSubTable, GLenum, target, GLsizei, start, GLsizei, count, GLenum, format, GLenum, type, const void *, data); \ UnsupportedWrapper6(void, glColorTableEXT, GLenum, target, GLenum, internalFormat, GLsizei, width, GLenum, format, GLenum, type, const void *, table); \ UnsupportedWrapper3(void, glColorTableParameterfv, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glColorTableParameterfvSGI, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glColorTableParameteriv, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glColorTableParameterivSGI, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper6(void, glColorTable, GLenum, target, GLenum, internalformat, GLsizei, width, GLenum, format, GLenum, type, const void *, table); \ UnsupportedWrapper6(void, glColorTableSGI, GLenum, target, GLenum, internalformat, GLsizei, width, GLenum, format, GLenum, type, const void *, table); \ UnsupportedWrapper6(void, glCombinerInputNV, GLenum, stage, GLenum, portion, GLenum, variable, GLenum, input, GLenum, mapping, GLenum, componentUsage); \ UnsupportedWrapper10(void, glCombinerOutputNV, GLenum, stage, GLenum, portion, GLenum, abOutput, GLenum, cdOutput, GLenum, sumOutput, GLenum, scale, GLenum, bias, GLboolean, abDotProduct, GLboolean, cdDotProduct, GLboolean, muxSum); \ UnsupportedWrapper2(void, glCombinerParameterfNV, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glCombinerParameterfvNV, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glCombinerParameteriNV, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glCombinerParameterivNV, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glCombinerStageParameterfvNV, GLenum, stage, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glCommandListSegmentsNV, GLuint, list, GLuint, segments); \ UnsupportedWrapper1(void, glCompileCommandListNV, GLuint, list); \ UnsupportedWrapper1(void, glCompileShaderARB, GLhandleARB, shaderObj); \ UnsupportedWrapper2(void, glConservativeRasterParameterfNV, GLenum, pname, GLfloat, value); \ UnsupportedWrapper2(void, glConservativeRasterParameteriNV, GLenum, pname, GLint, param); \ UnsupportedWrapper6(void, glConvolutionFilter1DEXT, GLenum, target, GLenum, internalformat, GLsizei, width, GLenum, format, GLenum, type, const void *, image); \ UnsupportedWrapper6(void, glConvolutionFilter1D, GLenum, target, GLenum, internalformat, GLsizei, width, GLenum, format, GLenum, type, const void *, image); \ UnsupportedWrapper7(void, glConvolutionFilter2DEXT, GLenum, target, GLenum, internalformat, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, image); \ UnsupportedWrapper7(void, glConvolutionFilter2D, GLenum, target, GLenum, internalformat, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, image); \ UnsupportedWrapper3(void, glConvolutionParameterfEXT, GLenum, target, GLenum, pname, GLfloat, params); \ UnsupportedWrapper3(void, glConvolutionParameterf, GLenum, target, GLenum, pname, GLfloat, params); \ UnsupportedWrapper3(void, glConvolutionParameterfvEXT, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glConvolutionParameterfv, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glConvolutionParameteriEXT, GLenum, target, GLenum, pname, GLint, params); \ UnsupportedWrapper3(void, glConvolutionParameteri, GLenum, target, GLenum, pname, GLint, params); \ UnsupportedWrapper3(void, glConvolutionParameterivEXT, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glConvolutionParameteriv, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glConvolutionParameterxOES, GLenum, target, GLenum, pname, GLfixed, param); \ UnsupportedWrapper3(void, glConvolutionParameterxvOES, GLenum, target, GLenum, pname, const GLfixed *, params); \ UnsupportedWrapper5(void, glCopyBufferSubDataNV, GLenum, readTarget, GLenum, writeTarget, GLintptr, readOffset, GLintptr, writeOffset, GLsizeiptr, size); \ UnsupportedWrapper5(void, glCopyColorSubTableEXT, GLenum, target, GLsizei, start, GLint, x, GLint, y, GLsizei, width); \ UnsupportedWrapper5(void, glCopyColorSubTable, GLenum, target, GLsizei, start, GLint, x, GLint, y, GLsizei, width); \ UnsupportedWrapper5(void, glCopyColorTable, GLenum, target, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width); \ UnsupportedWrapper5(void, glCopyColorTableSGI, GLenum, target, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width); \ UnsupportedWrapper5(void, glCopyConvolutionFilter1DEXT, GLenum, target, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width); \ UnsupportedWrapper5(void, glCopyConvolutionFilter1D, GLenum, target, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width); \ UnsupportedWrapper6(void, glCopyConvolutionFilter2DEXT, GLenum, target, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ UnsupportedWrapper6(void, glCopyConvolutionFilter2D, GLenum, target, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ UnsupportedWrapper15(void, glCopyImageSubDataNV, GLuint, srcName, GLenum, srcTarget, GLint, srcLevel, GLint, srcX, GLint, srcY, GLint, srcZ, GLuint, dstName, GLenum, dstTarget, GLint, dstLevel, GLint, dstX, GLint, dstY, GLint, dstZ, GLsizei, width, GLsizei, height, GLsizei, depth); \ UnsupportedWrapper2(void, glCopyPathNV, GLuint, resultPath, GLuint, srcPath); \ UnsupportedWrapper5(void, glCopyPixels, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLenum, type); \ UnsupportedWrapper7(void, glCopyTexImage1DEXT, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLint, border); \ UnsupportedWrapper8(void, glCopyTexImage2DEXT, GLenum, target, GLint, level, GLenum, internalformat, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLint, border); \ UnsupportedWrapper6(void, glCopyTexSubImage1DEXT, GLenum, target, GLint, level, GLint, xoffset, GLint, x, GLint, y, GLsizei, width); \ UnsupportedWrapper8(void, glCopyTexSubImage2DEXT, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ UnsupportedWrapper9(void, glCopyTexSubImage3DEXT, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, x, GLint, y, GLsizei, width, GLsizei, height); \ UnsupportedWrapper4(void, glCopyTextureLevelsAPPLE, GLuint, destinationTexture, GLuint, sourceTexture, GLint, sourceBaseLevel, GLsizei, sourceLevelCount); \ UnsupportedWrapper1(void, glCoverageMaskNV, GLboolean, mask); \ UnsupportedWrapper1(void, glCoverageModulationNV, GLenum, components); \ UnsupportedWrapper2(void, glCoverageModulationTableNV, GLsizei, n, const GLfloat *, v); \ UnsupportedWrapper1(void, glCoverageOperationNV, GLenum, operation); \ UnsupportedWrapper7(void, glCoverFillPathInstancedNV, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLenum, coverMode, GLenum, transformType, const GLfloat *, transformValues); \ UnsupportedWrapper2(void, glCoverFillPathNV, GLuint, path, GLenum, coverMode); \ UnsupportedWrapper7(void, glCoverStrokePathInstancedNV, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLenum, coverMode, GLenum, transformType, const GLfloat *, transformValues); \ UnsupportedWrapper2(void, glCoverStrokePathNV, GLuint, path, GLenum, coverMode); \ UnsupportedWrapper2(void, glCreateCommandListsNV, GLsizei, n, GLuint *, lists); \ UnsupportedWrapper0(GLhandleARB, glCreateProgramObjectARB); \ UnsupportedWrapper1(GLhandleARB, glCreateShaderObjectARB, GLenum, shaderType); \ UnsupportedWrapper2(GLuint, glCreateShaderProgramEXT, GLenum, type, const GLchar *, string); \ UnsupportedWrapper2(void, glCreateStatesNV, GLsizei, n, GLuint *, states); \ UnsupportedWrapper3(GLsync, glCreateSyncFromCLeventARB, struct _cl_context *, context, struct _cl_event *, event, GLbitfield, flags); \ UnsupportedWrapper2(void, glCullParameterdvEXT, GLenum, pname, GLdouble *, params); \ UnsupportedWrapper2(void, glCullParameterfvEXT, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper1(void, glCurrentPaletteMatrixARB, GLint, index); \ UnsupportedWrapper2(void, glDebugMessageCallbackAMD, GLDEBUGPROCAMD, callback, void *, userParam); \ UnsupportedWrapper5(void, glDebugMessageEnableAMD, GLenum, category, GLenum, severity, GLsizei, count, const GLuint *, ids, GLboolean, enabled); \ UnsupportedWrapper5(void, glDebugMessageInsertAMD, GLenum, category, GLenum, severity, GLuint, id, GLsizei, length, const GLchar *, buf); \ UnsupportedWrapper14(void, glDeformationMap3dSGIX, GLenum, target, GLdouble, u1, GLdouble, u2, GLint, ustride, GLint, uorder, GLdouble, v1, GLdouble, v2, GLint, vstride, GLint, vorder, GLdouble, w1, GLdouble, w2, GLint, wstride, GLint, worder, const GLdouble *, points); \ UnsupportedWrapper14(void, glDeformationMap3fSGIX, GLenum, target, GLfloat, u1, GLfloat, u2, GLint, ustride, GLint, uorder, GLfloat, v1, GLfloat, v2, GLint, vstride, GLint, vorder, GLfloat, w1, GLfloat, w2, GLint, wstride, GLint, worder, const GLfloat *, points); \ UnsupportedWrapper1(void, glDeformSGIX, GLbitfield, mask); \ UnsupportedWrapper2(void, glDeleteAsyncMarkersSGIX, GLuint, marker, GLsizei, range); \ UnsupportedWrapper2(void, glDeleteCommandListsNV, GLsizei, n, const GLuint *, lists); \ UnsupportedWrapper2(void, glDeleteFencesAPPLE, GLsizei, n, const GLuint *, fences); \ UnsupportedWrapper2(void, glDeleteFencesNV, GLsizei, n, const GLuint *, fences); \ UnsupportedWrapper1(void, glDeleteFragmentShaderATI, GLuint, id); \ UnsupportedWrapper2(void, glDeleteLists, GLuint, list, GLsizei, range); \ UnsupportedWrapper3(void, glDeleteNamesAMD, GLenum, identifier, GLuint, num, const GLuint *, names); \ UnsupportedWrapper1(void, glDeleteObjectARB, GLhandleARB, obj); \ UnsupportedWrapper2(void, glDeleteOcclusionQueriesNV, GLsizei, n, const GLuint *, ids); \ UnsupportedWrapper2(void, glDeletePathsNV, GLuint, path, GLsizei, range); \ UnsupportedWrapper2(void, glDeletePerfMonitorsAMD, GLsizei, n, GLuint *, monitors); \ UnsupportedWrapper2(void, glDeleteProgramsARB, GLsizei, n, const GLuint *, programs); \ UnsupportedWrapper2(void, glDeleteProgramsNV, GLsizei, n, const GLuint *, programs); \ UnsupportedWrapper2(void, glDeleteQueryResourceTagNV, GLsizei, n, const GLint *, tagIds); \ UnsupportedWrapper2(void, glDeleteStatesNV, GLsizei, n, const GLuint *, states); \ UnsupportedWrapper1(void, glDeleteSyncAPPLE, GLsync, sync); \ UnsupportedWrapper2(void, glDeleteTexturesEXT, GLsizei, n, const GLuint *, textures); \ UnsupportedWrapper2(void, glDeleteTransformFeedbacksNV, GLsizei, n, const GLuint *, ids); \ UnsupportedWrapper2(void, glDeleteVertexArraysAPPLE, GLsizei, n, const GLuint *, arrays); \ UnsupportedWrapper1(void, glDeleteVertexShaderEXT, GLuint, id); \ UnsupportedWrapper2(void, glDepthBoundsdNV, GLdouble, zmin, GLdouble, zmax); \ UnsupportedWrapper2(void, glDepthRangedNV, GLdouble, zNear, GLdouble, zFar); \ UnsupportedWrapper2(void, glDepthRangefOES, GLclampf, n, GLclampf, f); \ UnsupportedWrapper2(void, glDepthRangexOES, GLfixed, n, GLfixed, f); \ UnsupportedWrapper2(void, glDetachObjectARB, GLhandleARB, containerObj, GLhandleARB, attachedObj); \ UnsupportedWrapper3(void, glDetailTexFuncSGIS, GLenum, target, GLsizei, n, const GLfloat *, points); \ UnsupportedWrapper2(void, glDisableClientStateiEXT, GLenum, array, GLuint, index); \ UnsupportedWrapper2(void, glDisableClientStateIndexedEXT, GLenum, array, GLuint, index); \ UnsupportedWrapper1(void, glDisableClientState, GLenum, array); \ UnsupportedWrapper1(void, glDisableDriverControlQCOM, GLuint, driverControl); \ UnsupportedWrapper1(void, glDisableVariantClientStateEXT, GLuint, id); \ UnsupportedWrapper2(void, glDisableVertexArrayEXT, GLuint, vaobj, GLenum, array); \ UnsupportedWrapper2(void, glDisableVertexAttribAPPLE, GLuint, index, GLenum, pname); \ UnsupportedWrapper3(void, glDrawArraysEXT, GLenum, mode, GLint, first, GLsizei, count); \ UnsupportedWrapper4(void, glDrawArraysInstancedANGLE, GLenum, mode, GLint, first, GLsizei, count, GLsizei, primcount); \ UnsupportedWrapper4(void, glDrawArraysInstancedNV, GLenum, mode, GLint, first, GLsizei, count, GLsizei, primcount); \ UnsupportedWrapper2(void, glDrawBuffersATI, GLsizei, n, const GLenum *, bufs); \ UnsupportedWrapper3(void, glDrawBuffersIndexedEXT, GLint, n, const GLenum *, location, const GLint *, indices); \ UnsupportedWrapper2(void, glDrawBuffersNV, GLsizei, n, const GLenum *, bufs); \ UnsupportedWrapper4(void, glDrawCommandsAddressNV, GLenum, primitiveMode, const GLuint64 *, indirects, const GLsizei *, sizes, GLuint, count); \ UnsupportedWrapper5(void, glDrawCommandsNV, GLenum, primitiveMode, GLuint, buffer, const GLintptr *, indirects, const GLsizei *, sizes, GLuint, count); \ UnsupportedWrapper5(void, glDrawCommandsStatesAddressNV, const GLuint64 *, indirects, const GLsizei *, sizes, const GLuint *, states, const GLuint *, fbos, GLuint, count); \ UnsupportedWrapper6(void, glDrawCommandsStatesNV, GLuint, buffer, const GLintptr *, indirects, const GLsizei *, sizes, const GLuint *, states, const GLuint *, fbos, GLuint, count); \ UnsupportedWrapper3(void, glDrawElementArrayAPPLE, GLenum, mode, GLint, first, GLsizei, count); \ UnsupportedWrapper2(void, glDrawElementArrayATI, GLenum, mode, GLsizei, count); \ UnsupportedWrapper5(void, glDrawElementsInstancedANGLE, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, primcount); \ UnsupportedWrapper5(void, glDrawElementsInstancedNV, GLenum, mode, GLsizei, count, GLenum, type, const void *, indices, GLsizei, primcount); \ UnsupportedWrapper4(void, glDrawMeshArraysSUN, GLenum, mode, GLint, first, GLsizei, count, GLsizei, width); \ UnsupportedWrapper5(void, glDrawPixels, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, pixels); \ UnsupportedWrapper5(void, glDrawRangeElementArrayAPPLE, GLenum, mode, GLuint, start, GLuint, end, GLint, first, GLsizei, count); \ UnsupportedWrapper4(void, glDrawRangeElementArrayATI, GLenum, mode, GLuint, start, GLuint, end, GLsizei, count); \ UnsupportedWrapper11(void, glDrawTextureNV, GLuint, texture, GLuint, sampler, GLfloat, x0, GLfloat, y0, GLfloat, x1, GLfloat, y1, GLfloat, z, GLfloat, s0, GLfloat, t0, GLfloat, s1, GLfloat, t1); \ UnsupportedWrapper2(void, glDrawTransformFeedbackEXT, GLenum, mode, GLuint, id); \ UnsupportedWrapper3(void, glDrawTransformFeedbackInstancedEXT, GLenum, mode, GLuint, id, GLsizei, instancecount); \ UnsupportedWrapper2(void, glDrawTransformFeedbackNV, GLenum, mode, GLuint, id); \ UnsupportedWrapper11(void, glDrawVkImageNV, GLuint64, vkImage, GLuint, sampler, GLfloat, x0, GLfloat, y0, GLfloat, x1, GLfloat, y1, GLfloat, z, GLfloat, s0, GLfloat, t0, GLfloat, s1, GLfloat, t1); \ UnsupportedWrapper1(void, glEdgeFlagFormatNV, GLsizei, stride); \ UnsupportedWrapper3(void, glEdgeFlagPointerEXT, GLsizei, stride, GLsizei, count, const GLboolean *, pointer); \ UnsupportedWrapper3(void, glEdgeFlagPointerListIBM, GLint, stride, const GLboolean **, pointer, GLint, ptrstride); \ UnsupportedWrapper2(void, glEdgeFlagPointer, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper1(void, glEdgeFlag, GLboolean, flag); \ UnsupportedWrapper1(void, glEdgeFlagv, const GLboolean *, flag); \ UnsupportedWrapper2(void, glEGLImageTargetRenderbufferStorageOES, GLenum, target, GLeglImageOES, image); \ UnsupportedWrapper3(void, glEGLImageTargetTexStorageEXT, GLenum, target, GLeglImageOES, image, const GLint*, attrib_list); \ UnsupportedWrapper2(void, glEGLImageTargetTexture2DOES, GLenum, target, GLeglImageOES, image); \ UnsupportedWrapper3(void, glEGLImageTargetTextureStorageEXT, GLuint, texture, GLeglImageOES, image, const GLint*, attrib_list); \ UnsupportedWrapper2(void, glElementPointerAPPLE, GLenum, type, const void *, pointer); \ UnsupportedWrapper2(void, glElementPointerATI, GLenum, type, const void *, pointer); \ UnsupportedWrapper2(void, glEnableClientStateiEXT, GLenum, array, GLuint, index); \ UnsupportedWrapper2(void, glEnableClientStateIndexedEXT, GLenum, array, GLuint, index); \ UnsupportedWrapper1(void, glEnableClientState, GLenum, array); \ UnsupportedWrapper1(void, glEnableDriverControlQCOM, GLuint, driverControl); \ UnsupportedWrapper1(void, glEnableVariantClientStateEXT, GLuint, id); \ UnsupportedWrapper2(void, glEnableVertexArrayEXT, GLuint, vaobj, GLenum, array); \ UnsupportedWrapper2(void, glEnableVertexAttribAPPLE, GLuint, index, GLenum, pname); \ UnsupportedWrapper0(void, glEndConditionalRenderNV); \ UnsupportedWrapper0(void, glEndConditionalRenderNVX); \ UnsupportedWrapper0(void, glEndFragmentShaderATI); \ UnsupportedWrapper0(void, glEndList); \ UnsupportedWrapper0(void, glEndOcclusionQueryNV); \ UnsupportedWrapper1(void, glEndPerfMonitorAMD, GLuint, monitor); \ UnsupportedWrapper0(void, glEnd); \ UnsupportedWrapper1(void, glEndTilingQCOM, GLbitfield, preserveMask); \ UnsupportedWrapper0(void, glEndTransformFeedbackNV); \ UnsupportedWrapper0(void, glEndVertexShaderEXT); \ UnsupportedWrapper1(void, glEndVideoCaptureNV, GLuint, video_capture_slot); \ UnsupportedWrapper1(void, glEvalCoord1d, GLdouble, u); \ UnsupportedWrapper1(void, glEvalCoord1dv, const GLdouble *, u); \ UnsupportedWrapper1(void, glEvalCoord1f, GLfloat, u); \ UnsupportedWrapper1(void, glEvalCoord1fv, const GLfloat *, u); \ UnsupportedWrapper1(void, glEvalCoord1xOES, GLfixed, u); \ UnsupportedWrapper1(void, glEvalCoord1xvOES, const GLfixed *, coords); \ UnsupportedWrapper2(void, glEvalCoord2d, GLdouble, u, GLdouble, v); \ UnsupportedWrapper1(void, glEvalCoord2dv, const GLdouble *, u); \ UnsupportedWrapper2(void, glEvalCoord2f, GLfloat, u, GLfloat, v); \ UnsupportedWrapper1(void, glEvalCoord2fv, const GLfloat *, u); \ UnsupportedWrapper2(void, glEvalCoord2xOES, GLfixed, u, GLfixed, v); \ UnsupportedWrapper1(void, glEvalCoord2xvOES, const GLfixed *, coords); \ UnsupportedWrapper2(void, glEvalMapsNV, GLenum, target, GLenum, mode); \ UnsupportedWrapper3(void, glEvalMesh1, GLenum, mode, GLint, i1, GLint, i2); \ UnsupportedWrapper5(void, glEvalMesh2, GLenum, mode, GLint, i1, GLint, i2, GLint, j1, GLint, j2); \ UnsupportedWrapper1(void, glEvalPoint1, GLint, i); \ UnsupportedWrapper2(void, glEvalPoint2, GLint, i, GLint, j); \ UnsupportedWrapper0(void, glEvaluateDepthValuesARB); \ UnsupportedWrapper3(void, glExecuteProgramNV, GLenum, target, GLuint, id, const GLfloat *, params); \ UnsupportedWrapper2(void, glExtGetBufferPointervQCOM, GLenum, target, void **, params); \ UnsupportedWrapper3(void, glExtGetBuffersQCOM, GLuint *, buffers, GLint, maxBuffers, GLint *, numBuffers); \ UnsupportedWrapper3(void, glExtGetFramebuffersQCOM, GLuint *, framebuffers, GLint, maxFramebuffers, GLint *, numFramebuffers); \ UnsupportedWrapper4(void, glExtGetProgramBinarySourceQCOM, GLuint, program, GLenum, shadertype, GLchar *, source, GLint *, length); \ UnsupportedWrapper3(void, glExtGetProgramsQCOM, GLuint *, programs, GLint, maxPrograms, GLint *, numPrograms); \ UnsupportedWrapper3(void, glExtGetRenderbuffersQCOM, GLuint *, renderbuffers, GLint, maxRenderbuffers, GLint *, numRenderbuffers); \ UnsupportedWrapper3(void, glExtGetShadersQCOM, GLuint *, shaders, GLint, maxShaders, GLint *, numShaders); \ UnsupportedWrapper5(void, glExtGetTexLevelParameterivQCOM, GLuint, texture, GLenum, face, GLint, level, GLenum, pname, GLint *, params); \ UnsupportedWrapper11(void, glExtGetTexSubImageQCOM, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, void *, texels); \ UnsupportedWrapper3(void, glExtGetTexturesQCOM, GLuint *, textures, GLint, maxTextures, GLint *, numTextures); \ UnsupportedWrapper1(GLboolean, glExtIsProgramBinaryQCOM, GLuint, program); \ UnsupportedWrapper3(void, glExtractComponentEXT, GLuint, res, GLuint, src, GLuint, num); \ UnsupportedWrapper3(void, glExtTexObjectStateOverrideiQCOM, GLenum, target, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glFeedbackBuffer, GLsizei, size, GLenum, type, GLfloat *, buffer); \ UnsupportedWrapper3(void, glFeedbackBufferxOES, GLsizei, n, GLenum, type, const GLfixed *, buffer); \ UnsupportedWrapper2(GLsync, glFenceSyncAPPLE, GLenum, condition, GLbitfield, flags); \ UnsupportedWrapper4(void, glFinalCombinerInputNV, GLenum, variable, GLenum, input, GLenum, mapping, GLenum, componentUsage); \ UnsupportedWrapper1(GLint, glFinishAsyncSGIX, GLuint *, markerp); \ UnsupportedWrapper1(void, glFinishFenceAPPLE, GLuint, fence); \ UnsupportedWrapper1(void, glFinishFenceNV, GLuint, fence); \ UnsupportedWrapper2(void, glFinishObjectAPPLE, GLenum, object, GLint, name); \ UnsupportedWrapper0(void, glFinishTextureSUNX); \ UnsupportedWrapper3(void, glFlushMappedBufferRangeAPPLE, GLenum, target, GLintptr, offset, GLsizeiptr, size); \ UnsupportedWrapper1(void, glFlushPixelDataRangeNV, GLenum, target); \ UnsupportedWrapper0(void, glFlushRasterSGIX); \ UnsupportedWrapper1(void, glFlushStaticDataIBM, GLenum, target); \ UnsupportedWrapper2(void, glFlushVertexArrayRangeAPPLE, GLsizei, length, void *, pointer); \ UnsupportedWrapper0(void, glFlushVertexArrayRangeNV); \ UnsupportedWrapper1(void, glFogCoorddEXT, GLdouble, coord); \ UnsupportedWrapper1(void, glFogCoordd, GLdouble, coord); \ UnsupportedWrapper1(void, glFogCoorddvEXT, const GLdouble *, coord); \ UnsupportedWrapper1(void, glFogCoorddv, const GLdouble *, coord); \ UnsupportedWrapper1(void, glFogCoordfEXT, GLfloat, coord); \ UnsupportedWrapper2(void, glFogCoordFormatNV, GLenum, type, GLsizei, stride); \ UnsupportedWrapper1(void, glFogCoordf, GLfloat, coord); \ UnsupportedWrapper1(void, glFogCoordfvEXT, const GLfloat *, coord); \ UnsupportedWrapper1(void, glFogCoordfv, const GLfloat *, coord); \ UnsupportedWrapper1(void, glFogCoordhNV, GLhalfNV, fog); \ UnsupportedWrapper1(void, glFogCoordhvNV, const GLhalfNV *, fog); \ UnsupportedWrapper3(void, glFogCoordPointerEXT, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper4(void, glFogCoordPointerListIBM, GLenum, type, GLint, stride, const void **, pointer, GLint, ptrstride); \ UnsupportedWrapper3(void, glFogCoordPointer, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper2(void, glFogf, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glFogFuncSGIS, GLsizei, n, const GLfloat *, points); \ UnsupportedWrapper2(void, glFogfv, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glFogi, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glFogiv, GLenum, pname, const GLint *, params); \ UnsupportedWrapper2(void, glFogxOES, GLenum, pname, GLfixed, param); \ UnsupportedWrapper2(void, glFogxvOES, GLenum, pname, const GLfixed *, param); \ UnsupportedWrapper2(void, glFragmentColorMaterialSGIX, GLenum, face, GLenum, mode); \ UnsupportedWrapper1(void, glFragmentCoverageColorNV, GLuint, color); \ UnsupportedWrapper3(void, glFragmentLightfSGIX, GLenum, light, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glFragmentLightfvSGIX, GLenum, light, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glFragmentLightiSGIX, GLenum, light, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glFragmentLightivSGIX, GLenum, light, GLenum, pname, const GLint *, params); \ UnsupportedWrapper2(void, glFragmentLightModelfSGIX, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glFragmentLightModelfvSGIX, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glFragmentLightModeliSGIX, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glFragmentLightModelivSGIX, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glFragmentMaterialfSGIX, GLenum, face, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glFragmentMaterialfvSGIX, GLenum, face, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glFragmentMaterialiSGIX, GLenum, face, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glFragmentMaterialivSGIX, GLenum, face, GLenum, pname, const GLint *, params); \ UnsupportedWrapper0(void, glFramebufferFetchBarrierEXT); \ UnsupportedWrapper0(void, glFramebufferFetchBarrierQCOM); \ UnsupportedWrapper5(void, glFramebufferFoveationConfigQCOM, GLuint, framebuffer, GLuint, numLayers, GLuint, focalPointsPerLayer, GLuint, requestedFeatures, GLuint *, providedFeatures); \ UnsupportedWrapper8(void, glFramebufferFoveationParametersQCOM, GLuint, framebuffer, GLuint, layer, GLuint, focalPoint, GLfloat, focalX, GLfloat, focalY, GLfloat, gainX, GLfloat, gainY, GLfloat, foveaArea); \ UnsupportedWrapper2(void, glFramebufferPixelLocalStorageSizeEXT, GLuint, target, GLsizei, size); \ UnsupportedWrapper4(void, glFramebufferSampleLocationsfvARB, GLenum, target, GLuint, start, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper4(void, glFramebufferSampleLocationsfvNV, GLenum, target, GLuint, start, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper4(void, glFramebufferSamplePositionsfvAMD, GLenum, target, GLuint, numsamples, GLuint, pixelindex, const GLfloat *, values); \ UnsupportedWrapper7(void, glFramebufferTexture2DDownsampleIMG, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLint, xscale, GLint, yscale); \ UnsupportedWrapper6(void, glFramebufferTexture2DMultisampleIMG, GLenum, target, GLenum, attachment, GLenum, textarget, GLuint, texture, GLint, level, GLsizei, samples); \ UnsupportedWrapper5(void, glFramebufferTextureFaceARB, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLenum, face); \ UnsupportedWrapper5(void, glFramebufferTextureFaceEXT, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLenum, face); \ UnsupportedWrapper7(void, glFramebufferTextureLayerDownsampleIMG, GLenum, target, GLenum, attachment, GLuint, texture, GLint, level, GLint, layer, GLint, xscale, GLint, yscale); \ UnsupportedWrapper1(void, glFrameZoomSGIX, GLint, factor); \ UnsupportedWrapper1(void, glFreeObjectBufferATI, GLuint, buffer); \ UnsupportedWrapper6(void, glFrustumfOES, GLfloat, l, GLfloat, r, GLfloat, b, GLfloat, t, GLfloat, n, GLfloat, f); \ UnsupportedWrapper6(void, glFrustum, GLdouble, left, GLdouble, right, GLdouble, bottom, GLdouble, top, GLdouble, zNear, GLdouble, zFar); \ UnsupportedWrapper6(void, glFrustumxOES, GLfixed, l, GLfixed, r, GLfixed, b, GLfixed, t, GLfixed, n, GLfixed, f); \ UnsupportedWrapper1(GLuint, glGenAsyncMarkersSGIX, GLsizei, range); \ UnsupportedWrapper2(void, glGenFencesAPPLE, GLsizei, n, GLuint *, fences); \ UnsupportedWrapper2(void, glGenFencesNV, GLsizei, n, GLuint *, fences); \ UnsupportedWrapper1(GLuint, glGenFragmentShadersATI, GLuint, range); \ UnsupportedWrapper1(GLuint, glGenLists, GLsizei, range); \ UnsupportedWrapper3(void, glGenNamesAMD, GLenum, identifier, GLuint, num, GLuint *, names); \ UnsupportedWrapper2(void, glGenOcclusionQueriesNV, GLsizei, n, GLuint *, ids); \ UnsupportedWrapper1(GLuint, glGenPathsNV, GLsizei, range); \ UnsupportedWrapper2(void, glGenPerfMonitorsAMD, GLsizei, n, GLuint *, monitors); \ UnsupportedWrapper2(void, glGenProgramsARB, GLsizei, n, GLuint *, programs); \ UnsupportedWrapper2(void, glGenProgramsNV, GLsizei, n, GLuint *, programs); \ UnsupportedWrapper2(void, glGenQueryResourceTagNV, GLsizei, n, GLint *, tagIds); \ UnsupportedWrapper4(GLuint, glGenSymbolsEXT, GLenum, datatype, GLenum, storagetype, GLenum, range, GLuint, components); \ UnsupportedWrapper2(void, glGenTexturesEXT, GLsizei, n, GLuint *, textures); \ UnsupportedWrapper2(void, glGenTransformFeedbacksNV, GLsizei, n, GLuint *, ids); \ UnsupportedWrapper2(void, glGenVertexArraysAPPLE, GLsizei, n, GLuint *, arrays); \ UnsupportedWrapper1(GLuint, glGenVertexShadersEXT, GLuint, range); \ UnsupportedWrapper7(void, glGetActiveAttribARB, GLhandleARB, programObj, GLuint, index, GLsizei, maxLength, GLsizei *, length, GLint *, size, GLenum *, type, GLcharARB *, name); \ UnsupportedWrapper7(void, glGetActiveUniformARB, GLhandleARB, programObj, GLuint, index, GLsizei, maxLength, GLsizei *, length, GLint *, size, GLenum *, type, GLcharARB *, name); \ UnsupportedWrapper7(void, glGetActiveVaryingNV, GLuint, program, GLuint, index, GLsizei, bufSize, GLsizei *, length, GLsizei *, size, GLenum *, type, GLchar *, name); \ UnsupportedWrapper3(void, glGetArrayObjectfvATI, GLenum, array, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetArrayObjectivATI, GLenum, array, GLenum, pname, GLint *, params); \ UnsupportedWrapper4(void, glGetAttachedObjectsARB, GLhandleARB, containerObj, GLsizei, maxCount, GLsizei *, count, GLhandleARB *, obj); \ UnsupportedWrapper2(GLint, glGetAttribLocationARB, GLhandleARB, programObj, const GLcharARB *, name); \ UnsupportedWrapper3(void, glGetBufferParameterui64vNV, GLenum, target, GLenum, pname, GLuint64EXT *, params); \ UnsupportedWrapper2(void, glGetClipPlanefOES, GLenum, plane, GLfloat *, equation); \ UnsupportedWrapper2(void, glGetClipPlane, GLenum, plane, GLdouble *, equation); \ UnsupportedWrapper2(void, glGetClipPlanexOES, GLenum, plane, GLfixed *, equation); \ UnsupportedWrapper4(void, glGetColorTableEXT, GLenum, target, GLenum, format, GLenum, type, void *, data); \ UnsupportedWrapper3(void, glGetColorTableParameterfvEXT, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetColorTableParameterfv, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetColorTableParameterfvSGI, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetColorTableParameterivEXT, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetColorTableParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetColorTableParameterivSGI, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper4(void, glGetColorTable, GLenum, target, GLenum, format, GLenum, type, void *, table); \ UnsupportedWrapper4(void, glGetColorTableSGI, GLenum, target, GLenum, format, GLenum, type, void *, table); \ UnsupportedWrapper5(void, glGetCombinerInputParameterfvNV, GLenum, stage, GLenum, portion, GLenum, variable, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper5(void, glGetCombinerInputParameterivNV, GLenum, stage, GLenum, portion, GLenum, variable, GLenum, pname, GLint *, params); \ UnsupportedWrapper4(void, glGetCombinerOutputParameterfvNV, GLenum, stage, GLenum, portion, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper4(void, glGetCombinerOutputParameterivNV, GLenum, stage, GLenum, portion, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetCombinerStageParameterfvNV, GLenum, stage, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper2(GLuint, glGetCommandHeaderNV, GLenum, tokenID, GLuint, size); \ UnsupportedWrapper4(void, glGetConvolutionFilterEXT, GLenum, target, GLenum, format, GLenum, type, void *, image); \ UnsupportedWrapper4(void, glGetConvolutionFilter, GLenum, target, GLenum, format, GLenum, type, void *, image); \ UnsupportedWrapper3(void, glGetConvolutionParameterfvEXT, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetConvolutionParameterfv, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetConvolutionParameterivEXT, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetConvolutionParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetConvolutionParameterxvOES, GLenum, target, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper2(void, glGetCoverageModulationTableNV, GLsizei, bufsize, GLfloat *, v); \ UnsupportedWrapper7(GLuint, glGetDebugMessageLogAMD, GLuint, count, GLsizei, bufsize, GLenum *, categories, GLuint *, severities, GLuint *, ids, GLsizei *, lengths, GLchar *, message); \ UnsupportedWrapper2(void, glGetDetailTexFuncSGIS, GLenum, target, GLfloat *, points); \ UnsupportedWrapper3(void, glGetDriverControlsQCOM, GLint *, num, GLsizei, size, GLuint *, driverControls); \ UnsupportedWrapper4(void, glGetDriverControlStringQCOM, GLuint, driverControl, GLsizei, bufSize, GLsizei *, length, GLchar *, driverControlString); \ UnsupportedWrapper3(void, glGetFenceivNV, GLuint, fence, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetFinalCombinerInputParameterfvNV, GLenum, variable, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetFinalCombinerInputParameterivNV, GLenum, variable, GLenum, pname, GLint *, params); \ UnsupportedWrapper2(void, glGetFixedvOES, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper1(void, glGetFogFuncSGIS, GLfloat *, points); \ UnsupportedWrapper2(GLint, glGetFragDataIndexEXT, GLuint, program, const GLchar *, name); \ UnsupportedWrapper3(void, glGetFragmentLightfvSGIX, GLenum, light, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetFragmentLightivSGIX, GLenum, light, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetFragmentMaterialfvSGIX, GLenum, face, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetFragmentMaterialivSGIX, GLenum, face, GLenum, pname, GLint *, params); \ UnsupportedWrapper6(void, glGetFramebufferParameterfvAMD, GLenum, target, GLenum, pname, GLuint, numsamples, GLuint, pixelindex, GLsizei, size, GLfloat *, values); \ UnsupportedWrapper1(GLsizei, glGetFramebufferPixelLocalStorageSizeEXT, GLuint, target); \ UnsupportedWrapper0(GLenum, glGetGraphicsResetStatusKHR); \ UnsupportedWrapper1(GLhandleARB, glGetHandleARB, GLenum, pname); \ UnsupportedWrapper5(void, glGetHistogramEXT, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, void *, values); \ UnsupportedWrapper3(void, glGetHistogramParameterfvEXT, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetHistogramParameterfv, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetHistogramParameterivEXT, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetHistogramParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetHistogramParameterxvOES, GLenum, target, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper5(void, glGetHistogram, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, void *, values); \ UnsupportedWrapper5(GLuint64, glGetImageHandleARB, GLuint, texture, GLint, level, GLboolean, layered, GLint, layer, GLenum, format); \ UnsupportedWrapper5(GLuint64, glGetImageHandleNV, GLuint, texture, GLint, level, GLboolean, layered, GLint, layer, GLenum, format); \ UnsupportedWrapper3(void, glGetImageTransformParameterfvHP, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetImageTransformParameterivHP, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper4(void, glGetInfoLogARB, GLhandleARB, obj, GLsizei, maxLength, GLsizei *, length, GLcharARB *, infoLog); \ UnsupportedWrapper0(GLint, glGetInstrumentsSGIX); \ UnsupportedWrapper2(void, glGetInteger64vAPPLE, GLenum, pname, GLint64 *, params); \ UnsupportedWrapper3(void, glGetIntegeri_vEXT, GLenum, target, GLuint, index, GLint *, data); \ UnsupportedWrapper3(void, glGetIntegerui64i_vNV, GLenum, value, GLuint, index, GLuint64EXT *, result); \ UnsupportedWrapper2(void, glGetIntegerui64vNV, GLenum, value, GLuint64EXT *, result); \ UnsupportedWrapper6(void, glGetInternalformatSampleivNV, GLenum, target, GLenum, internalformat, GLsizei, samples, GLenum, pname, GLsizei, bufSize, GLint *, params); \ UnsupportedWrapper3(void, glGetInvariantBooleanvEXT, GLuint, id, GLenum, value, GLboolean *, data); \ UnsupportedWrapper3(void, glGetInvariantFloatvEXT, GLuint, id, GLenum, value, GLfloat *, data); \ UnsupportedWrapper3(void, glGetInvariantIntegervEXT, GLuint, id, GLenum, value, GLint *, data); \ UnsupportedWrapper3(void, glGetLightfv, GLenum, light, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetLightiv, GLenum, light, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetLightxOES, GLenum, light, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper3(void, glGetListParameterfvSGIX, GLuint, list, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetListParameterivSGIX, GLuint, list, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetLocalConstantBooleanvEXT, GLuint, id, GLenum, value, GLboolean *, data); \ UnsupportedWrapper3(void, glGetLocalConstantFloatvEXT, GLuint, id, GLenum, value, GLfloat *, data); \ UnsupportedWrapper3(void, glGetLocalConstantIntegervEXT, GLuint, id, GLenum, value, GLint *, data); \ UnsupportedWrapper4(void, glGetMapAttribParameterfvNV, GLenum, target, GLuint, index, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper4(void, glGetMapAttribParameterivNV, GLenum, target, GLuint, index, GLenum, pname, GLint *, params); \ UnsupportedWrapper7(void, glGetMapControlPointsNV, GLenum, target, GLuint, index, GLenum, type, GLsizei, ustride, GLsizei, vstride, GLboolean, packed, void *, points); \ UnsupportedWrapper3(void, glGetMapdv, GLenum, target, GLenum, query, GLdouble *, v); \ UnsupportedWrapper3(void, glGetMapfv, GLenum, target, GLenum, query, GLfloat *, v); \ UnsupportedWrapper3(void, glGetMapiv, GLenum, target, GLenum, query, GLint *, v); \ UnsupportedWrapper3(void, glGetMapParameterfvNV, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetMapParameterivNV, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetMapxvOES, GLenum, target, GLenum, query, GLfixed *, v); \ UnsupportedWrapper3(void, glGetMaterialfv, GLenum, face, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetMaterialiv, GLenum, face, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetMaterialxOES, GLenum, face, GLenum, pname, GLfixed, param); \ UnsupportedWrapper5(void, glGetMinmaxEXT, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, void *, values); \ UnsupportedWrapper3(void, glGetMinmaxParameterfvEXT, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetMinmaxParameterfv, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetMinmaxParameterivEXT, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetMinmaxParameteriv, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper5(void, glGetMinmax, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, void *, values); \ UnsupportedWrapper3(void, glGetMultisamplefvNV, GLenum, pname, GLuint, index, GLfloat *, val); \ UnsupportedWrapper4(void, glGetMultiTexEnvfvEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper4(void, glGetMultiTexEnvivEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper4(void, glGetMultiTexGendvEXT, GLenum, texunit, GLenum, coord, GLenum, pname, GLdouble *, params); \ UnsupportedWrapper4(void, glGetMultiTexGenfvEXT, GLenum, texunit, GLenum, coord, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper4(void, glGetMultiTexGenivEXT, GLenum, texunit, GLenum, coord, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetNamedBufferParameterui64vNV, GLuint, buffer, GLenum, pname, GLuint64EXT *, params); \ UnsupportedWrapper6(void, glGetNamedFramebufferParameterfvAMD, GLuint, framebuffer, GLenum, pname, GLuint, numsamples, GLuint, pixelindex, GLsizei, size, GLfloat *, values); \ UnsupportedWrapper4(void, glGetNamedProgramLocalParameterdvEXT, GLuint, program, GLenum, target, GLuint, index, GLdouble *, params); \ UnsupportedWrapper4(void, glGetNamedProgramLocalParameterfvEXT, GLuint, program, GLenum, target, GLuint, index, GLfloat *, params); \ UnsupportedWrapper4(void, glGetNamedProgramLocalParameterIivEXT, GLuint, program, GLenum, target, GLuint, index, GLint *, params); \ UnsupportedWrapper4(void, glGetNamedProgramLocalParameterIuivEXT, GLuint, program, GLenum, target, GLuint, index, GLuint *, params); \ UnsupportedWrapper4(void, glGetNamedProgramStringEXT, GLuint, program, GLenum, target, GLenum, pname, void *, string); \ UnsupportedWrapper5(void, glGetnColorTableARB, GLenum, target, GLenum, format, GLenum, type, GLsizei, bufSize, void *, table); \ UnsupportedWrapper5(void, glGetnColorTable, GLenum, target, GLenum, format, GLenum, type, GLsizei, bufSize, void *, table); \ UnsupportedWrapper5(void, glGetnConvolutionFilterARB, GLenum, target, GLenum, format, GLenum, type, GLsizei, bufSize, void *, image); \ UnsupportedWrapper5(void, glGetnConvolutionFilter, GLenum, target, GLenum, format, GLenum, type, GLsizei, bufSize, void *, image); \ UnsupportedWrapper6(void, glGetnHistogramARB, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, GLsizei, bufSize, void *, values); \ UnsupportedWrapper6(void, glGetnHistogram, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, GLsizei, bufSize, void *, values); \ UnsupportedWrapper4(void, glGetnMapdvARB, GLenum, target, GLenum, query, GLsizei, bufSize, GLdouble *, v); \ UnsupportedWrapper4(void, glGetnMapdv, GLenum, target, GLenum, query, GLsizei, bufSize, GLdouble *, v); \ UnsupportedWrapper4(void, glGetnMapfvARB, GLenum, target, GLenum, query, GLsizei, bufSize, GLfloat *, v); \ UnsupportedWrapper4(void, glGetnMapfv, GLenum, target, GLenum, query, GLsizei, bufSize, GLfloat *, v); \ UnsupportedWrapper4(void, glGetnMapivARB, GLenum, target, GLenum, query, GLsizei, bufSize, GLint *, v); \ UnsupportedWrapper4(void, glGetnMapiv, GLenum, target, GLenum, query, GLsizei, bufSize, GLint *, v); \ UnsupportedWrapper6(void, glGetnMinmaxARB, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, GLsizei, bufSize, void *, values); \ UnsupportedWrapper6(void, glGetnMinmax, GLenum, target, GLboolean, reset, GLenum, format, GLenum, type, GLsizei, bufSize, void *, values); \ UnsupportedWrapper3(void, glGetnPixelMapfvARB, GLenum, map, GLsizei, bufSize, GLfloat *, values); \ UnsupportedWrapper3(void, glGetnPixelMapfv, GLenum, map, GLsizei, bufSize, GLfloat *, values); \ UnsupportedWrapper3(void, glGetnPixelMapuivARB, GLenum, map, GLsizei, bufSize, GLuint *, values); \ UnsupportedWrapper3(void, glGetnPixelMapuiv, GLenum, map, GLsizei, bufSize, GLuint *, values); \ UnsupportedWrapper3(void, glGetnPixelMapusvARB, GLenum, map, GLsizei, bufSize, GLushort *, values); \ UnsupportedWrapper3(void, glGetnPixelMapusv, GLenum, map, GLsizei, bufSize, GLushort *, values); \ UnsupportedWrapper2(void, glGetnPolygonStippleARB, GLsizei, bufSize, GLubyte *, pattern); \ UnsupportedWrapper2(void, glGetnPolygonStipple, GLsizei, bufSize, GLubyte *, pattern); \ UnsupportedWrapper8(void, glGetnSeparableFilterARB, GLenum, target, GLenum, format, GLenum, type, GLsizei, rowBufSize, void *, row, GLsizei, columnBufSize, void *, column, void *, span); \ UnsupportedWrapper8(void, glGetnSeparableFilter, GLenum, target, GLenum, format, GLenum, type, GLsizei, rowBufSize, void *, row, GLsizei, columnBufSize, void *, column, void *, span); \ UnsupportedWrapper4(void, glGetnUniformfvKHR, GLuint, program, GLint, location, GLsizei, bufSize, GLfloat *, params); \ UnsupportedWrapper4(void, glGetnUniformi64vARB, GLuint, program, GLint, location, GLsizei, bufSize, GLint64 *, params); \ UnsupportedWrapper4(void, glGetnUniformivKHR, GLuint, program, GLint, location, GLsizei, bufSize, GLint *, params); \ UnsupportedWrapper4(void, glGetnUniformui64vARB, GLuint, program, GLint, location, GLsizei, bufSize, GLuint64 *, params); \ UnsupportedWrapper4(void, glGetnUniformuivKHR, GLuint, program, GLint, location, GLsizei, bufSize, GLuint *, params); \ UnsupportedWrapper3(void, glGetObjectBufferfvATI, GLuint, buffer, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetObjectBufferivATI, GLuint, buffer, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetObjectParameterfvARB, GLhandleARB, obj, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper4(void, glGetObjectParameterivAPPLE, GLenum, objectType, GLuint, name, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetObjectParameterivARB, GLhandleARB, obj, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetOcclusionQueryivNV, GLuint, id, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetOcclusionQueryuivNV, GLuint, id, GLenum, pname, GLuint *, params); \ UnsupportedWrapper3(void, glGetPathColorGenfvNV, GLenum, color, GLenum, pname, GLfloat *, value); \ UnsupportedWrapper3(void, glGetPathColorGenivNV, GLenum, color, GLenum, pname, GLint *, value); \ UnsupportedWrapper2(void, glGetPathCommandsNV, GLuint, path, GLubyte *, commands); \ UnsupportedWrapper2(void, glGetPathCoordsNV, GLuint, path, GLfloat *, coords); \ UnsupportedWrapper2(void, glGetPathDashArrayNV, GLuint, path, GLfloat *, dashArray); \ UnsupportedWrapper3(GLfloat, glGetPathLengthNV, GLuint, path, GLsizei, startSegment, GLsizei, numSegments); \ UnsupportedWrapper5(void, glGetPathMetricRangeNV, GLbitfield, metricQueryMask, GLuint, firstPathName, GLsizei, numPaths, GLsizei, stride, GLfloat *, metrics); \ UnsupportedWrapper7(void, glGetPathMetricsNV, GLbitfield, metricQueryMask, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLsizei, stride, GLfloat *, metrics); \ UnsupportedWrapper3(void, glGetPathParameterfvNV, GLuint, path, GLenum, pname, GLfloat *, value); \ UnsupportedWrapper3(void, glGetPathParameterivNV, GLuint, path, GLenum, pname, GLint *, value); \ UnsupportedWrapper9(void, glGetPathSpacingNV, GLenum, pathListMode, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLfloat, advanceScale, GLfloat, kerningScale, GLenum, transformType, GLfloat *, returnedSpacing); \ UnsupportedWrapper3(void, glGetPathTexGenfvNV, GLenum, texCoordSet, GLenum, pname, GLfloat *, value); \ UnsupportedWrapper3(void, glGetPathTexGenivNV, GLenum, texCoordSet, GLenum, pname, GLint *, value); \ UnsupportedWrapper5(void, glGetPerfMonitorCounterDataAMD, GLuint, monitor, GLenum, pname, GLsizei, dataSize, GLuint *, data, GLint *, bytesWritten); \ UnsupportedWrapper4(void, glGetPerfMonitorCounterInfoAMD, GLuint, group, GLuint, counter, GLenum, pname, void *, data); \ UnsupportedWrapper5(void, glGetPerfMonitorCountersAMD, GLuint, group, GLint *, numCounters, GLint *, maxActiveCounters, GLsizei, counterSize, GLuint *, counters); \ UnsupportedWrapper5(void, glGetPerfMonitorCounterStringAMD, GLuint, group, GLuint, counter, GLsizei, bufSize, GLsizei *, length, GLchar *, counterString); \ UnsupportedWrapper3(void, glGetPerfMonitorGroupsAMD, GLint *, numGroups, GLsizei, groupsSize, GLuint *, groups); \ UnsupportedWrapper4(void, glGetPerfMonitorGroupStringAMD, GLuint, group, GLsizei, bufSize, GLsizei *, length, GLchar *, groupString); \ UnsupportedWrapper2(void, glGetPixelMapfv, GLenum, map, GLfloat *, values); \ UnsupportedWrapper2(void, glGetPixelMapuiv, GLenum, map, GLuint *, values); \ UnsupportedWrapper2(void, glGetPixelMapusv, GLenum, map, GLushort *, values); \ UnsupportedWrapper3(void, glGetPixelMapxv, GLenum, map, GLint, size, GLfixed *, values); \ UnsupportedWrapper2(void, glGetPixelTexGenParameterfvSGIS, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper2(void, glGetPixelTexGenParameterivSGIS, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetPixelTransformParameterfvEXT, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetPixelTransformParameterivEXT, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper2(void, glGetPointervEXT, GLenum, pname, void **, params); \ UnsupportedWrapper1(void, glGetPolygonStipple, GLubyte *, mask); \ UnsupportedWrapper5(void, glGetProgramBinaryOES, GLuint, program, GLsizei, bufSize, GLsizei *, length, GLenum *, binaryFormat, void *, binary); \ UnsupportedWrapper3(void, glGetProgramEnvParameterdvARB, GLenum, target, GLuint, index, GLdouble *, params); \ UnsupportedWrapper3(void, glGetProgramEnvParameterfvARB, GLenum, target, GLuint, index, GLfloat *, params); \ UnsupportedWrapper3(void, glGetProgramEnvParameterIivNV, GLenum, target, GLuint, index, GLint *, params); \ UnsupportedWrapper3(void, glGetProgramEnvParameterIuivNV, GLenum, target, GLuint, index, GLuint *, params); \ UnsupportedWrapper3(void, glGetProgramivARB, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetProgramivNV, GLuint, id, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetProgramLocalParameterdvARB, GLenum, target, GLuint, index, GLdouble *, params); \ UnsupportedWrapper3(void, glGetProgramLocalParameterfvARB, GLenum, target, GLuint, index, GLfloat *, params); \ UnsupportedWrapper3(void, glGetProgramLocalParameterIivNV, GLenum, target, GLuint, index, GLint *, params); \ UnsupportedWrapper3(void, glGetProgramLocalParameterIuivNV, GLenum, target, GLuint, index, GLuint *, params); \ UnsupportedWrapper4(void, glGetProgramNamedParameterdvNV, GLuint, id, GLsizei, len, const GLubyte *, name, GLdouble *, params); \ UnsupportedWrapper4(void, glGetProgramNamedParameterfvNV, GLuint, id, GLsizei, len, const GLubyte *, name, GLfloat *, params); \ UnsupportedWrapper4(void, glGetProgramParameterdvNV, GLenum, target, GLuint, index, GLenum, pname, GLdouble *, params); \ UnsupportedWrapper4(void, glGetProgramParameterfvNV, GLenum, target, GLuint, index, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper8(void, glGetProgramResourcefvNV, GLuint, program, GLenum, programInterface, GLuint, index, GLsizei, propCount, const GLenum *, props, GLsizei, bufSize, GLsizei *, length, GLfloat *, params); \ UnsupportedWrapper3(GLint, glGetProgramResourceLocationIndexEXT, GLuint, program, GLenum, programInterface, const GLchar *, name); \ UnsupportedWrapper3(void, glGetProgramStringARB, GLenum, target, GLenum, pname, void *, string); \ UnsupportedWrapper3(void, glGetProgramStringNV, GLuint, id, GLenum, pname, GLubyte *, program); \ UnsupportedWrapper3(void, glGetProgramSubroutineParameteruivNV, GLenum, target, GLuint, index, GLuint *, param); \ UnsupportedWrapper6(void, glGetSeparableFilterEXT, GLenum, target, GLenum, format, GLenum, type, void *, row, void *, column, void *, span); \ UnsupportedWrapper6(void, glGetSeparableFilter, GLenum, target, GLenum, format, GLenum, type, void *, row, void *, column, void *, span); \ UnsupportedWrapper4(void, glGetShaderSourceARB, GLhandleARB, obj, GLsizei, maxLength, GLsizei *, length, GLcharARB *, source); \ UnsupportedWrapper2(void, glGetSharpenTexFuncSGIS, GLenum, target, GLfloat *, points); \ UnsupportedWrapper1(GLushort, glGetStageIndexNV, GLenum, shadertype); \ UnsupportedWrapper5(void, glGetSyncivAPPLE, GLsync, sync, GLenum, pname, GLsizei, bufSize, GLsizei *, length, GLint *, values); \ UnsupportedWrapper2(void, glGetTexBumpParameterfvATI, GLenum, pname, GLfloat *, param); \ UnsupportedWrapper2(void, glGetTexBumpParameterivATI, GLenum, pname, GLint *, param); \ UnsupportedWrapper3(void, glGetTexEnvfv, GLenum, target, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetTexEnviv, GLenum, target, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetTexEnvxvOES, GLenum, target, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper3(void, glGetTexFilterFuncSGIS, GLenum, target, GLenum, filter, GLfloat *, weights); \ UnsupportedWrapper3(void, glGetTexGendv, GLenum, coord, GLenum, pname, GLdouble *, params); \ UnsupportedWrapper3(void, glGetTexGenfv, GLenum, coord, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetTexGeniv, GLenum, coord, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetTexGenxvOES, GLenum, coord, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper4(void, glGetTexLevelParameterxvOES, GLenum, target, GLint, level, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper3(void, glGetTexParameterPointervAPPLE, GLenum, target, GLenum, pname, void **, params); \ UnsupportedWrapper3(void, glGetTexParameterxvOES, GLenum, target, GLenum, pname, GLfixed *, params); \ UnsupportedWrapper1(GLuint64, glGetTextureHandleARB, GLuint, texture); \ UnsupportedWrapper1(GLuint64, glGetTextureHandleIMG, GLuint, texture); \ UnsupportedWrapper1(GLuint64, glGetTextureHandleNV, GLuint, texture); \ UnsupportedWrapper2(GLuint64, glGetTextureSamplerHandleARB, GLuint, texture, GLuint, sampler); \ UnsupportedWrapper2(GLuint64, glGetTextureSamplerHandleIMG, GLuint, texture, GLuint, sampler); \ UnsupportedWrapper2(GLuint64, glGetTextureSamplerHandleNV, GLuint, texture, GLuint, sampler); \ UnsupportedWrapper4(void, glGetTrackMatrixivNV, GLenum, target, GLuint, address, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetTransformFeedbackVaryingNV, GLuint, program, GLuint, index, GLint *, location); \ UnsupportedWrapper4(void, glGetTranslatedShaderSourceANGLE, GLuint, shader, GLsizei, bufsize, GLsizei *, length, GLchar *, source); \ UnsupportedWrapper2(GLint, glGetUniformBufferSizeEXT, GLuint, program, GLint, location); \ UnsupportedWrapper3(void, glGetUniformfvARB, GLhandleARB, programObj, GLint, location, GLfloat *, params); \ UnsupportedWrapper3(void, glGetUniformi64vARB, GLuint, program, GLint, location, GLint64 *, params); \ UnsupportedWrapper3(void, glGetUniformi64vNV, GLuint, program, GLint, location, GLint64EXT *, params); \ UnsupportedWrapper3(void, glGetUniformivARB, GLhandleARB, programObj, GLint, location, GLint *, params); \ UnsupportedWrapper2(GLint, glGetUniformLocationARB, GLhandleARB, programObj, const GLcharARB *, name); \ UnsupportedWrapper2(GLintptr, glGetUniformOffsetEXT, GLuint, program, GLint, location); \ UnsupportedWrapper3(void, glGetUniformui64vARB, GLuint, program, GLint, location, GLuint64 *, params); \ UnsupportedWrapper3(void, glGetUniformui64vNV, GLuint, program, GLint, location, GLuint64EXT *, params); \ UnsupportedWrapper3(void, glGetVariantArrayObjectfvATI, GLuint, id, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetVariantArrayObjectivATI, GLuint, id, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetVariantBooleanvEXT, GLuint, id, GLenum, value, GLboolean *, data); \ UnsupportedWrapper3(void, glGetVariantFloatvEXT, GLuint, id, GLenum, value, GLfloat *, data); \ UnsupportedWrapper3(void, glGetVariantIntegervEXT, GLuint, id, GLenum, value, GLint *, data); \ UnsupportedWrapper3(void, glGetVariantPointervEXT, GLuint, id, GLenum, value, void **, data); \ UnsupportedWrapper2(GLint, glGetVaryingLocationNV, GLuint, program, const GLchar *, name); \ UnsupportedWrapper3(void, glGetVertexAttribArrayObjectfvATI, GLuint, index, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetVertexAttribArrayObjectivATI, GLuint, index, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetVertexAttribdvARB, GLuint, index, GLenum, pname, GLdouble *, params); \ UnsupportedWrapper3(void, glGetVertexAttribdvNV, GLuint, index, GLenum, pname, GLdouble *, params); \ UnsupportedWrapper3(void, glGetVertexAttribfvARB, GLuint, index, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetVertexAttribfvNV, GLuint, index, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper3(void, glGetVertexAttribivARB, GLuint, index, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetVertexAttribivNV, GLuint, index, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetVertexAttribLi64vNV, GLuint, index, GLenum, pname, GLint64EXT *, params); \ UnsupportedWrapper3(void, glGetVertexAttribLui64vARB, GLuint, index, GLenum, pname, GLuint64EXT *, params); \ UnsupportedWrapper3(void, glGetVertexAttribLui64vNV, GLuint, index, GLenum, pname, GLuint64EXT *, params); \ UnsupportedWrapper3(void, glGetVertexAttribPointervARB, GLuint, index, GLenum, pname, void **, pointer); \ UnsupportedWrapper3(void, glGetVertexAttribPointervNV, GLuint, index, GLenum, pname, void **, pointer); \ UnsupportedWrapper3(void, glGetVideoCaptureivNV, GLuint, video_capture_slot, GLenum, pname, GLint *, params); \ UnsupportedWrapper4(void, glGetVideoCaptureStreamdvNV, GLuint, video_capture_slot, GLuint, stream, GLenum, pname, GLdouble *, params); \ UnsupportedWrapper4(void, glGetVideoCaptureStreamfvNV, GLuint, video_capture_slot, GLuint, stream, GLenum, pname, GLfloat *, params); \ UnsupportedWrapper4(void, glGetVideoCaptureStreamivNV, GLuint, video_capture_slot, GLuint, stream, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetVideoi64vNV, GLuint, video_slot, GLenum, pname, GLint64EXT *, params); \ UnsupportedWrapper3(void, glGetVideoivNV, GLuint, video_slot, GLenum, pname, GLint *, params); \ UnsupportedWrapper3(void, glGetVideoui64vNV, GLuint, video_slot, GLenum, pname, GLuint64EXT *, params); \ UnsupportedWrapper3(void, glGetVideouivNV, GLuint, video_slot, GLenum, pname, GLuint *, params); \ UnsupportedWrapper1(GLVULKANPROCNV, glGetVkProcAddrNV, const GLchar *, name); \ UnsupportedWrapper1(void, glGlobalAlphaFactorbSUN, GLbyte, factor); \ UnsupportedWrapper1(void, glGlobalAlphaFactordSUN, GLdouble, factor); \ UnsupportedWrapper1(void, glGlobalAlphaFactorfSUN, GLfloat, factor); \ UnsupportedWrapper1(void, glGlobalAlphaFactoriSUN, GLint, factor); \ UnsupportedWrapper1(void, glGlobalAlphaFactorsSUN, GLshort, factor); \ UnsupportedWrapper1(void, glGlobalAlphaFactorubSUN, GLubyte, factor); \ UnsupportedWrapper1(void, glGlobalAlphaFactoruiSUN, GLuint, factor); \ UnsupportedWrapper1(void, glGlobalAlphaFactorusSUN, GLushort, factor); \ UnsupportedWrapper2(void, glHintPGI, GLenum, target, GLint, mode); \ UnsupportedWrapper4(void, glHistogramEXT, GLenum, target, GLsizei, width, GLenum, internalformat, GLboolean, sink); \ UnsupportedWrapper4(void, glHistogram, GLenum, target, GLsizei, width, GLenum, internalformat, GLboolean, sink); \ UnsupportedWrapper2(void, glIglooInterfaceSGIX, GLenum, pname, const void *, params); \ UnsupportedWrapper3(void, glImageTransformParameterfHP, GLenum, target, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glImageTransformParameterfvHP, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glImageTransformParameteriHP, GLenum, target, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glImageTransformParameterivHP, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(GLsync, glImportSyncEXT, GLenum, external_sync_type, GLintptr, external_sync, GLbitfield, flags); \ UnsupportedWrapper1(void, glIndexd, GLdouble, c); \ UnsupportedWrapper1(void, glIndexdv, const GLdouble *, c); \ UnsupportedWrapper2(void, glIndexFormatNV, GLenum, type, GLsizei, stride); \ UnsupportedWrapper1(void, glIndexf, GLfloat, c); \ UnsupportedWrapper2(void, glIndexFuncEXT, GLenum, func, GLclampf, ref); \ UnsupportedWrapper1(void, glIndexfv, const GLfloat *, c); \ UnsupportedWrapper1(void, glIndexi, GLint, c); \ UnsupportedWrapper1(void, glIndexiv, const GLint *, c); \ UnsupportedWrapper1(void, glIndexMask, GLuint, mask); \ UnsupportedWrapper2(void, glIndexMaterialEXT, GLenum, face, GLenum, mode); \ UnsupportedWrapper4(void, glIndexPointerEXT, GLenum, type, GLsizei, stride, GLsizei, count, const void *, pointer); \ UnsupportedWrapper4(void, glIndexPointerListIBM, GLenum, type, GLint, stride, const void **, pointer, GLint, ptrstride); \ UnsupportedWrapper3(void, glIndexPointer, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper1(void, glIndexs, GLshort, c); \ UnsupportedWrapper1(void, glIndexsv, const GLshort *, c); \ UnsupportedWrapper1(void, glIndexub, GLubyte, c); \ UnsupportedWrapper1(void, glIndexubv, const GLubyte *, c); \ UnsupportedWrapper1(void, glIndexxOES, GLfixed, component); \ UnsupportedWrapper1(void, glIndexxvOES, const GLfixed *, component); \ UnsupportedWrapper0(void, glInitNames); \ UnsupportedWrapper3(void, glInsertComponentEXT, GLuint, res, GLuint, src, GLuint, num); \ UnsupportedWrapper2(void, glInstrumentsBufferSGIX, GLsizei, size, GLint *, buffer); \ UnsupportedWrapper3(void, glInterleavedArrays, GLenum, format, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper4(void, glInterpolatePathsNV, GLuint, resultPath, GLuint, pathA, GLuint, pathB, GLfloat, weight); \ UnsupportedWrapper1(GLboolean, glIsAsyncMarkerSGIX, GLuint, marker); \ UnsupportedWrapper1(GLboolean, glIsBufferResidentNV, GLenum, target); \ UnsupportedWrapper1(GLboolean, glIsCommandListNV, GLuint, list); \ UnsupportedWrapper1(GLboolean, glIsFenceAPPLE, GLuint, fence); \ UnsupportedWrapper1(GLboolean, glIsFenceNV, GLuint, fence); \ UnsupportedWrapper1(GLboolean, glIsImageHandleResidentARB, GLuint64, handle); \ UnsupportedWrapper1(GLboolean, glIsImageHandleResidentNV, GLuint64, handle); \ UnsupportedWrapper1(GLboolean, glIsList, GLuint, list); \ UnsupportedWrapper2(GLboolean, glIsNameAMD, GLenum, identifier, GLuint, name); \ UnsupportedWrapper1(GLboolean, glIsNamedBufferResidentNV, GLuint, buffer); \ UnsupportedWrapper1(GLboolean, glIsObjectBufferATI, GLuint, buffer); \ UnsupportedWrapper1(GLboolean, glIsOcclusionQueryNV, GLuint, id); \ UnsupportedWrapper1(GLboolean, glIsPathNV, GLuint, path); \ UnsupportedWrapper4(GLboolean, glIsPointInFillPathNV, GLuint, path, GLuint, mask, GLfloat, x, GLfloat, y); \ UnsupportedWrapper3(GLboolean, glIsPointInStrokePathNV, GLuint, path, GLfloat, x, GLfloat, y); \ UnsupportedWrapper1(GLboolean, glIsProgramARB, GLuint, program); \ UnsupportedWrapper1(GLboolean, glIsProgramNV, GLuint, id); \ UnsupportedWrapper1(GLboolean, glIsStateNV, GLuint, state); \ UnsupportedWrapper1(GLboolean, glIsSyncAPPLE, GLsync, sync); \ UnsupportedWrapper1(GLboolean, glIsTextureEXT, GLuint, texture); \ UnsupportedWrapper1(GLboolean, glIsTextureHandleResidentARB, GLuint64, handle); \ UnsupportedWrapper1(GLboolean, glIsTextureHandleResidentNV, GLuint64, handle); \ UnsupportedWrapper1(GLboolean, glIsTransformFeedbackNV, GLuint, id); \ UnsupportedWrapper2(GLboolean, glIsVariantEnabledEXT, GLuint, id, GLenum, cap); \ UnsupportedWrapper1(GLboolean, glIsVertexArrayAPPLE, GLuint, array); \ UnsupportedWrapper2(GLboolean, glIsVertexAttribEnabledAPPLE, GLuint, index, GLenum, pname); \ UnsupportedWrapper17(void, glLGPUCopyImageSubDataNVX, GLuint, sourceGpu, GLbitfield, destinationGpuMask, GLuint, srcName, GLenum, srcTarget, GLint, srcLevel, GLint, srcX, GLint, srxY, GLint, srcZ, GLuint, dstName, GLenum, dstTarget, GLint, dstLevel, GLint, dstX, GLint, dstY, GLint, dstZ, GLsizei, width, GLsizei, height, GLsizei, depth); \ UnsupportedWrapper0(void, glLGPUInterlockNVX); \ UnsupportedWrapper5(void, glLGPUNamedBufferSubDataNVX, GLbitfield, gpuMask, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, const void *, data); \ UnsupportedWrapper2(void, glLightEnviSGIX, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glLightf, GLenum, light, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glLightfv, GLenum, light, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glLighti, GLenum, light, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glLightiv, GLenum, light, GLenum, pname, const GLint *, params); \ UnsupportedWrapper2(void, glLightModelf, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glLightModelfv, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glLightModeli, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glLightModeliv, GLenum, pname, const GLint *, params); \ UnsupportedWrapper2(void, glLightModelxOES, GLenum, pname, GLfixed, param); \ UnsupportedWrapper2(void, glLightModelxvOES, GLenum, pname, const GLfixed *, param); \ UnsupportedWrapper3(void, glLightxOES, GLenum, light, GLenum, pname, GLfixed, param); \ UnsupportedWrapper3(void, glLightxvOES, GLenum, light, GLenum, pname, const GLfixed *, params); \ UnsupportedWrapper2(void, glLineStipple, GLint, factor, GLushort, pattern); \ UnsupportedWrapper1(void, glLineWidthxOES, GLfixed, width); \ UnsupportedWrapper1(void, glLinkProgramARB, GLhandleARB, programObj); \ UnsupportedWrapper1(void, glListBase, GLuint, base); \ UnsupportedWrapper7(void, glListDrawCommandsStatesClientNV, GLuint, list, GLuint, segment, const void **, indirects, const GLsizei *, sizes, const GLuint *, states, const GLuint *, fbos, GLuint, count); \ UnsupportedWrapper3(void, glListParameterfSGIX, GLuint, list, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glListParameterfvSGIX, GLuint, list, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glListParameteriSGIX, GLuint, list, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glListParameterivSGIX, GLuint, list, GLenum, pname, const GLint *, params); \ UnsupportedWrapper1(void, glLoadIdentityDeformationMapSGIX, GLbitfield, mask); \ UnsupportedWrapper0(void, glLoadIdentity); \ UnsupportedWrapper1(void, glLoadMatrixd, const GLdouble *, m); \ UnsupportedWrapper1(void, glLoadMatrixf, const GLfloat *, m); \ UnsupportedWrapper1(void, glLoadMatrixxOES, const GLfixed *, m); \ UnsupportedWrapper1(void, glLoadName, GLuint, name); \ UnsupportedWrapper4(void, glLoadProgramNV, GLenum, target, GLuint, id, GLsizei, len, const GLubyte *, program); \ UnsupportedWrapper1(void, glLoadTransposeMatrixdARB, const GLdouble *, m); \ UnsupportedWrapper1(void, glLoadTransposeMatrixd, const GLdouble *, m); \ UnsupportedWrapper1(void, glLoadTransposeMatrixfARB, const GLfloat *, m); \ UnsupportedWrapper1(void, glLoadTransposeMatrixf, const GLfloat *, m); \ UnsupportedWrapper1(void, glLoadTransposeMatrixxOES, const GLfixed *, m); \ UnsupportedWrapper2(void, glLockArraysEXT, GLint, first, GLsizei, count); \ UnsupportedWrapper1(void, glMakeBufferNonResidentNV, GLenum, target); \ UnsupportedWrapper2(void, glMakeBufferResidentNV, GLenum, target, GLenum, access); \ UnsupportedWrapper1(void, glMakeImageHandleNonResidentARB, GLuint64, handle); \ UnsupportedWrapper1(void, glMakeImageHandleNonResidentNV, GLuint64, handle); \ UnsupportedWrapper2(void, glMakeImageHandleResidentARB, GLuint64, handle, GLenum, access); \ UnsupportedWrapper2(void, glMakeImageHandleResidentNV, GLuint64, handle, GLenum, access); \ UnsupportedWrapper1(void, glMakeNamedBufferNonResidentNV, GLuint, buffer); \ UnsupportedWrapper2(void, glMakeNamedBufferResidentNV, GLuint, buffer, GLenum, access); \ UnsupportedWrapper1(void, glMakeTextureHandleNonResidentARB, GLuint64, handle); \ UnsupportedWrapper1(void, glMakeTextureHandleNonResidentNV, GLuint64, handle); \ UnsupportedWrapper1(void, glMakeTextureHandleResidentARB, GLuint64, handle); \ UnsupportedWrapper1(void, glMakeTextureHandleResidentNV, GLuint64, handle); \ UnsupportedWrapper6(void, glMap1d, GLenum, target, GLdouble, u1, GLdouble, u2, GLint, stride, GLint, order, const GLdouble *, points); \ UnsupportedWrapper6(void, glMap1f, GLenum, target, GLfloat, u1, GLfloat, u2, GLint, stride, GLint, order, const GLfloat *, points); \ UnsupportedWrapper6(void, glMap1xOES, GLenum, target, GLfixed, u1, GLfixed, u2, GLint, stride, GLint, order, GLfixed, points); \ UnsupportedWrapper10(void, glMap2d, GLenum, target, GLdouble, u1, GLdouble, u2, GLint, ustride, GLint, uorder, GLdouble, v1, GLdouble, v2, GLint, vstride, GLint, vorder, const GLdouble *, points); \ UnsupportedWrapper10(void, glMap2f, GLenum, target, GLfloat, u1, GLfloat, u2, GLint, ustride, GLint, uorder, GLfloat, v1, GLfloat, v2, GLint, vstride, GLint, vorder, const GLfloat *, points); \ UnsupportedWrapper10(void, glMap2xOES, GLenum, target, GLfixed, u1, GLfixed, u2, GLint, ustride, GLint, uorder, GLfixed, v1, GLfixed, v2, GLint, vstride, GLint, vorder, GLfixed, points); \ UnsupportedWrapper9(void, glMapControlPointsNV, GLenum, target, GLuint, index, GLenum, type, GLsizei, ustride, GLsizei, vstride, GLint, uorder, GLint, vorder, GLboolean, packed, const void *, points); \ UnsupportedWrapper3(void, glMapGrid1d, GLint, un, GLdouble, u1, GLdouble, u2); \ UnsupportedWrapper3(void, glMapGrid1f, GLint, un, GLfloat, u1, GLfloat, u2); \ UnsupportedWrapper3(void, glMapGrid1xOES, GLint, n, GLfixed, u1, GLfixed, u2); \ UnsupportedWrapper6(void, glMapGrid2d, GLint, un, GLdouble, u1, GLdouble, u2, GLint, vn, GLdouble, v1, GLdouble, v2); \ UnsupportedWrapper6(void, glMapGrid2f, GLint, un, GLfloat, u1, GLfloat, u2, GLint, vn, GLfloat, v1, GLfloat, v2); \ UnsupportedWrapper5(void, glMapGrid2xOES, GLint, n, GLfixed, u1, GLfixed, u2, GLfixed, v1, GLfixed, v2); \ UnsupportedWrapper1(void *, glMapObjectBufferATI, GLuint, buffer); \ UnsupportedWrapper3(void, glMapParameterfvNV, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glMapParameterivNV, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper5(void *, glMapTexture2DINTEL, GLuint, texture, GLint, level, GLbitfield, access, GLint *, stride, GLenum *, layout); \ UnsupportedWrapper7(void, glMapVertexAttrib1dAPPLE, GLuint, index, GLuint, size, GLdouble, u1, GLdouble, u2, GLint, stride, GLint, order, const GLdouble *, points); \ UnsupportedWrapper7(void, glMapVertexAttrib1fAPPLE, GLuint, index, GLuint, size, GLfloat, u1, GLfloat, u2, GLint, stride, GLint, order, const GLfloat *, points); \ UnsupportedWrapper11(void, glMapVertexAttrib2dAPPLE, GLuint, index, GLuint, size, GLdouble, u1, GLdouble, u2, GLint, ustride, GLint, uorder, GLdouble, v1, GLdouble, v2, GLint, vstride, GLint, vorder, const GLdouble *, points); \ UnsupportedWrapper11(void, glMapVertexAttrib2fAPPLE, GLuint, index, GLuint, size, GLfloat, u1, GLfloat, u2, GLint, ustride, GLint, uorder, GLfloat, v1, GLfloat, v2, GLint, vstride, GLint, vorder, const GLfloat *, points); \ UnsupportedWrapper3(void, glMaterialf, GLenum, face, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glMaterialfv, GLenum, face, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glMateriali, GLenum, face, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glMaterialiv, GLenum, face, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glMaterialxOES, GLenum, face, GLenum, pname, GLfixed, param); \ UnsupportedWrapper3(void, glMaterialxvOES, GLenum, face, GLenum, pname, const GLfixed *, param); \ UnsupportedWrapper7(void, glMatrixFrustumEXT, GLenum, mode, GLdouble, left, GLdouble, right, GLdouble, bottom, GLdouble, top, GLdouble, zNear, GLdouble, zFar); \ UnsupportedWrapper4(void, glMatrixIndexPointerARB, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper2(void, glMatrixIndexubvARB, GLint, size, const GLubyte *, indices); \ UnsupportedWrapper2(void, glMatrixIndexuivARB, GLint, size, const GLuint *, indices); \ UnsupportedWrapper2(void, glMatrixIndexusvARB, GLint, size, const GLushort *, indices); \ UnsupportedWrapper2(void, glMatrixLoad3x2fNV, GLenum, matrixMode, const GLfloat *, m); \ UnsupportedWrapper2(void, glMatrixLoad3x3fNV, GLenum, matrixMode, const GLfloat *, m); \ UnsupportedWrapper2(void, glMatrixLoaddEXT, GLenum, mode, const GLdouble *, m); \ UnsupportedWrapper2(void, glMatrixLoadfEXT, GLenum, mode, const GLfloat *, m); \ UnsupportedWrapper1(void, glMatrixLoadIdentityEXT, GLenum, mode); \ UnsupportedWrapper2(void, glMatrixLoadTranspose3x3fNV, GLenum, matrixMode, const GLfloat *, m); \ UnsupportedWrapper2(void, glMatrixLoadTransposedEXT, GLenum, mode, const GLdouble *, m); \ UnsupportedWrapper2(void, glMatrixLoadTransposefEXT, GLenum, mode, const GLfloat *, m); \ UnsupportedWrapper1(void, glMatrixMode, GLenum, mode); \ UnsupportedWrapper2(void, glMatrixMult3x2fNV, GLenum, matrixMode, const GLfloat *, m); \ UnsupportedWrapper2(void, glMatrixMult3x3fNV, GLenum, matrixMode, const GLfloat *, m); \ UnsupportedWrapper2(void, glMatrixMultdEXT, GLenum, mode, const GLdouble *, m); \ UnsupportedWrapper2(void, glMatrixMultfEXT, GLenum, mode, const GLfloat *, m); \ UnsupportedWrapper2(void, glMatrixMultTranspose3x3fNV, GLenum, matrixMode, const GLfloat *, m); \ UnsupportedWrapper2(void, glMatrixMultTransposedEXT, GLenum, mode, const GLdouble *, m); \ UnsupportedWrapper2(void, glMatrixMultTransposefEXT, GLenum, mode, const GLfloat *, m); \ UnsupportedWrapper7(void, glMatrixOrthoEXT, GLenum, mode, GLdouble, left, GLdouble, right, GLdouble, bottom, GLdouble, top, GLdouble, zNear, GLdouble, zFar); \ UnsupportedWrapper1(void, glMatrixPopEXT, GLenum, mode); \ UnsupportedWrapper1(void, glMatrixPushEXT, GLenum, mode); \ UnsupportedWrapper5(void, glMatrixRotatedEXT, GLenum, mode, GLdouble, angle, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper5(void, glMatrixRotatefEXT, GLenum, mode, GLfloat, angle, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper4(void, glMatrixScaledEXT, GLenum, mode, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper4(void, glMatrixScalefEXT, GLenum, mode, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper4(void, glMatrixTranslatedEXT, GLenum, mode, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper4(void, glMatrixTranslatefEXT, GLenum, mode, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glMinmaxEXT, GLenum, target, GLenum, internalformat, GLboolean, sink); \ UnsupportedWrapper3(void, glMinmax, GLenum, target, GLenum, internalformat, GLboolean, sink); \ UnsupportedWrapper0(void, glMulticastBarrierNV); \ UnsupportedWrapper12(void, glMulticastBlitFramebufferNV, GLuint, srcGpu, GLuint, dstGpu, GLint, srcX0, GLint, srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint, dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum, filter); \ UnsupportedWrapper5(void, glMulticastBufferSubDataNV, GLbitfield, gpuMask, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, const void *, data); \ UnsupportedWrapper7(void, glMulticastCopyBufferSubDataNV, GLuint, readGpu, GLbitfield, writeGpuMask, GLuint, readBuffer, GLuint, writeBuffer, GLintptr, readOffset, GLintptr, writeOffset, GLsizeiptr, size); \ UnsupportedWrapper17(void, glMulticastCopyImageSubDataNV, GLuint, srcGpu, GLbitfield, dstGpuMask, GLuint, srcName, GLenum, srcTarget, GLint, srcLevel, GLint, srcX, GLint, srcY, GLint, srcZ, GLuint, dstName, GLenum, dstTarget, GLint, dstLevel, GLint, dstX, GLint, dstY, GLint, dstZ, GLsizei, srcWidth, GLsizei, srcHeight, GLsizei, srcDepth); \ UnsupportedWrapper5(void, glMulticastFramebufferSampleLocationsfvNV, GLuint, gpu, GLuint, framebuffer, GLuint, start, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper4(void, glMulticastGetQueryObjecti64vNV, GLuint, gpu, GLuint, id, GLenum, pname, GLint64 *, params); \ UnsupportedWrapper4(void, glMulticastGetQueryObjectivNV, GLuint, gpu, GLuint, id, GLenum, pname, GLint *, params); \ UnsupportedWrapper4(void, glMulticastGetQueryObjectui64vNV, GLuint, gpu, GLuint, id, GLenum, pname, GLuint64 *, params); \ UnsupportedWrapper4(void, glMulticastGetQueryObjectuivNV, GLuint, gpu, GLuint, id, GLenum, pname, GLuint *, params); \ UnsupportedWrapper2(void, glMulticastWaitSyncNV, GLuint, signalGpu, GLbitfield, waitGpuMask); \ UnsupportedWrapper4(void, glMultiDrawArraysIndirectAMD, GLenum, mode, const void *, indirect, GLsizei, primcount, GLsizei, stride); \ UnsupportedWrapper6(void, glMultiDrawArraysIndirectBindlessCountNV, GLenum, mode, const void *, indirect, GLsizei, drawCount, GLsizei, maxDrawCount, GLsizei, stride, GLint, vertexBufferCount); \ UnsupportedWrapper5(void, glMultiDrawArraysIndirectBindlessNV, GLenum, mode, const void *, indirect, GLsizei, drawCount, GLsizei, stride, GLint, vertexBufferCount); \ UnsupportedWrapper4(void, glMultiDrawArraysIndirectEXT, GLenum, mode, const void *, indirect, GLsizei, drawcount, GLsizei, stride); \ UnsupportedWrapper4(void, glMultiDrawElementArrayAPPLE, GLenum, mode, const GLint *, first, const GLsizei *, count, GLsizei, primcount); \ UnsupportedWrapper5(void, glMultiDrawElementsEXT, GLenum, mode, const GLsizei *, count, GLenum, type, const void *const*, indices, GLsizei, primcount); \ UnsupportedWrapper5(void, glMultiDrawElementsIndirectAMD, GLenum, mode, GLenum, type, const void *, indirect, GLsizei, primcount, GLsizei, stride); \ UnsupportedWrapper7(void, glMultiDrawElementsIndirectBindlessCountNV, GLenum, mode, GLenum, type, const void *, indirect, GLsizei, drawCount, GLsizei, maxDrawCount, GLsizei, stride, GLint, vertexBufferCount); \ UnsupportedWrapper6(void, glMultiDrawElementsIndirectBindlessNV, GLenum, mode, GLenum, type, const void *, indirect, GLsizei, drawCount, GLsizei, stride, GLint, vertexBufferCount); \ UnsupportedWrapper5(void, glMultiDrawElementsIndirectEXT, GLenum, mode, GLenum, type, const void *, indirect, GLsizei, drawcount, GLsizei, stride); \ UnsupportedWrapper6(void, glMultiDrawRangeElementArrayAPPLE, GLenum, mode, GLuint, start, GLuint, end, const GLint *, first, const GLsizei *, count, GLsizei, primcount); \ UnsupportedWrapper5(void, glMultiModeDrawArraysIBM, const GLenum *, mode, const GLint *, first, const GLsizei *, count, GLsizei, primcount, GLint, modestride); \ UnsupportedWrapper6(void, glMultiModeDrawElementsIBM, const GLenum *, mode, const GLsizei *, count, GLenum, type, const void *const*, indices, GLsizei, primcount, GLint, modestride); \ UnsupportedWrapper2(void, glMultiTexCoord1bOES, GLenum, texture, GLbyte, s); \ UnsupportedWrapper2(void, glMultiTexCoord1bvOES, GLenum, texture, const GLbyte *, coords); \ UnsupportedWrapper2(void, glMultiTexCoord1dARB, GLenum, target, GLdouble, s); \ UnsupportedWrapper2(void, glMultiTexCoord1d, GLenum, target, GLdouble, s); \ UnsupportedWrapper2(void, glMultiTexCoord1dvARB, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1dv, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1fARB, GLenum, target, GLfloat, s); \ UnsupportedWrapper2(void, glMultiTexCoord1f, GLenum, target, GLfloat, s); \ UnsupportedWrapper2(void, glMultiTexCoord1fvARB, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1fv, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1hNV, GLenum, target, GLhalfNV, s); \ UnsupportedWrapper2(void, glMultiTexCoord1hvNV, GLenum, target, const GLhalfNV *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1iARB, GLenum, target, GLint, s); \ UnsupportedWrapper2(void, glMultiTexCoord1i, GLenum, target, GLint, s); \ UnsupportedWrapper2(void, glMultiTexCoord1ivARB, GLenum, target, const GLint *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1iv, GLenum, target, const GLint *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1sARB, GLenum, target, GLshort, s); \ UnsupportedWrapper2(void, glMultiTexCoord1s, GLenum, target, GLshort, s); \ UnsupportedWrapper2(void, glMultiTexCoord1svARB, GLenum, target, const GLshort *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1sv, GLenum, target, const GLshort *, v); \ UnsupportedWrapper2(void, glMultiTexCoord1xOES, GLenum, texture, GLfixed, s); \ UnsupportedWrapper2(void, glMultiTexCoord1xvOES, GLenum, texture, const GLfixed *, coords); \ UnsupportedWrapper3(void, glMultiTexCoord2bOES, GLenum, texture, GLbyte, s, GLbyte, t); \ UnsupportedWrapper2(void, glMultiTexCoord2bvOES, GLenum, texture, const GLbyte *, coords); \ UnsupportedWrapper3(void, glMultiTexCoord2dARB, GLenum, target, GLdouble, s, GLdouble, t); \ UnsupportedWrapper3(void, glMultiTexCoord2d, GLenum, target, GLdouble, s, GLdouble, t); \ UnsupportedWrapper2(void, glMultiTexCoord2dvARB, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper2(void, glMultiTexCoord2dv, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper3(void, glMultiTexCoord2fARB, GLenum, target, GLfloat, s, GLfloat, t); \ UnsupportedWrapper3(void, glMultiTexCoord2f, GLenum, target, GLfloat, s, GLfloat, t); \ UnsupportedWrapper2(void, glMultiTexCoord2fvARB, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper2(void, glMultiTexCoord2fv, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper3(void, glMultiTexCoord2hNV, GLenum, target, GLhalfNV, s, GLhalfNV, t); \ UnsupportedWrapper2(void, glMultiTexCoord2hvNV, GLenum, target, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glMultiTexCoord2iARB, GLenum, target, GLint, s, GLint, t); \ UnsupportedWrapper3(void, glMultiTexCoord2i, GLenum, target, GLint, s, GLint, t); \ UnsupportedWrapper2(void, glMultiTexCoord2ivARB, GLenum, target, const GLint *, v); \ UnsupportedWrapper2(void, glMultiTexCoord2iv, GLenum, target, const GLint *, v); \ UnsupportedWrapper3(void, glMultiTexCoord2sARB, GLenum, target, GLshort, s, GLshort, t); \ UnsupportedWrapper3(void, glMultiTexCoord2s, GLenum, target, GLshort, s, GLshort, t); \ UnsupportedWrapper2(void, glMultiTexCoord2svARB, GLenum, target, const GLshort *, v); \ UnsupportedWrapper2(void, glMultiTexCoord2sv, GLenum, target, const GLshort *, v); \ UnsupportedWrapper3(void, glMultiTexCoord2xOES, GLenum, texture, GLfixed, s, GLfixed, t); \ UnsupportedWrapper2(void, glMultiTexCoord2xvOES, GLenum, texture, const GLfixed *, coords); \ UnsupportedWrapper4(void, glMultiTexCoord3bOES, GLenum, texture, GLbyte, s, GLbyte, t, GLbyte, r); \ UnsupportedWrapper2(void, glMultiTexCoord3bvOES, GLenum, texture, const GLbyte *, coords); \ UnsupportedWrapper4(void, glMultiTexCoord3dARB, GLenum, target, GLdouble, s, GLdouble, t, GLdouble, r); \ UnsupportedWrapper4(void, glMultiTexCoord3d, GLenum, target, GLdouble, s, GLdouble, t, GLdouble, r); \ UnsupportedWrapper2(void, glMultiTexCoord3dvARB, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper2(void, glMultiTexCoord3dv, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper4(void, glMultiTexCoord3fARB, GLenum, target, GLfloat, s, GLfloat, t, GLfloat, r); \ UnsupportedWrapper4(void, glMultiTexCoord3f, GLenum, target, GLfloat, s, GLfloat, t, GLfloat, r); \ UnsupportedWrapper2(void, glMultiTexCoord3fvARB, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper2(void, glMultiTexCoord3fv, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper4(void, glMultiTexCoord3hNV, GLenum, target, GLhalfNV, s, GLhalfNV, t, GLhalfNV, r); \ UnsupportedWrapper2(void, glMultiTexCoord3hvNV, GLenum, target, const GLhalfNV *, v); \ UnsupportedWrapper4(void, glMultiTexCoord3iARB, GLenum, target, GLint, s, GLint, t, GLint, r); \ UnsupportedWrapper4(void, glMultiTexCoord3i, GLenum, target, GLint, s, GLint, t, GLint, r); \ UnsupportedWrapper2(void, glMultiTexCoord3ivARB, GLenum, target, const GLint *, v); \ UnsupportedWrapper2(void, glMultiTexCoord3iv, GLenum, target, const GLint *, v); \ UnsupportedWrapper4(void, glMultiTexCoord3sARB, GLenum, target, GLshort, s, GLshort, t, GLshort, r); \ UnsupportedWrapper4(void, glMultiTexCoord3s, GLenum, target, GLshort, s, GLshort, t, GLshort, r); \ UnsupportedWrapper2(void, glMultiTexCoord3svARB, GLenum, target, const GLshort *, v); \ UnsupportedWrapper2(void, glMultiTexCoord3sv, GLenum, target, const GLshort *, v); \ UnsupportedWrapper4(void, glMultiTexCoord3xOES, GLenum, texture, GLfixed, s, GLfixed, t, GLfixed, r); \ UnsupportedWrapper2(void, glMultiTexCoord3xvOES, GLenum, texture, const GLfixed *, coords); \ UnsupportedWrapper5(void, glMultiTexCoord4bOES, GLenum, texture, GLbyte, s, GLbyte, t, GLbyte, r, GLbyte, q); \ UnsupportedWrapper2(void, glMultiTexCoord4bvOES, GLenum, texture, const GLbyte *, coords); \ UnsupportedWrapper5(void, glMultiTexCoord4dARB, GLenum, target, GLdouble, s, GLdouble, t, GLdouble, r, GLdouble, q); \ UnsupportedWrapper5(void, glMultiTexCoord4d, GLenum, target, GLdouble, s, GLdouble, t, GLdouble, r, GLdouble, q); \ UnsupportedWrapper2(void, glMultiTexCoord4dvARB, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper2(void, glMultiTexCoord4dv, GLenum, target, const GLdouble *, v); \ UnsupportedWrapper5(void, glMultiTexCoord4fARB, GLenum, target, GLfloat, s, GLfloat, t, GLfloat, r, GLfloat, q); \ UnsupportedWrapper5(void, glMultiTexCoord4f, GLenum, target, GLfloat, s, GLfloat, t, GLfloat, r, GLfloat, q); \ UnsupportedWrapper2(void, glMultiTexCoord4fvARB, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper2(void, glMultiTexCoord4fv, GLenum, target, const GLfloat *, v); \ UnsupportedWrapper5(void, glMultiTexCoord4hNV, GLenum, target, GLhalfNV, s, GLhalfNV, t, GLhalfNV, r, GLhalfNV, q); \ UnsupportedWrapper2(void, glMultiTexCoord4hvNV, GLenum, target, const GLhalfNV *, v); \ UnsupportedWrapper5(void, glMultiTexCoord4iARB, GLenum, target, GLint, s, GLint, t, GLint, r, GLint, q); \ UnsupportedWrapper5(void, glMultiTexCoord4i, GLenum, target, GLint, s, GLint, t, GLint, r, GLint, q); \ UnsupportedWrapper2(void, glMultiTexCoord4ivARB, GLenum, target, const GLint *, v); \ UnsupportedWrapper2(void, glMultiTexCoord4iv, GLenum, target, const GLint *, v); \ UnsupportedWrapper5(void, glMultiTexCoord4sARB, GLenum, target, GLshort, s, GLshort, t, GLshort, r, GLshort, q); \ UnsupportedWrapper5(void, glMultiTexCoord4s, GLenum, target, GLshort, s, GLshort, t, GLshort, r, GLshort, q); \ UnsupportedWrapper2(void, glMultiTexCoord4svARB, GLenum, target, const GLshort *, v); \ UnsupportedWrapper2(void, glMultiTexCoord4sv, GLenum, target, const GLshort *, v); \ UnsupportedWrapper5(void, glMultiTexCoord4xOES, GLenum, texture, GLfixed, s, GLfixed, t, GLfixed, r, GLfixed, q); \ UnsupportedWrapper2(void, glMultiTexCoord4xvOES, GLenum, texture, const GLfixed *, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP1ui, GLenum, texture, GLenum, type, GLuint, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP1uiv, GLenum, texture, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP2ui, GLenum, texture, GLenum, type, GLuint, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP2uiv, GLenum, texture, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP3ui, GLenum, texture, GLenum, type, GLuint, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP3uiv, GLenum, texture, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP4ui, GLenum, texture, GLenum, type, GLuint, coords); \ UnsupportedWrapper3(void, glMultiTexCoordP4uiv, GLenum, texture, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper5(void, glMultiTexCoordPointerEXT, GLenum, texunit, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper4(void, glMultiTexEnvfEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLfloat, param); \ UnsupportedWrapper4(void, glMultiTexEnvfvEXT, GLenum, texunit, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper4(void, glMultiTexEnviEXT, GLenum, texunit, GLenum, target, GLenum, pname, GLint, param); \ UnsupportedWrapper4(void, glMultiTexEnvivEXT, GLenum, texunit, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper4(void, glMultiTexGendEXT, GLenum, texunit, GLenum, coord, GLenum, pname, GLdouble, param); \ UnsupportedWrapper4(void, glMultiTexGendvEXT, GLenum, texunit, GLenum, coord, GLenum, pname, const GLdouble *, params); \ UnsupportedWrapper4(void, glMultiTexGenfEXT, GLenum, texunit, GLenum, coord, GLenum, pname, GLfloat, param); \ UnsupportedWrapper4(void, glMultiTexGenfvEXT, GLenum, texunit, GLenum, coord, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper4(void, glMultiTexGeniEXT, GLenum, texunit, GLenum, coord, GLenum, pname, GLint, param); \ UnsupportedWrapper4(void, glMultiTexGenivEXT, GLenum, texunit, GLenum, coord, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glMultiTexRenderbufferEXT, GLenum, texunit, GLenum, target, GLuint, renderbuffer); \ UnsupportedWrapper1(void, glMultMatrixd, const GLdouble *, m); \ UnsupportedWrapper1(void, glMultMatrixf, const GLfloat *, m); \ UnsupportedWrapper1(void, glMultMatrixxOES, const GLfixed *, m); \ UnsupportedWrapper1(void, glMultTransposeMatrixdARB, const GLdouble *, m); \ UnsupportedWrapper1(void, glMultTransposeMatrixd, const GLdouble *, m); \ UnsupportedWrapper1(void, glMultTransposeMatrixfARB, const GLfloat *, m); \ UnsupportedWrapper1(void, glMultTransposeMatrixf, const GLfloat *, m); \ UnsupportedWrapper1(void, glMultTransposeMatrixxOES, const GLfixed *, m); \ UnsupportedWrapper4(void, glNamedBufferPageCommitmentARB, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, GLboolean, commit); \ UnsupportedWrapper4(void, glNamedBufferPageCommitmentEXT, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, GLboolean, commit); \ UnsupportedWrapper5(void, glNamedBufferStorageExternalEXT, GLuint, buffer, GLintptr, offset, GLsizeiptr, size, GLeglClientBufferEXT, clientBuffer, GLbitfield, flags); \ UnsupportedWrapper4(void, glNamedFramebufferSampleLocationsfvARB, GLuint, framebuffer, GLuint, start, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper4(void, glNamedFramebufferSampleLocationsfvNV, GLuint, framebuffer, GLuint, start, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper4(void, glNamedFramebufferSamplePositionsfvAMD, GLuint, framebuffer, GLuint, numsamples, GLuint, pixelindex, const GLfloat *, values); \ UnsupportedWrapper5(void, glNamedFramebufferTextureFaceEXT, GLuint, framebuffer, GLenum, attachment, GLuint, texture, GLint, level, GLenum, face); \ UnsupportedWrapper7(void, glNamedProgramLocalParameter4dEXT, GLuint, program, GLenum, target, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper4(void, glNamedProgramLocalParameter4dvEXT, GLuint, program, GLenum, target, GLuint, index, const GLdouble *, params); \ UnsupportedWrapper7(void, glNamedProgramLocalParameter4fEXT, GLuint, program, GLenum, target, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper4(void, glNamedProgramLocalParameter4fvEXT, GLuint, program, GLenum, target, GLuint, index, const GLfloat *, params); \ UnsupportedWrapper7(void, glNamedProgramLocalParameterI4iEXT, GLuint, program, GLenum, target, GLuint, index, GLint, x, GLint, y, GLint, z, GLint, w); \ UnsupportedWrapper4(void, glNamedProgramLocalParameterI4ivEXT, GLuint, program, GLenum, target, GLuint, index, const GLint *, params); \ UnsupportedWrapper7(void, glNamedProgramLocalParameterI4uiEXT, GLuint, program, GLenum, target, GLuint, index, GLuint, x, GLuint, y, GLuint, z, GLuint, w); \ UnsupportedWrapper4(void, glNamedProgramLocalParameterI4uivEXT, GLuint, program, GLenum, target, GLuint, index, const GLuint *, params); \ UnsupportedWrapper5(void, glNamedProgramLocalParameters4fvEXT, GLuint, program, GLenum, target, GLuint, index, GLsizei, count, const GLfloat *, params); \ UnsupportedWrapper5(void, glNamedProgramLocalParametersI4ivEXT, GLuint, program, GLenum, target, GLuint, index, GLsizei, count, const GLint *, params); \ UnsupportedWrapper5(void, glNamedProgramLocalParametersI4uivEXT, GLuint, program, GLenum, target, GLuint, index, GLsizei, count, const GLuint *, params); \ UnsupportedWrapper5(void, glNamedProgramStringEXT, GLuint, program, GLenum, target, GLenum, format, GLsizei, len, const void *, string); \ UnsupportedWrapper6(void, glNamedRenderbufferStorageMultisampleCoverageEXT, GLuint, renderbuffer, GLsizei, coverageSamples, GLsizei, colorSamples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ UnsupportedWrapper2(void, glNewList, GLuint, list, GLenum, mode); \ UnsupportedWrapper3(GLuint, glNewObjectBufferATI, GLsizei, size, const void *, pointer, GLenum, usage); \ UnsupportedWrapper3(void, glNormal3b, GLbyte, nx, GLbyte, ny, GLbyte, nz); \ UnsupportedWrapper1(void, glNormal3bv, const GLbyte *, v); \ UnsupportedWrapper3(void, glNormal3d, GLdouble, nx, GLdouble, ny, GLdouble, nz); \ UnsupportedWrapper1(void, glNormal3dv, const GLdouble *, v); \ UnsupportedWrapper3(void, glNormal3f, GLfloat, nx, GLfloat, ny, GLfloat, nz); \ UnsupportedWrapper6(void, glNormal3fVertex3fSUN, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper2(void, glNormal3fVertex3fvSUN, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper1(void, glNormal3fv, const GLfloat *, v); \ UnsupportedWrapper3(void, glNormal3hNV, GLhalfNV, nx, GLhalfNV, ny, GLhalfNV, nz); \ UnsupportedWrapper1(void, glNormal3hvNV, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glNormal3i, GLint, nx, GLint, ny, GLint, nz); \ UnsupportedWrapper1(void, glNormal3iv, const GLint *, v); \ UnsupportedWrapper3(void, glNormal3s, GLshort, nx, GLshort, ny, GLshort, nz); \ UnsupportedWrapper1(void, glNormal3sv, const GLshort *, v); \ UnsupportedWrapper3(void, glNormal3xOES, GLfixed, nx, GLfixed, ny, GLfixed, nz); \ UnsupportedWrapper1(void, glNormal3xvOES, const GLfixed *, coords); \ UnsupportedWrapper2(void, glNormalFormatNV, GLenum, type, GLsizei, stride); \ UnsupportedWrapper2(void, glNormalP3ui, GLenum, type, GLuint, coords); \ UnsupportedWrapper2(void, glNormalP3uiv, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper4(void, glNormalPointerEXT, GLenum, type, GLsizei, stride, GLsizei, count, const void *, pointer); \ UnsupportedWrapper4(void, glNormalPointerListIBM, GLenum, type, GLint, stride, const void **, pointer, GLint, ptrstride); \ UnsupportedWrapper3(void, glNormalPointer, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper2(void, glNormalPointervINTEL, GLenum, type, const void **, pointer); \ UnsupportedWrapper4(void, glNormalStream3bATI, GLenum, stream, GLbyte, nx, GLbyte, ny, GLbyte, nz); \ UnsupportedWrapper2(void, glNormalStream3bvATI, GLenum, stream, const GLbyte *, coords); \ UnsupportedWrapper4(void, glNormalStream3dATI, GLenum, stream, GLdouble, nx, GLdouble, ny, GLdouble, nz); \ UnsupportedWrapper2(void, glNormalStream3dvATI, GLenum, stream, const GLdouble *, coords); \ UnsupportedWrapper4(void, glNormalStream3fATI, GLenum, stream, GLfloat, nx, GLfloat, ny, GLfloat, nz); \ UnsupportedWrapper2(void, glNormalStream3fvATI, GLenum, stream, const GLfloat *, coords); \ UnsupportedWrapper4(void, glNormalStream3iATI, GLenum, stream, GLint, nx, GLint, ny, GLint, nz); \ UnsupportedWrapper2(void, glNormalStream3ivATI, GLenum, stream, const GLint *, coords); \ UnsupportedWrapper4(void, glNormalStream3sATI, GLenum, stream, GLshort, nx, GLshort, ny, GLshort, nz); \ UnsupportedWrapper2(void, glNormalStream3svATI, GLenum, stream, const GLshort *, coords); \ UnsupportedWrapper3(GLenum, glObjectPurgeableAPPLE, GLenum, objectType, GLuint, name, GLenum, option); \ UnsupportedWrapper3(GLenum, glObjectUnpurgeableAPPLE, GLenum, objectType, GLuint, name, GLenum, option); \ UnsupportedWrapper6(void, glOrthofOES, GLfloat, l, GLfloat, r, GLfloat, b, GLfloat, t, GLfloat, n, GLfloat, f); \ UnsupportedWrapper6(void, glOrtho, GLdouble, left, GLdouble, right, GLdouble, bottom, GLdouble, top, GLdouble, zNear, GLdouble, zFar); \ UnsupportedWrapper6(void, glOrthoxOES, GLfixed, l, GLfixed, r, GLfixed, b, GLfixed, t, GLfixed, n, GLfixed, f); \ UnsupportedWrapper3(void, glPassTexCoordATI, GLuint, dst, GLuint, coord, GLenum, swizzle); \ UnsupportedWrapper1(void, glPassThrough, GLfloat, token); \ UnsupportedWrapper1(void, glPassThroughxOES, GLfixed, token); \ UnsupportedWrapper4(void, glPathColorGenNV, GLenum, color, GLenum, genMode, GLenum, colorFormat, const GLfloat *, coeffs); \ UnsupportedWrapper6(void, glPathCommandsNV, GLuint, path, GLsizei, numCommands, const GLubyte *, commands, GLsizei, numCoords, GLenum, coordType, const void *, coords); \ UnsupportedWrapper4(void, glPathCoordsNV, GLuint, path, GLsizei, numCoords, GLenum, coordType, const void *, coords); \ UnsupportedWrapper1(void, glPathCoverDepthFuncNV, GLenum, func); \ UnsupportedWrapper3(void, glPathDashArrayNV, GLuint, path, GLsizei, dashCount, const GLfloat *, dashArray); \ UnsupportedWrapper1(void, glPathFogGenNV, GLenum, genMode); \ UnsupportedWrapper8(GLenum, glPathGlyphIndexArrayNV, GLuint, firstPathName, GLenum, fontTarget, const void *, fontName, GLbitfield, fontStyle, GLuint, firstGlyphIndex, GLsizei, numGlyphs, GLuint, pathParameterTemplate, GLfloat, emScale); \ UnsupportedWrapper6(GLenum, glPathGlyphIndexRangeNV, GLenum, fontTarget, const void *, fontName, GLbitfield, fontStyle, GLuint, pathParameterTemplate, GLfloat, emScale, GLuint *, baseAndCount); \ UnsupportedWrapper9(void, glPathGlyphRangeNV, GLuint, firstPathName, GLenum, fontTarget, const void *, fontName, GLbitfield, fontStyle, GLuint, firstGlyph, GLsizei, numGlyphs, GLenum, handleMissingGlyphs, GLuint, pathParameterTemplate, GLfloat, emScale); \ UnsupportedWrapper10(void, glPathGlyphsNV, GLuint, firstPathName, GLenum, fontTarget, const void *, fontName, GLbitfield, fontStyle, GLsizei, numGlyphs, GLenum, type, const void *, charcodes, GLenum, handleMissingGlyphs, GLuint, pathParameterTemplate, GLfloat, emScale); \ UnsupportedWrapper9(GLenum, glPathMemoryGlyphIndexArrayNV, GLuint, firstPathName, GLenum, fontTarget, GLsizeiptr, fontSize, const void *, fontData, GLsizei, faceIndex, GLuint, firstGlyphIndex, GLsizei, numGlyphs, GLuint, pathParameterTemplate, GLfloat, emScale); \ UnsupportedWrapper3(void, glPathParameterfNV, GLuint, path, GLenum, pname, GLfloat, value); \ UnsupportedWrapper3(void, glPathParameterfvNV, GLuint, path, GLenum, pname, const GLfloat *, value); \ UnsupportedWrapper3(void, glPathParameteriNV, GLuint, path, GLenum, pname, GLint, value); \ UnsupportedWrapper3(void, glPathParameterivNV, GLuint, path, GLenum, pname, const GLint *, value); \ UnsupportedWrapper2(void, glPathStencilDepthOffsetNV, GLfloat, factor, GLfloat, units); \ UnsupportedWrapper3(void, glPathStencilFuncNV, GLenum, func, GLint, ref, GLuint, mask); \ UnsupportedWrapper4(void, glPathStringNV, GLuint, path, GLenum, format, GLsizei, length, const void *, pathString); \ UnsupportedWrapper8(void, glPathSubCommandsNV, GLuint, path, GLsizei, commandStart, GLsizei, commandsToDelete, GLsizei, numCommands, const GLubyte *, commands, GLsizei, numCoords, GLenum, coordType, const void *, coords); \ UnsupportedWrapper5(void, glPathSubCoordsNV, GLuint, path, GLsizei, coordStart, GLsizei, numCoords, GLenum, coordType, const void *, coords); \ UnsupportedWrapper4(void, glPathTexGenNV, GLenum, texCoordSet, GLenum, genMode, GLint, components, const GLfloat *, coeffs); \ UnsupportedWrapper0(void, glPauseTransformFeedbackNV); \ UnsupportedWrapper3(void, glPixelDataRangeNV, GLenum, target, GLsizei, length, const void *, pointer); \ UnsupportedWrapper3(void, glPixelMapfv, GLenum, map, GLsizei, mapsize, const GLfloat *, values); \ UnsupportedWrapper3(void, glPixelMapuiv, GLenum, map, GLsizei, mapsize, const GLuint *, values); \ UnsupportedWrapper3(void, glPixelMapusv, GLenum, map, GLsizei, mapsize, const GLushort *, values); \ UnsupportedWrapper3(void, glPixelMapx, GLenum, map, GLint, size, const GLfixed *, values); \ UnsupportedWrapper2(void, glPixelStorex, GLenum, pname, GLfixed, param); \ UnsupportedWrapper2(void, glPixelTexGenParameterfSGIS, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glPixelTexGenParameterfvSGIS, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glPixelTexGenParameteriSGIS, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glPixelTexGenParameterivSGIS, GLenum, pname, const GLint *, params); \ UnsupportedWrapper1(void, glPixelTexGenSGIX, GLenum, mode); \ UnsupportedWrapper2(void, glPixelTransferf, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glPixelTransferi, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glPixelTransferxOES, GLenum, pname, GLfixed, param); \ UnsupportedWrapper3(void, glPixelTransformParameterfEXT, GLenum, target, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glPixelTransformParameterfvEXT, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glPixelTransformParameteriEXT, GLenum, target, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glPixelTransformParameterivEXT, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper2(void, glPixelZoom, GLfloat, xfactor, GLfloat, yfactor); \ UnsupportedWrapper2(void, glPixelZoomxOES, GLfixed, xfactor, GLfixed, yfactor); \ UnsupportedWrapper2(void, glPNTrianglesfATI, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glPNTrianglesiATI, GLenum, pname, GLint, param); \ UnsupportedWrapper8(GLboolean, glPointAlongPathNV, GLuint, path, GLsizei, startSegment, GLsizei, numSegments, GLfloat, distance, GLfloat *, x, GLfloat *, y, GLfloat *, tangentX, GLfloat *, tangentY); \ UnsupportedWrapper2(void, glPointParameterfSGIS, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glPointParameterfvSGIS, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glPointParameteriNV, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glPointParameterivNV, GLenum, pname, const GLint *, params); \ UnsupportedWrapper2(void, glPointParameterxvOES, GLenum, pname, const GLfixed *, params); \ UnsupportedWrapper1(void, glPointSizexOES, GLfixed, size); \ UnsupportedWrapper1(GLint, glPollAsyncSGIX, GLuint *, markerp); \ UnsupportedWrapper1(GLint, glPollInstrumentsSGIX, GLint *, marker_p); \ UnsupportedWrapper2(void, glPolygonModeNV, GLenum, face, GLenum, mode); \ UnsupportedWrapper2(void, glPolygonOffsetEXT, GLfloat, factor, GLfloat, bias); \ UnsupportedWrapper2(void, glPolygonOffsetxOES, GLfixed, factor, GLfixed, units); \ UnsupportedWrapper1(void, glPolygonStipple, const GLubyte *, mask); \ UnsupportedWrapper0(void, glPopAttrib); \ UnsupportedWrapper0(void, glPopClientAttrib); \ UnsupportedWrapper0(void, glPopMatrix); \ UnsupportedWrapper0(void, glPopName); \ UnsupportedWrapper13(void, glPresentFrameDualFillNV, GLuint, video_slot, GLuint64EXT, minPresentTime, GLuint, beginPresentTimeId, GLuint, presentDurationId, GLenum, type, GLenum, target0, GLuint, fill0, GLenum, target1, GLuint, fill1, GLenum, target2, GLuint, fill2, GLenum, target3, GLuint, fill3); \ UnsupportedWrapper11(void, glPresentFrameKeyedNV, GLuint, video_slot, GLuint64EXT, minPresentTime, GLuint, beginPresentTimeId, GLuint, presentDurationId, GLenum, type, GLenum, target0, GLuint, fill0, GLuint, key0, GLenum, target1, GLuint, fill1, GLuint, key1); \ UnsupportedWrapper1(void, glPrimitiveRestartIndexNV, GLuint, index); \ UnsupportedWrapper0(void, glPrimitiveRestartNV); \ UnsupportedWrapper3(void, glPrioritizeTexturesEXT, GLsizei, n, const GLuint *, textures, const GLclampf *, priorities); \ UnsupportedWrapper3(void, glPrioritizeTextures, GLsizei, n, const GLuint *, textures, const GLfloat *, priorities); \ UnsupportedWrapper3(void, glPrioritizeTexturesxOES, GLsizei, n, const GLuint *, textures, const GLfixed *, priorities); \ UnsupportedWrapper4(void, glProgramBinaryOES, GLuint, program, GLenum, binaryFormat, const void *, binary, GLint, length); \ UnsupportedWrapper5(void, glProgramBufferParametersfvNV, GLenum, target, GLuint, bindingIndex, GLuint, wordIndex, GLsizei, count, const GLfloat *, params); \ UnsupportedWrapper5(void, glProgramBufferParametersIivNV, GLenum, target, GLuint, bindingIndex, GLuint, wordIndex, GLsizei, count, const GLint *, params); \ UnsupportedWrapper5(void, glProgramBufferParametersIuivNV, GLenum, target, GLuint, bindingIndex, GLuint, wordIndex, GLsizei, count, const GLuint *, params); \ UnsupportedWrapper6(void, glProgramEnvParameter4dARB, GLenum, target, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper3(void, glProgramEnvParameter4dvARB, GLenum, target, GLuint, index, const GLdouble *, params); \ UnsupportedWrapper6(void, glProgramEnvParameter4fARB, GLenum, target, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper3(void, glProgramEnvParameter4fvARB, GLenum, target, GLuint, index, const GLfloat *, params); \ UnsupportedWrapper6(void, glProgramEnvParameterI4iNV, GLenum, target, GLuint, index, GLint, x, GLint, y, GLint, z, GLint, w); \ UnsupportedWrapper3(void, glProgramEnvParameterI4ivNV, GLenum, target, GLuint, index, const GLint *, params); \ UnsupportedWrapper6(void, glProgramEnvParameterI4uiNV, GLenum, target, GLuint, index, GLuint, x, GLuint, y, GLuint, z, GLuint, w); \ UnsupportedWrapper3(void, glProgramEnvParameterI4uivNV, GLenum, target, GLuint, index, const GLuint *, params); \ UnsupportedWrapper4(void, glProgramEnvParameters4fvEXT, GLenum, target, GLuint, index, GLsizei, count, const GLfloat *, params); \ UnsupportedWrapper4(void, glProgramEnvParametersI4ivNV, GLenum, target, GLuint, index, GLsizei, count, const GLint *, params); \ UnsupportedWrapper4(void, glProgramEnvParametersI4uivNV, GLenum, target, GLuint, index, GLsizei, count, const GLuint *, params); \ UnsupportedWrapper6(void, glProgramLocalParameter4dARB, GLenum, target, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper3(void, glProgramLocalParameter4dvARB, GLenum, target, GLuint, index, const GLdouble *, params); \ UnsupportedWrapper6(void, glProgramLocalParameter4fARB, GLenum, target, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper3(void, glProgramLocalParameter4fvARB, GLenum, target, GLuint, index, const GLfloat *, params); \ UnsupportedWrapper6(void, glProgramLocalParameterI4iNV, GLenum, target, GLuint, index, GLint, x, GLint, y, GLint, z, GLint, w); \ UnsupportedWrapper3(void, glProgramLocalParameterI4ivNV, GLenum, target, GLuint, index, const GLint *, params); \ UnsupportedWrapper6(void, glProgramLocalParameterI4uiNV, GLenum, target, GLuint, index, GLuint, x, GLuint, y, GLuint, z, GLuint, w); \ UnsupportedWrapper3(void, glProgramLocalParameterI4uivNV, GLenum, target, GLuint, index, const GLuint *, params); \ UnsupportedWrapper4(void, glProgramLocalParameters4fvEXT, GLenum, target, GLuint, index, GLsizei, count, const GLfloat *, params); \ UnsupportedWrapper4(void, glProgramLocalParametersI4ivNV, GLenum, target, GLuint, index, GLsizei, count, const GLint *, params); \ UnsupportedWrapper4(void, glProgramLocalParametersI4uivNV, GLenum, target, GLuint, index, GLsizei, count, const GLuint *, params); \ UnsupportedWrapper7(void, glProgramNamedParameter4dNV, GLuint, id, GLsizei, len, const GLubyte *, name, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper4(void, glProgramNamedParameter4dvNV, GLuint, id, GLsizei, len, const GLubyte *, name, const GLdouble *, v); \ UnsupportedWrapper7(void, glProgramNamedParameter4fNV, GLuint, id, GLsizei, len, const GLubyte *, name, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper4(void, glProgramNamedParameter4fvNV, GLuint, id, GLsizei, len, const GLubyte *, name, const GLfloat *, v); \ UnsupportedWrapper6(void, glProgramParameter4dNV, GLenum, target, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper3(void, glProgramParameter4dvNV, GLenum, target, GLuint, index, const GLdouble *, v); \ UnsupportedWrapper6(void, glProgramParameter4fNV, GLenum, target, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper3(void, glProgramParameter4fvNV, GLenum, target, GLuint, index, const GLfloat *, v); \ UnsupportedWrapper4(void, glProgramParameters4dvNV, GLenum, target, GLuint, index, GLsizei, count, const GLdouble *, v); \ UnsupportedWrapper4(void, glProgramParameters4fvNV, GLenum, target, GLuint, index, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper5(void, glProgramPathFragmentInputGenNV, GLuint, program, GLint, location, GLenum, genMode, GLint, components, const GLfloat *, coeffs); \ UnsupportedWrapper4(void, glProgramStringARB, GLenum, target, GLenum, format, GLsizei, len, const void *, string); \ UnsupportedWrapper3(void, glProgramSubroutineParametersuivNV, GLenum, target, GLsizei, count, const GLuint *, params); \ UnsupportedWrapper3(void, glProgramUniform1i64ARB, GLuint, program, GLint, location, GLint64, x); \ UnsupportedWrapper3(void, glProgramUniform1i64NV, GLuint, program, GLint, location, GLint64EXT, x); \ UnsupportedWrapper4(void, glProgramUniform1i64vARB, GLuint, program, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform1i64vNV, GLuint, program, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper3(void, glProgramUniform1ui64ARB, GLuint, program, GLint, location, GLuint64, x); \ UnsupportedWrapper3(void, glProgramUniform1ui64NV, GLuint, program, GLint, location, GLuint64EXT, x); \ UnsupportedWrapper4(void, glProgramUniform1ui64vARB, GLuint, program, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform1ui64vNV, GLuint, program, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper4(void, glProgramUniform2i64ARB, GLuint, program, GLint, location, GLint64, x, GLint64, y); \ UnsupportedWrapper4(void, glProgramUniform2i64NV, GLuint, program, GLint, location, GLint64EXT, x, GLint64EXT, y); \ UnsupportedWrapper4(void, glProgramUniform2i64vARB, GLuint, program, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform2i64vNV, GLuint, program, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper4(void, glProgramUniform2ui64ARB, GLuint, program, GLint, location, GLuint64, x, GLuint64, y); \ UnsupportedWrapper4(void, glProgramUniform2ui64NV, GLuint, program, GLint, location, GLuint64EXT, x, GLuint64EXT, y); \ UnsupportedWrapper4(void, glProgramUniform2ui64vARB, GLuint, program, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform2ui64vNV, GLuint, program, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper5(void, glProgramUniform3i64ARB, GLuint, program, GLint, location, GLint64, x, GLint64, y, GLint64, z); \ UnsupportedWrapper5(void, glProgramUniform3i64NV, GLuint, program, GLint, location, GLint64EXT, x, GLint64EXT, y, GLint64EXT, z); \ UnsupportedWrapper4(void, glProgramUniform3i64vARB, GLuint, program, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform3i64vNV, GLuint, program, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper5(void, glProgramUniform3ui64ARB, GLuint, program, GLint, location, GLuint64, x, GLuint64, y, GLuint64, z); \ UnsupportedWrapper5(void, glProgramUniform3ui64NV, GLuint, program, GLint, location, GLuint64EXT, x, GLuint64EXT, y, GLuint64EXT, z); \ UnsupportedWrapper4(void, glProgramUniform3ui64vARB, GLuint, program, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform3ui64vNV, GLuint, program, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper6(void, glProgramUniform4i64ARB, GLuint, program, GLint, location, GLint64, x, GLint64, y, GLint64, z, GLint64, w); \ UnsupportedWrapper6(void, glProgramUniform4i64NV, GLuint, program, GLint, location, GLint64EXT, x, GLint64EXT, y, GLint64EXT, z, GLint64EXT, w); \ UnsupportedWrapper4(void, glProgramUniform4i64vARB, GLuint, program, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform4i64vNV, GLuint, program, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper6(void, glProgramUniform4ui64ARB, GLuint, program, GLint, location, GLuint64, x, GLuint64, y, GLuint64, z, GLuint64, w); \ UnsupportedWrapper6(void, glProgramUniform4ui64NV, GLuint, program, GLint, location, GLuint64EXT, x, GLuint64EXT, y, GLuint64EXT, z, GLuint64EXT, w); \ UnsupportedWrapper4(void, glProgramUniform4ui64vARB, GLuint, program, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper4(void, glProgramUniform4ui64vNV, GLuint, program, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper3(void, glProgramUniformHandleui64ARB, GLuint, program, GLint, location, GLuint64, value); \ UnsupportedWrapper3(void, glProgramUniformHandleui64IMG, GLuint, program, GLint, location, GLuint64, value); \ UnsupportedWrapper3(void, glProgramUniformHandleui64NV, GLuint, program, GLint, location, GLuint64, value); \ UnsupportedWrapper4(void, glProgramUniformHandleui64vARB, GLuint, program, GLint, location, GLsizei, count, const GLuint64 *, values); \ UnsupportedWrapper4(void, glProgramUniformHandleui64vIMG, GLuint, program, GLint, location, GLsizei, count, const GLuint64 *, values); \ UnsupportedWrapper4(void, glProgramUniformHandleui64vNV, GLuint, program, GLint, location, GLsizei, count, const GLuint64 *, values); \ UnsupportedWrapper3(void, glProgramUniformui64NV, GLuint, program, GLint, location, GLuint64EXT, value); \ UnsupportedWrapper4(void, glProgramUniformui64vNV, GLuint, program, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper2(void, glProgramVertexLimitNV, GLenum, target, GLint, limit); \ UnsupportedWrapper1(void, glPushAttrib, GLbitfield, mask); \ UnsupportedWrapper1(void, glPushClientAttribDefaultEXT, GLbitfield, mask); \ UnsupportedWrapper1(void, glPushClientAttrib, GLbitfield, mask); \ UnsupportedWrapper0(void, glPushMatrix); \ UnsupportedWrapper1(void, glPushName, GLuint, name); \ UnsupportedWrapper2(GLbitfield, glQueryMatrixxOES, GLfixed *, mantissa, GLint *, exponent); \ UnsupportedWrapper4(void, glQueryObjectParameteruiAMD, GLenum, target, GLuint, id, GLenum, pname, GLuint, param); \ UnsupportedWrapper4(GLint, glQueryResourceNV, GLenum, queryType, GLint, tagId, GLuint, bufSize, GLint *, buffer); \ UnsupportedWrapper2(void, glQueryResourceTagNV, GLint, tagId, const GLchar *, tagString); \ UnsupportedWrapper2(void, glRasterPos2d, GLdouble, x, GLdouble, y); \ UnsupportedWrapper1(void, glRasterPos2dv, const GLdouble *, v); \ UnsupportedWrapper2(void, glRasterPos2f, GLfloat, x, GLfloat, y); \ UnsupportedWrapper1(void, glRasterPos2fv, const GLfloat *, v); \ UnsupportedWrapper2(void, glRasterPos2i, GLint, x, GLint, y); \ UnsupportedWrapper1(void, glRasterPos2iv, const GLint *, v); \ UnsupportedWrapper2(void, glRasterPos2s, GLshort, x, GLshort, y); \ UnsupportedWrapper1(void, glRasterPos2sv, const GLshort *, v); \ UnsupportedWrapper2(void, glRasterPos2xOES, GLfixed, x, GLfixed, y); \ UnsupportedWrapper1(void, glRasterPos2xvOES, const GLfixed *, coords); \ UnsupportedWrapper3(void, glRasterPos3d, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper1(void, glRasterPos3dv, const GLdouble *, v); \ UnsupportedWrapper3(void, glRasterPos3f, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper1(void, glRasterPos3fv, const GLfloat *, v); \ UnsupportedWrapper3(void, glRasterPos3i, GLint, x, GLint, y, GLint, z); \ UnsupportedWrapper1(void, glRasterPos3iv, const GLint *, v); \ UnsupportedWrapper3(void, glRasterPos3s, GLshort, x, GLshort, y, GLshort, z); \ UnsupportedWrapper1(void, glRasterPos3sv, const GLshort *, v); \ UnsupportedWrapper3(void, glRasterPos3xOES, GLfixed, x, GLfixed, y, GLfixed, z); \ UnsupportedWrapper1(void, glRasterPos3xvOES, const GLfixed *, coords); \ UnsupportedWrapper4(void, glRasterPos4d, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper1(void, glRasterPos4dv, const GLdouble *, v); \ UnsupportedWrapper4(void, glRasterPos4f, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper1(void, glRasterPos4fv, const GLfloat *, v); \ UnsupportedWrapper4(void, glRasterPos4i, GLint, x, GLint, y, GLint, z, GLint, w); \ UnsupportedWrapper1(void, glRasterPos4iv, const GLint *, v); \ UnsupportedWrapper4(void, glRasterPos4s, GLshort, x, GLshort, y, GLshort, z, GLshort, w); \ UnsupportedWrapper1(void, glRasterPos4sv, const GLshort *, v); \ UnsupportedWrapper4(void, glRasterPos4xOES, GLfixed, x, GLfixed, y, GLfixed, z, GLfixed, w); \ UnsupportedWrapper1(void, glRasterPos4xvOES, const GLfixed *, coords); \ UnsupportedWrapper2(void, glReadBufferIndexedEXT, GLenum, src, GLint, index); \ UnsupportedWrapper1(void, glReadBufferNV, GLenum, mode); \ UnsupportedWrapper1(void, glReadInstrumentsSGIX, GLint, marker); \ UnsupportedWrapper8(void, glReadnPixelsKHR, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, GLsizei, bufSize, void *, data); \ UnsupportedWrapper4(void, glRectd, GLdouble, x1, GLdouble, y1, GLdouble, x2, GLdouble, y2); \ UnsupportedWrapper2(void, glRectdv, const GLdouble *, v1, const GLdouble *, v2); \ UnsupportedWrapper4(void, glRectf, GLfloat, x1, GLfloat, y1, GLfloat, x2, GLfloat, y2); \ UnsupportedWrapper2(void, glRectfv, const GLfloat *, v1, const GLfloat *, v2); \ UnsupportedWrapper4(void, glRecti, GLint, x1, GLint, y1, GLint, x2, GLint, y2); \ UnsupportedWrapper2(void, glRectiv, const GLint *, v1, const GLint *, v2); \ UnsupportedWrapper4(void, glRects, GLshort, x1, GLshort, y1, GLshort, x2, GLshort, y2); \ UnsupportedWrapper2(void, glRectsv, const GLshort *, v1, const GLshort *, v2); \ UnsupportedWrapper4(void, glRectxOES, GLfixed, x1, GLfixed, y1, GLfixed, x2, GLfixed, y2); \ UnsupportedWrapper2(void, glRectxvOES, const GLfixed *, v1, const GLfixed *, v2); \ UnsupportedWrapper1(void, glReferencePlaneSGIX, const GLdouble *, equation); \ UnsupportedWrapper5(void, glRenderbufferStorageMultisampleANGLE, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ UnsupportedWrapper5(void, glRenderbufferStorageMultisampleAPPLE, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ UnsupportedWrapper6(void, glRenderbufferStorageMultisampleCoverageNV, GLenum, target, GLsizei, coverageSamples, GLsizei, colorSamples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ UnsupportedWrapper5(void, glRenderbufferStorageMultisampleIMG, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ UnsupportedWrapper5(void, glRenderbufferStorageMultisampleNV, GLenum, target, GLsizei, samples, GLenum, internalformat, GLsizei, width, GLsizei, height); \ UnsupportedWrapper1(void, glRenderGpuMaskNV, GLbitfield, mask); \ UnsupportedWrapper1(GLint, glRenderMode, GLenum, mode); \ UnsupportedWrapper3(void, glReplacementCodePointerSUN, GLenum, type, GLsizei, stride, const void **, pointer); \ UnsupportedWrapper1(void, glReplacementCodeubSUN, GLubyte, code); \ UnsupportedWrapper1(void, glReplacementCodeubvSUN, const GLubyte *, code); \ UnsupportedWrapper7(void, glReplacementCodeuiColor3fVertex3fSUN, GLuint, rc, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glReplacementCodeuiColor3fVertex3fvSUN, const GLuint *, rc, const GLfloat *, c, const GLfloat *, v); \ UnsupportedWrapper11(void, glReplacementCodeuiColor4fNormal3fVertex3fSUN, GLuint, rc, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, a, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper4(void, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, const GLuint *, rc, const GLfloat *, c, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper8(void, glReplacementCodeuiColor4ubVertex3fSUN, GLuint, rc, GLubyte, r, GLubyte, g, GLubyte, b, GLubyte, a, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glReplacementCodeuiColor4ubVertex3fvSUN, const GLuint *, rc, const GLubyte *, c, const GLfloat *, v); \ UnsupportedWrapper7(void, glReplacementCodeuiNormal3fVertex3fSUN, GLuint, rc, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glReplacementCodeuiNormal3fVertex3fvSUN, const GLuint *, rc, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper1(void, glReplacementCodeuiSUN, GLuint, code); \ UnsupportedWrapper13(void, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, GLuint, rc, GLfloat, s, GLfloat, t, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, a, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper5(void, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, const GLuint *, rc, const GLfloat *, tc, const GLfloat *, c, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper9(void, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, GLuint, rc, GLfloat, s, GLfloat, t, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper4(void, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, const GLuint *, rc, const GLfloat *, tc, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper6(void, glReplacementCodeuiTexCoord2fVertex3fSUN, GLuint, rc, GLfloat, s, GLfloat, t, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glReplacementCodeuiTexCoord2fVertex3fvSUN, const GLuint *, rc, const GLfloat *, tc, const GLfloat *, v); \ UnsupportedWrapper4(void, glReplacementCodeuiVertex3fSUN, GLuint, rc, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper2(void, glReplacementCodeuiVertex3fvSUN, const GLuint *, rc, const GLfloat *, v); \ UnsupportedWrapper1(void, glReplacementCodeuivSUN, const GLuint *, code); \ UnsupportedWrapper1(void, glReplacementCodeusSUN, GLushort, code); \ UnsupportedWrapper1(void, glReplacementCodeusvSUN, const GLushort *, code); \ UnsupportedWrapper2(void, glRequestResidentProgramsNV, GLsizei, n, const GLuint *, programs); \ UnsupportedWrapper1(void, glResetHistogramEXT, GLenum, target); \ UnsupportedWrapper1(void, glResetHistogram, GLenum, target); \ UnsupportedWrapper1(void, glResetMinmaxEXT, GLenum, target); \ UnsupportedWrapper1(void, glResetMinmax, GLenum, target); \ UnsupportedWrapper0(void, glResizeBuffersMESA); \ UnsupportedWrapper0(void, glResolveDepthValuesNV); \ UnsupportedWrapper0(void, glResolveMultisampleFramebufferAPPLE); \ UnsupportedWrapper0(void, glResumeTransformFeedbackNV); \ UnsupportedWrapper4(void, glRotated, GLdouble, angle, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper4(void, glRotatef, GLfloat, angle, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper4(void, glRotatexOES, GLfixed, angle, GLfixed, x, GLfixed, y, GLfixed, z); \ UnsupportedWrapper3(void, glSampleMapATI, GLuint, dst, GLuint, interp, GLenum, swizzle); \ UnsupportedWrapper2(void, glSampleMaskEXT, GLclampf, value, GLboolean, invert); \ UnsupportedWrapper2(void, glSampleMaskIndexedNV, GLuint, index, GLbitfield, mask); \ UnsupportedWrapper2(void, glSampleMaskSGIS, GLclampf, value, GLboolean, invert); \ UnsupportedWrapper1(void, glSamplePatternEXT, GLenum, pattern); \ UnsupportedWrapper1(void, glSamplePatternSGIS, GLenum, pattern); \ UnsupportedWrapper3(void, glScaled, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper3(void, glScalef, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glScalexOES, GLfixed, x, GLfixed, y, GLfixed, z); \ UnsupportedWrapper3(void, glSecondaryColor3bEXT, GLbyte, red, GLbyte, green, GLbyte, blue); \ UnsupportedWrapper3(void, glSecondaryColor3b, GLbyte, red, GLbyte, green, GLbyte, blue); \ UnsupportedWrapper1(void, glSecondaryColor3bvEXT, const GLbyte *, v); \ UnsupportedWrapper1(void, glSecondaryColor3bv, const GLbyte *, v); \ UnsupportedWrapper3(void, glSecondaryColor3dEXT, GLdouble, red, GLdouble, green, GLdouble, blue); \ UnsupportedWrapper3(void, glSecondaryColor3d, GLdouble, red, GLdouble, green, GLdouble, blue); \ UnsupportedWrapper1(void, glSecondaryColor3dvEXT, const GLdouble *, v); \ UnsupportedWrapper1(void, glSecondaryColor3dv, const GLdouble *, v); \ UnsupportedWrapper3(void, glSecondaryColor3fEXT, GLfloat, red, GLfloat, green, GLfloat, blue); \ UnsupportedWrapper3(void, glSecondaryColor3f, GLfloat, red, GLfloat, green, GLfloat, blue); \ UnsupportedWrapper1(void, glSecondaryColor3fvEXT, const GLfloat *, v); \ UnsupportedWrapper1(void, glSecondaryColor3fv, const GLfloat *, v); \ UnsupportedWrapper3(void, glSecondaryColor3hNV, GLhalfNV, red, GLhalfNV, green, GLhalfNV, blue); \ UnsupportedWrapper1(void, glSecondaryColor3hvNV, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glSecondaryColor3iEXT, GLint, red, GLint, green, GLint, blue); \ UnsupportedWrapper3(void, glSecondaryColor3i, GLint, red, GLint, green, GLint, blue); \ UnsupportedWrapper1(void, glSecondaryColor3ivEXT, const GLint *, v); \ UnsupportedWrapper1(void, glSecondaryColor3iv, const GLint *, v); \ UnsupportedWrapper3(void, glSecondaryColor3sEXT, GLshort, red, GLshort, green, GLshort, blue); \ UnsupportedWrapper3(void, glSecondaryColor3s, GLshort, red, GLshort, green, GLshort, blue); \ UnsupportedWrapper1(void, glSecondaryColor3svEXT, const GLshort *, v); \ UnsupportedWrapper1(void, glSecondaryColor3sv, const GLshort *, v); \ UnsupportedWrapper3(void, glSecondaryColor3ubEXT, GLubyte, red, GLubyte, green, GLubyte, blue); \ UnsupportedWrapper3(void, glSecondaryColor3ub, GLubyte, red, GLubyte, green, GLubyte, blue); \ UnsupportedWrapper1(void, glSecondaryColor3ubvEXT, const GLubyte *, v); \ UnsupportedWrapper1(void, glSecondaryColor3ubv, const GLubyte *, v); \ UnsupportedWrapper3(void, glSecondaryColor3uiEXT, GLuint, red, GLuint, green, GLuint, blue); \ UnsupportedWrapper3(void, glSecondaryColor3ui, GLuint, red, GLuint, green, GLuint, blue); \ UnsupportedWrapper1(void, glSecondaryColor3uivEXT, const GLuint *, v); \ UnsupportedWrapper1(void, glSecondaryColor3uiv, const GLuint *, v); \ UnsupportedWrapper3(void, glSecondaryColor3usEXT, GLushort, red, GLushort, green, GLushort, blue); \ UnsupportedWrapper3(void, glSecondaryColor3us, GLushort, red, GLushort, green, GLushort, blue); \ UnsupportedWrapper1(void, glSecondaryColor3usvEXT, const GLushort *, v); \ UnsupportedWrapper1(void, glSecondaryColor3usv, const GLushort *, v); \ UnsupportedWrapper3(void, glSecondaryColorFormatNV, GLint, size, GLenum, type, GLsizei, stride); \ UnsupportedWrapper2(void, glSecondaryColorP3ui, GLenum, type, GLuint, color); \ UnsupportedWrapper2(void, glSecondaryColorP3uiv, GLenum, type, const GLuint *, color); \ UnsupportedWrapper4(void, glSecondaryColorPointerEXT, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper5(void, glSecondaryColorPointerListIBM, GLint, size, GLenum, type, GLint, stride, const void **, pointer, GLint, ptrstride); \ UnsupportedWrapper4(void, glSecondaryColorPointer, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper2(void, glSelectBuffer, GLsizei, size, GLuint *, buffer); \ UnsupportedWrapper5(void, glSelectPerfMonitorCountersAMD, GLuint, monitor, GLboolean, enable, GLuint, group, GLint, numCounters, GLuint *, counterList); \ UnsupportedWrapper8(void, glSeparableFilter2DEXT, GLenum, target, GLenum, internalformat, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, row, const void *, column); \ UnsupportedWrapper8(void, glSeparableFilter2D, GLenum, target, GLenum, internalformat, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, row, const void *, column); \ UnsupportedWrapper1(void, glSetFenceAPPLE, GLuint, fence); \ UnsupportedWrapper2(void, glSetFenceNV, GLuint, fence, GLenum, condition); \ UnsupportedWrapper2(void, glSetFragmentShaderConstantATI, GLuint, dst, const GLfloat *, value); \ UnsupportedWrapper3(void, glSetInvariantEXT, GLuint, id, GLenum, type, const void *, addr); \ UnsupportedWrapper3(void, glSetLocalConstantEXT, GLuint, id, GLenum, type, const void *, addr); \ UnsupportedWrapper3(void, glSetMultisamplefvAMD, GLenum, pname, GLuint, index, const GLfloat *, val); \ UnsupportedWrapper1(void, glShadeModel, GLenum, mode); \ UnsupportedWrapper3(void, glShaderOp1EXT, GLenum, op, GLuint, res, GLuint, arg1); \ UnsupportedWrapper4(void, glShaderOp2EXT, GLenum, op, GLuint, res, GLuint, arg1, GLuint, arg2); \ UnsupportedWrapper5(void, glShaderOp3EXT, GLenum, op, GLuint, res, GLuint, arg1, GLuint, arg2, GLuint, arg3); \ UnsupportedWrapper4(void, glShaderSourceARB, GLhandleARB, shaderObj, GLsizei, count, const GLcharARB **, string, const GLint *, length); \ UnsupportedWrapper3(void, glSharpenTexFuncSGIS, GLenum, target, GLsizei, n, const GLfloat *, points); \ UnsupportedWrapper1(void, glSignalVkFenceNV, GLuint64, vkFence); \ UnsupportedWrapper1(void, glSignalVkSemaphoreNV, GLuint64, vkSemaphore); \ UnsupportedWrapper2(void, glSpriteParameterfSGIX, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glSpriteParameterfvSGIX, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper2(void, glSpriteParameteriSGIX, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glSpriteParameterivSGIX, GLenum, pname, const GLint *, params); \ UnsupportedWrapper0(void, glStartInstrumentsSGIX); \ UnsupportedWrapper5(void, glStartTilingQCOM, GLuint, x, GLuint, y, GLuint, width, GLuint, height, GLbitfield, preserveMask); \ UnsupportedWrapper2(void, glStateCaptureNV, GLuint, state, GLenum, mode); \ UnsupportedWrapper2(void, glStencilClearTagEXT, GLsizei, stencilTagBits, GLuint, stencilClearTag); \ UnsupportedWrapper8(void, glStencilFillPathInstancedNV, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLenum, fillMode, GLuint, mask, GLenum, transformType, const GLfloat *, transformValues); \ UnsupportedWrapper3(void, glStencilFillPathNV, GLuint, path, GLenum, fillMode, GLuint, mask); \ UnsupportedWrapper4(void, glStencilFuncSeparateATI, GLenum, frontfunc, GLenum, backfunc, GLint, ref, GLuint, mask); \ UnsupportedWrapper4(void, glStencilOpSeparateATI, GLenum, face, GLenum, sfail, GLenum, dpfail, GLenum, dppass); \ UnsupportedWrapper2(void, glStencilOpValueAMD, GLenum, face, GLuint, value); \ UnsupportedWrapper8(void, glStencilStrokePathInstancedNV, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLint, reference, GLuint, mask, GLenum, transformType, const GLfloat *, transformValues); \ UnsupportedWrapper3(void, glStencilStrokePathNV, GLuint, path, GLint, reference, GLuint, mask); \ UnsupportedWrapper9(void, glStencilThenCoverFillPathInstancedNV, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLenum, fillMode, GLuint, mask, GLenum, coverMode, GLenum, transformType, const GLfloat *, transformValues); \ UnsupportedWrapper4(void, glStencilThenCoverFillPathNV, GLuint, path, GLenum, fillMode, GLuint, mask, GLenum, coverMode); \ UnsupportedWrapper9(void, glStencilThenCoverStrokePathInstancedNV, GLsizei, numPaths, GLenum, pathNameType, const void *, paths, GLuint, pathBase, GLint, reference, GLuint, mask, GLenum, coverMode, GLenum, transformType, const GLfloat *, transformValues); \ UnsupportedWrapper4(void, glStencilThenCoverStrokePathNV, GLuint, path, GLint, reference, GLuint, mask, GLenum, coverMode); \ UnsupportedWrapper1(void, glStopInstrumentsSGIX, GLint, marker); \ UnsupportedWrapper2(void, glSubpixelPrecisionBiasNV, GLuint, xbits, GLuint, ybits); \ UnsupportedWrapper6(void, glSwizzleEXT, GLuint, res, GLuint, in, GLenum, outX, GLenum, outY, GLenum, outZ, GLenum, outW); \ UnsupportedWrapper1(void, glSyncTextureINTEL, GLuint, texture); \ UnsupportedWrapper0(void, glTagSampleBufferSGIX); \ UnsupportedWrapper3(void, glTangent3bEXT, GLbyte, tx, GLbyte, ty, GLbyte, tz); \ UnsupportedWrapper1(void, glTangent3bvEXT, const GLbyte *, v); \ UnsupportedWrapper3(void, glTangent3dEXT, GLdouble, tx, GLdouble, ty, GLdouble, tz); \ UnsupportedWrapper1(void, glTangent3dvEXT, const GLdouble *, v); \ UnsupportedWrapper3(void, glTangent3fEXT, GLfloat, tx, GLfloat, ty, GLfloat, tz); \ UnsupportedWrapper1(void, glTangent3fvEXT, const GLfloat *, v); \ UnsupportedWrapper3(void, glTangent3iEXT, GLint, tx, GLint, ty, GLint, tz); \ UnsupportedWrapper1(void, glTangent3ivEXT, const GLint *, v); \ UnsupportedWrapper3(void, glTangent3sEXT, GLshort, tx, GLshort, ty, GLshort, tz); \ UnsupportedWrapper1(void, glTangent3svEXT, const GLshort *, v); \ UnsupportedWrapper3(void, glTangentPointerEXT, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper1(void, glTbufferMask3DFX, GLuint, mask); \ UnsupportedWrapper1(void, glTessellationFactorAMD, GLfloat, factor); \ UnsupportedWrapper1(void, glTessellationModeAMD, GLenum, mode); \ UnsupportedWrapper1(GLboolean, glTestFenceAPPLE, GLuint, fence); \ UnsupportedWrapper1(GLboolean, glTestFenceNV, GLuint, fence); \ UnsupportedWrapper2(GLboolean, glTestObjectAPPLE, GLenum, object, GLuint, name); \ UnsupportedWrapper2(void, glTexBumpParameterfvATI, GLenum, pname, const GLfloat *, param); \ UnsupportedWrapper2(void, glTexBumpParameterivATI, GLenum, pname, const GLint *, param); \ UnsupportedWrapper1(void, glTexCoord1bOES, GLbyte, s); \ UnsupportedWrapper1(void, glTexCoord1bvOES, const GLbyte *, coords); \ UnsupportedWrapper1(void, glTexCoord1d, GLdouble, s); \ UnsupportedWrapper1(void, glTexCoord1dv, const GLdouble *, v); \ UnsupportedWrapper1(void, glTexCoord1f, GLfloat, s); \ UnsupportedWrapper1(void, glTexCoord1fv, const GLfloat *, v); \ UnsupportedWrapper1(void, glTexCoord1hNV, GLhalfNV, s); \ UnsupportedWrapper1(void, glTexCoord1hvNV, const GLhalfNV *, v); \ UnsupportedWrapper1(void, glTexCoord1i, GLint, s); \ UnsupportedWrapper1(void, glTexCoord1iv, const GLint *, v); \ UnsupportedWrapper1(void, glTexCoord1s, GLshort, s); \ UnsupportedWrapper1(void, glTexCoord1sv, const GLshort *, v); \ UnsupportedWrapper1(void, glTexCoord1xOES, GLfixed, s); \ UnsupportedWrapper1(void, glTexCoord1xvOES, const GLfixed *, coords); \ UnsupportedWrapper2(void, glTexCoord2bOES, GLbyte, s, GLbyte, t); \ UnsupportedWrapper1(void, glTexCoord2bvOES, const GLbyte *, coords); \ UnsupportedWrapper2(void, glTexCoord2d, GLdouble, s, GLdouble, t); \ UnsupportedWrapper1(void, glTexCoord2dv, const GLdouble *, v); \ UnsupportedWrapper8(void, glTexCoord2fColor3fVertex3fSUN, GLfloat, s, GLfloat, t, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glTexCoord2fColor3fVertex3fvSUN, const GLfloat *, tc, const GLfloat *, c, const GLfloat *, v); \ UnsupportedWrapper12(void, glTexCoord2fColor4fNormal3fVertex3fSUN, GLfloat, s, GLfloat, t, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, a, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper4(void, glTexCoord2fColor4fNormal3fVertex3fvSUN, const GLfloat *, tc, const GLfloat *, c, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper9(void, glTexCoord2fColor4ubVertex3fSUN, GLfloat, s, GLfloat, t, GLubyte, r, GLubyte, g, GLubyte, b, GLubyte, a, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glTexCoord2fColor4ubVertex3fvSUN, const GLfloat *, tc, const GLubyte *, c, const GLfloat *, v); \ UnsupportedWrapper8(void, glTexCoord2fNormal3fVertex3fSUN, GLfloat, s, GLfloat, t, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glTexCoord2fNormal3fVertex3fvSUN, const GLfloat *, tc, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper2(void, glTexCoord2f, GLfloat, s, GLfloat, t); \ UnsupportedWrapper5(void, glTexCoord2fVertex3fSUN, GLfloat, s, GLfloat, t, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper2(void, glTexCoord2fVertex3fvSUN, const GLfloat *, tc, const GLfloat *, v); \ UnsupportedWrapper1(void, glTexCoord2fv, const GLfloat *, v); \ UnsupportedWrapper2(void, glTexCoord2hNV, GLhalfNV, s, GLhalfNV, t); \ UnsupportedWrapper1(void, glTexCoord2hvNV, const GLhalfNV *, v); \ UnsupportedWrapper2(void, glTexCoord2i, GLint, s, GLint, t); \ UnsupportedWrapper1(void, glTexCoord2iv, const GLint *, v); \ UnsupportedWrapper2(void, glTexCoord2s, GLshort, s, GLshort, t); \ UnsupportedWrapper1(void, glTexCoord2sv, const GLshort *, v); \ UnsupportedWrapper2(void, glTexCoord2xOES, GLfixed, s, GLfixed, t); \ UnsupportedWrapper1(void, glTexCoord2xvOES, const GLfixed *, coords); \ UnsupportedWrapper3(void, glTexCoord3bOES, GLbyte, s, GLbyte, t, GLbyte, r); \ UnsupportedWrapper1(void, glTexCoord3bvOES, const GLbyte *, coords); \ UnsupportedWrapper3(void, glTexCoord3d, GLdouble, s, GLdouble, t, GLdouble, r); \ UnsupportedWrapper1(void, glTexCoord3dv, const GLdouble *, v); \ UnsupportedWrapper3(void, glTexCoord3f, GLfloat, s, GLfloat, t, GLfloat, r); \ UnsupportedWrapper1(void, glTexCoord3fv, const GLfloat *, v); \ UnsupportedWrapper3(void, glTexCoord3hNV, GLhalfNV, s, GLhalfNV, t, GLhalfNV, r); \ UnsupportedWrapper1(void, glTexCoord3hvNV, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glTexCoord3i, GLint, s, GLint, t, GLint, r); \ UnsupportedWrapper1(void, glTexCoord3iv, const GLint *, v); \ UnsupportedWrapper3(void, glTexCoord3s, GLshort, s, GLshort, t, GLshort, r); \ UnsupportedWrapper1(void, glTexCoord3sv, const GLshort *, v); \ UnsupportedWrapper3(void, glTexCoord3xOES, GLfixed, s, GLfixed, t, GLfixed, r); \ UnsupportedWrapper1(void, glTexCoord3xvOES, const GLfixed *, coords); \ UnsupportedWrapper4(void, glTexCoord4bOES, GLbyte, s, GLbyte, t, GLbyte, r, GLbyte, q); \ UnsupportedWrapper1(void, glTexCoord4bvOES, const GLbyte *, coords); \ UnsupportedWrapper4(void, glTexCoord4d, GLdouble, s, GLdouble, t, GLdouble, r, GLdouble, q); \ UnsupportedWrapper1(void, glTexCoord4dv, const GLdouble *, v); \ UnsupportedWrapper15(void, glTexCoord4fColor4fNormal3fVertex4fSUN, GLfloat, s, GLfloat, t, GLfloat, p, GLfloat, q, GLfloat, r, GLfloat, g, GLfloat, b, GLfloat, a, GLfloat, nx, GLfloat, ny, GLfloat, nz, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper4(void, glTexCoord4fColor4fNormal3fVertex4fvSUN, const GLfloat *, tc, const GLfloat *, c, const GLfloat *, n, const GLfloat *, v); \ UnsupportedWrapper4(void, glTexCoord4f, GLfloat, s, GLfloat, t, GLfloat, r, GLfloat, q); \ UnsupportedWrapper8(void, glTexCoord4fVertex4fSUN, GLfloat, s, GLfloat, t, GLfloat, p, GLfloat, q, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper2(void, glTexCoord4fVertex4fvSUN, const GLfloat *, tc, const GLfloat *, v); \ UnsupportedWrapper1(void, glTexCoord4fv, const GLfloat *, v); \ UnsupportedWrapper4(void, glTexCoord4hNV, GLhalfNV, s, GLhalfNV, t, GLhalfNV, r, GLhalfNV, q); \ UnsupportedWrapper1(void, glTexCoord4hvNV, const GLhalfNV *, v); \ UnsupportedWrapper4(void, glTexCoord4i, GLint, s, GLint, t, GLint, r, GLint, q); \ UnsupportedWrapper1(void, glTexCoord4iv, const GLint *, v); \ UnsupportedWrapper4(void, glTexCoord4s, GLshort, s, GLshort, t, GLshort, r, GLshort, q); \ UnsupportedWrapper1(void, glTexCoord4sv, const GLshort *, v); \ UnsupportedWrapper4(void, glTexCoord4xOES, GLfixed, s, GLfixed, t, GLfixed, r, GLfixed, q); \ UnsupportedWrapper1(void, glTexCoord4xvOES, const GLfixed *, coords); \ UnsupportedWrapper3(void, glTexCoordFormatNV, GLint, size, GLenum, type, GLsizei, stride); \ UnsupportedWrapper2(void, glTexCoordP1ui, GLenum, type, GLuint, coords); \ UnsupportedWrapper2(void, glTexCoordP1uiv, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper2(void, glTexCoordP2ui, GLenum, type, GLuint, coords); \ UnsupportedWrapper2(void, glTexCoordP2uiv, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper2(void, glTexCoordP3ui, GLenum, type, GLuint, coords); \ UnsupportedWrapper2(void, glTexCoordP3uiv, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper2(void, glTexCoordP4ui, GLenum, type, GLuint, coords); \ UnsupportedWrapper2(void, glTexCoordP4uiv, GLenum, type, const GLuint *, coords); \ UnsupportedWrapper5(void, glTexCoordPointerEXT, GLint, size, GLenum, type, GLsizei, stride, GLsizei, count, const void *, pointer); \ UnsupportedWrapper5(void, glTexCoordPointerListIBM, GLint, size, GLenum, type, GLint, stride, const void **, pointer, GLint, ptrstride); \ UnsupportedWrapper4(void, glTexCoordPointer, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper3(void, glTexCoordPointervINTEL, GLint, size, GLenum, type, const void **, pointer); \ UnsupportedWrapper3(void, glTexEnvf, GLenum, target, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glTexEnvfv, GLenum, target, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glTexEnvi, GLenum, target, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glTexEnviv, GLenum, target, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glTexEnvxOES, GLenum, target, GLenum, pname, GLfixed, param); \ UnsupportedWrapper3(void, glTexEnvxvOES, GLenum, target, GLenum, pname, const GLfixed *, params); \ UnsupportedWrapper4(void, glTexFilterFuncSGIS, GLenum, target, GLenum, filter, GLsizei, n, const GLfloat *, weights); \ UnsupportedWrapper3(void, glTexGend, GLenum, coord, GLenum, pname, GLdouble, param); \ UnsupportedWrapper3(void, glTexGendv, GLenum, coord, GLenum, pname, const GLdouble *, params); \ UnsupportedWrapper3(void, glTexGenf, GLenum, coord, GLenum, pname, GLfloat, param); \ UnsupportedWrapper3(void, glTexGenfv, GLenum, coord, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper3(void, glTexGeni, GLenum, coord, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glTexGeniv, GLenum, coord, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glTexGenxOES, GLenum, coord, GLenum, pname, GLfixed, param); \ UnsupportedWrapper3(void, glTexGenxvOES, GLenum, coord, GLenum, pname, const GLfixed *, params); \ UnsupportedWrapper7(void, glTexImage2DMultisampleCoverageNV, GLenum, target, GLsizei, coverageSamples, GLsizei, colorSamples, GLint, internalFormat, GLsizei, width, GLsizei, height, GLboolean, fixedSampleLocations); \ UnsupportedWrapper8(void, glTexImage3DMultisampleCoverageNV, GLenum, target, GLsizei, coverageSamples, GLsizei, colorSamples, GLint, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedSampleLocations); \ UnsupportedWrapper11(void, glTexImage4DSGIS, GLenum, target, GLint, level, GLenum, internalformat, GLsizei, width, GLsizei, height, GLsizei, depth, GLsizei, size4d, GLint, border, GLenum, format, GLenum, type, const void *, pixels); \ UnsupportedWrapper9(void, glTexPageCommitmentARB, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, commit); \ UnsupportedWrapper9(void, glTexPageCommitmentEXT, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, commit); \ UnsupportedWrapper3(void, glTexParameterxOES, GLenum, target, GLenum, pname, GLfixed, param); \ UnsupportedWrapper3(void, glTexParameterxvOES, GLenum, target, GLenum, pname, const GLfixed *, params); \ UnsupportedWrapper2(void, glTexRenderbufferNV, GLenum, target, GLuint, renderbuffer); \ UnsupportedWrapper7(void, glTexStorageSparseAMD, GLenum, target, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLsizei, layers, GLbitfield, flags); \ UnsupportedWrapper7(void, glTexSubImage1DEXT, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLenum, type, const void *, pixels); \ UnsupportedWrapper9(void, glTexSubImage2DEXT, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, pixels); \ UnsupportedWrapper11(void, glTexSubImage3DEXT, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLenum, format, GLenum, type, const void *, pixels); \ UnsupportedWrapper13(void, glTexSubImage4DSGIS, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint, woffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLsizei, size4d, GLenum, format, GLenum, type, const void *, pixels); \ UnsupportedWrapper0(void, glTextureBarrierNV); \ UnsupportedWrapper4(void, glTextureColorMaskSGIS, GLboolean, red, GLboolean, green, GLboolean, blue, GLboolean, alpha); \ UnsupportedWrapper8(void, glTextureImage2DMultisampleCoverageNV, GLuint, texture, GLenum, target, GLsizei, coverageSamples, GLsizei, colorSamples, GLint, internalFormat, GLsizei, width, GLsizei, height, GLboolean, fixedSampleLocations); \ UnsupportedWrapper7(void, glTextureImage2DMultisampleNV, GLuint, texture, GLenum, target, GLsizei, samples, GLint, internalFormat, GLsizei, width, GLsizei, height, GLboolean, fixedSampleLocations); \ UnsupportedWrapper9(void, glTextureImage3DMultisampleCoverageNV, GLuint, texture, GLenum, target, GLsizei, coverageSamples, GLsizei, colorSamples, GLint, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedSampleLocations); \ UnsupportedWrapper8(void, glTextureImage3DMultisampleNV, GLuint, texture, GLenum, target, GLsizei, samples, GLint, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, fixedSampleLocations); \ UnsupportedWrapper1(void, glTextureLightEXT, GLenum, pname); \ UnsupportedWrapper2(void, glTextureMaterialEXT, GLenum, face, GLenum, mode); \ UnsupportedWrapper1(void, glTextureNormalEXT, GLenum, mode); \ UnsupportedWrapper9(void, glTexturePageCommitmentEXT, GLuint, texture, GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean, commit); \ UnsupportedWrapper3(void, glTextureRangeAPPLE, GLenum, target, GLsizei, length, const void *, pointer); \ UnsupportedWrapper3(void, glTextureRenderbufferEXT, GLuint, texture, GLenum, target, GLuint, renderbuffer); \ UnsupportedWrapper8(void, glTextureStorageSparseAMD, GLuint, texture, GLenum, target, GLenum, internalFormat, GLsizei, width, GLsizei, height, GLsizei, depth, GLsizei, layers, GLbitfield, flags); \ UnsupportedWrapper4(void, glTrackMatrixNV, GLenum, target, GLuint, address, GLenum, matrix, GLenum, transform); \ UnsupportedWrapper3(void, glTransformFeedbackAttribsNV, GLsizei, count, const GLint *, attribs, GLenum, bufferMode); \ UnsupportedWrapper5(void, glTransformFeedbackStreamAttribsNV, GLsizei, count, const GLint *, attribs, GLsizei, nbuffers, const GLint *, bufstreams, GLenum, bufferMode); \ UnsupportedWrapper4(void, glTransformFeedbackVaryingsNV, GLuint, program, GLsizei, count, const GLint *, locations, GLenum, bufferMode); \ UnsupportedWrapper4(void, glTransformPathNV, GLuint, resultPath, GLuint, srcPath, GLenum, transformType, const GLfloat *, transformValues); \ UnsupportedWrapper3(void, glTranslated, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper3(void, glTranslatef, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glTranslatexOES, GLfixed, x, GLfixed, y, GLfixed, z); \ UnsupportedWrapper2(void, glUniform1i64ARB, GLint, location, GLint64, x); \ UnsupportedWrapper2(void, glUniform1i64NV, GLint, location, GLint64EXT, x); \ UnsupportedWrapper3(void, glUniform1i64vARB, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper3(void, glUniform1i64vNV, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper2(void, glUniform1ui64ARB, GLint, location, GLuint64, x); \ UnsupportedWrapper2(void, glUniform1ui64NV, GLint, location, GLuint64EXT, x); \ UnsupportedWrapper3(void, glUniform1ui64vARB, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper3(void, glUniform1ui64vNV, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper3(void, glUniform2i64ARB, GLint, location, GLint64, x, GLint64, y); \ UnsupportedWrapper3(void, glUniform2i64NV, GLint, location, GLint64EXT, x, GLint64EXT, y); \ UnsupportedWrapper3(void, glUniform2i64vARB, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper3(void, glUniform2i64vNV, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper3(void, glUniform2ui64ARB, GLint, location, GLuint64, x, GLuint64, y); \ UnsupportedWrapper3(void, glUniform2ui64NV, GLint, location, GLuint64EXT, x, GLuint64EXT, y); \ UnsupportedWrapper3(void, glUniform2ui64vARB, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper3(void, glUniform2ui64vNV, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper4(void, glUniform3i64ARB, GLint, location, GLint64, x, GLint64, y, GLint64, z); \ UnsupportedWrapper4(void, glUniform3i64NV, GLint, location, GLint64EXT, x, GLint64EXT, y, GLint64EXT, z); \ UnsupportedWrapper3(void, glUniform3i64vARB, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper3(void, glUniform3i64vNV, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper4(void, glUniform3ui64ARB, GLint, location, GLuint64, x, GLuint64, y, GLuint64, z); \ UnsupportedWrapper4(void, glUniform3ui64NV, GLint, location, GLuint64EXT, x, GLuint64EXT, y, GLuint64EXT, z); \ UnsupportedWrapper3(void, glUniform3ui64vARB, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper3(void, glUniform3ui64vNV, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper5(void, glUniform4i64ARB, GLint, location, GLint64, x, GLint64, y, GLint64, z, GLint64, w); \ UnsupportedWrapper5(void, glUniform4i64NV, GLint, location, GLint64EXT, x, GLint64EXT, y, GLint64EXT, z, GLint64EXT, w); \ UnsupportedWrapper3(void, glUniform4i64vARB, GLint, location, GLsizei, count, const GLint64 *, value); \ UnsupportedWrapper3(void, glUniform4i64vNV, GLint, location, GLsizei, count, const GLint64EXT *, value); \ UnsupportedWrapper5(void, glUniform4ui64ARB, GLint, location, GLuint64, x, GLuint64, y, GLuint64, z, GLuint64, w); \ UnsupportedWrapper5(void, glUniform4ui64NV, GLint, location, GLuint64EXT, x, GLuint64EXT, y, GLuint64EXT, z, GLuint64EXT, w); \ UnsupportedWrapper3(void, glUniform4ui64vARB, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper3(void, glUniform4ui64vNV, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper3(void, glUniformBufferEXT, GLuint, program, GLint, location, GLuint, buffer); \ UnsupportedWrapper2(void, glUniformHandleui64ARB, GLint, location, GLuint64, value); \ UnsupportedWrapper2(void, glUniformHandleui64IMG, GLint, location, GLuint64, value); \ UnsupportedWrapper2(void, glUniformHandleui64NV, GLint, location, GLuint64, value); \ UnsupportedWrapper3(void, glUniformHandleui64vARB, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper3(void, glUniformHandleui64vIMG, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper3(void, glUniformHandleui64vNV, GLint, location, GLsizei, count, const GLuint64 *, value); \ UnsupportedWrapper4(void, glUniformMatrix2x3fvNV, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ UnsupportedWrapper4(void, glUniformMatrix2x4fvNV, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ UnsupportedWrapper4(void, glUniformMatrix3x2fvNV, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ UnsupportedWrapper4(void, glUniformMatrix3x4fvNV, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ UnsupportedWrapper4(void, glUniformMatrix4x2fvNV, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ UnsupportedWrapper4(void, glUniformMatrix4x3fvNV, GLint, location, GLsizei, count, GLboolean, transpose, const GLfloat *, value); \ UnsupportedWrapper2(void, glUniformui64NV, GLint, location, GLuint64EXT, value); \ UnsupportedWrapper3(void, glUniformui64vNV, GLint, location, GLsizei, count, const GLuint64EXT *, value); \ UnsupportedWrapper0(void, glUnlockArraysEXT); \ UnsupportedWrapper1(void, glUnmapObjectBufferATI, GLuint, buffer); \ UnsupportedWrapper2(void, glUnmapTexture2DINTEL, GLuint, texture, GLint, level); \ UnsupportedWrapper5(void, glUpdateObjectBufferATI, GLuint, buffer, GLuint, offset, GLsizei, size, const void *, pointer, GLenum, preserve); \ UnsupportedWrapper1(void, glUseProgramObjectARB, GLhandleARB, programObj); \ UnsupportedWrapper2(void, glUseShaderProgramEXT, GLenum, type, GLuint, program); \ UnsupportedWrapper1(void, glValidateProgramARB, GLhandleARB, programObj); \ UnsupportedWrapper5(void, glVariantArrayObjectATI, GLuint, id, GLenum, type, GLsizei, stride, GLuint, buffer, GLuint, offset); \ UnsupportedWrapper2(void, glVariantbvEXT, GLuint, id, const GLbyte *, addr); \ UnsupportedWrapper2(void, glVariantdvEXT, GLuint, id, const GLdouble *, addr); \ UnsupportedWrapper2(void, glVariantfvEXT, GLuint, id, const GLfloat *, addr); \ UnsupportedWrapper2(void, glVariantivEXT, GLuint, id, const GLint *, addr); \ UnsupportedWrapper4(void, glVariantPointerEXT, GLuint, id, GLenum, type, GLuint, stride, const void *, addr); \ UnsupportedWrapper2(void, glVariantsvEXT, GLuint, id, const GLshort *, addr); \ UnsupportedWrapper2(void, glVariantubvEXT, GLuint, id, const GLubyte *, addr); \ UnsupportedWrapper2(void, glVariantuivEXT, GLuint, id, const GLuint *, addr); \ UnsupportedWrapper2(void, glVariantusvEXT, GLuint, id, const GLushort *, addr); \ UnsupportedWrapper0(void, glVDPAUFiniNV); \ UnsupportedWrapper5(void, glVDPAUGetSurfaceivNV, GLvdpauSurfaceNV, surface, GLenum, pname, GLsizei, bufSize, GLsizei *, length, GLint *, values); \ UnsupportedWrapper2(void, glVDPAUInitNV, const void *, vdpDevice, const void *, getProcAddress); \ UnsupportedWrapper1(GLboolean, glVDPAUIsSurfaceNV, GLvdpauSurfaceNV, surface); \ UnsupportedWrapper2(void, glVDPAUMapSurfacesNV, GLsizei, numSurfaces, const GLvdpauSurfaceNV *, surfaces); \ UnsupportedWrapper4(GLvdpauSurfaceNV, glVDPAURegisterOutputSurfaceNV, const void *, vdpSurface, GLenum, target, GLsizei, numTextureNames, const GLuint *, textureNames); \ UnsupportedWrapper4(GLvdpauSurfaceNV, glVDPAURegisterVideoSurfaceNV, const void *, vdpSurface, GLenum, target, GLsizei, numTextureNames, const GLuint *, textureNames); \ UnsupportedWrapper2(void, glVDPAUSurfaceAccessNV, GLvdpauSurfaceNV, surface, GLenum, access); \ UnsupportedWrapper2(void, glVDPAUUnmapSurfacesNV, GLsizei, numSurface, const GLvdpauSurfaceNV *, surfaces); \ UnsupportedWrapper1(void, glVDPAUUnregisterSurfaceNV, GLvdpauSurfaceNV, surface); \ UnsupportedWrapper2(void, glVertex2bOES, GLbyte, x, GLbyte, y); \ UnsupportedWrapper1(void, glVertex2bvOES, const GLbyte *, coords); \ UnsupportedWrapper2(void, glVertex2d, GLdouble, x, GLdouble, y); \ UnsupportedWrapper1(void, glVertex2dv, const GLdouble *, v); \ UnsupportedWrapper2(void, glVertex2f, GLfloat, x, GLfloat, y); \ UnsupportedWrapper1(void, glVertex2fv, const GLfloat *, v); \ UnsupportedWrapper2(void, glVertex2hNV, GLhalfNV, x, GLhalfNV, y); \ UnsupportedWrapper1(void, glVertex2hvNV, const GLhalfNV *, v); \ UnsupportedWrapper2(void, glVertex2i, GLint, x, GLint, y); \ UnsupportedWrapper1(void, glVertex2iv, const GLint *, v); \ UnsupportedWrapper2(void, glVertex2s, GLshort, x, GLshort, y); \ UnsupportedWrapper1(void, glVertex2sv, const GLshort *, v); \ UnsupportedWrapper1(void, glVertex2xOES, GLfixed, x); \ UnsupportedWrapper1(void, glVertex2xvOES, const GLfixed *, coords); \ UnsupportedWrapper3(void, glVertex3bOES, GLbyte, x, GLbyte, y, GLbyte, z); \ UnsupportedWrapper1(void, glVertex3bvOES, const GLbyte *, coords); \ UnsupportedWrapper3(void, glVertex3d, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper1(void, glVertex3dv, const GLdouble *, v); \ UnsupportedWrapper3(void, glVertex3f, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper1(void, glVertex3fv, const GLfloat *, v); \ UnsupportedWrapper3(void, glVertex3hNV, GLhalfNV, x, GLhalfNV, y, GLhalfNV, z); \ UnsupportedWrapper1(void, glVertex3hvNV, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glVertex3i, GLint, x, GLint, y, GLint, z); \ UnsupportedWrapper1(void, glVertex3iv, const GLint *, v); \ UnsupportedWrapper3(void, glVertex3s, GLshort, x, GLshort, y, GLshort, z); \ UnsupportedWrapper1(void, glVertex3sv, const GLshort *, v); \ UnsupportedWrapper2(void, glVertex3xOES, GLfixed, x, GLfixed, y); \ UnsupportedWrapper1(void, glVertex3xvOES, const GLfixed *, coords); \ UnsupportedWrapper4(void, glVertex4bOES, GLbyte, x, GLbyte, y, GLbyte, z, GLbyte, w); \ UnsupportedWrapper1(void, glVertex4bvOES, const GLbyte *, coords); \ UnsupportedWrapper4(void, glVertex4d, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper1(void, glVertex4dv, const GLdouble *, v); \ UnsupportedWrapper4(void, glVertex4f, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper1(void, glVertex4fv, const GLfloat *, v); \ UnsupportedWrapper4(void, glVertex4hNV, GLhalfNV, x, GLhalfNV, y, GLhalfNV, z, GLhalfNV, w); \ UnsupportedWrapper1(void, glVertex4hvNV, const GLhalfNV *, v); \ UnsupportedWrapper4(void, glVertex4i, GLint, x, GLint, y, GLint, z, GLint, w); \ UnsupportedWrapper1(void, glVertex4iv, const GLint *, v); \ UnsupportedWrapper4(void, glVertex4s, GLshort, x, GLshort, y, GLshort, z, GLshort, w); \ UnsupportedWrapper1(void, glVertex4sv, const GLshort *, v); \ UnsupportedWrapper3(void, glVertex4xOES, GLfixed, x, GLfixed, y, GLfixed, z); \ UnsupportedWrapper1(void, glVertex4xvOES, const GLfixed *, coords); \ UnsupportedWrapper6(void, glVertexArrayColorOffsetEXT, GLuint, vaobj, GLuint, buffer, GLint, size, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper4(void, glVertexArrayEdgeFlagOffsetEXT, GLuint, vaobj, GLuint, buffer, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper5(void, glVertexArrayFogCoordOffsetEXT, GLuint, vaobj, GLuint, buffer, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper5(void, glVertexArrayIndexOffsetEXT, GLuint, vaobj, GLuint, buffer, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper7(void, glVertexArrayMultiTexCoordOffsetEXT, GLuint, vaobj, GLuint, buffer, GLenum, texunit, GLint, size, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper5(void, glVertexArrayNormalOffsetEXT, GLuint, vaobj, GLuint, buffer, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper2(void, glVertexArrayParameteriAPPLE, GLenum, pname, GLint, param); \ UnsupportedWrapper2(void, glVertexArrayRangeAPPLE, GLsizei, length, void *, pointer); \ UnsupportedWrapper2(void, glVertexArrayRangeNV, GLsizei, length, const void *, pointer); \ UnsupportedWrapper6(void, glVertexArraySecondaryColorOffsetEXT, GLuint, vaobj, GLuint, buffer, GLint, size, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper6(void, glVertexArrayTexCoordOffsetEXT, GLuint, vaobj, GLuint, buffer, GLint, size, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper6(void, glVertexArrayVertexOffsetEXT, GLuint, vaobj, GLuint, buffer, GLint, size, GLenum, type, GLsizei, stride, GLintptr, offset); \ UnsupportedWrapper2(void, glVertexAttrib1dNV, GLuint, index, GLdouble, x); \ UnsupportedWrapper2(void, glVertexAttrib1dvNV, GLuint, index, const GLdouble *, v); \ UnsupportedWrapper2(void, glVertexAttrib1fNV, GLuint, index, GLfloat, x); \ UnsupportedWrapper2(void, glVertexAttrib1fvNV, GLuint, index, const GLfloat *, v); \ UnsupportedWrapper2(void, glVertexAttrib1hNV, GLuint, index, GLhalfNV, x); \ UnsupportedWrapper2(void, glVertexAttrib1hvNV, GLuint, index, const GLhalfNV *, v); \ UnsupportedWrapper2(void, glVertexAttrib1sNV, GLuint, index, GLshort, x); \ UnsupportedWrapper2(void, glVertexAttrib1svNV, GLuint, index, const GLshort *, v); \ UnsupportedWrapper3(void, glVertexAttrib2dNV, GLuint, index, GLdouble, x, GLdouble, y); \ UnsupportedWrapper2(void, glVertexAttrib2dvNV, GLuint, index, const GLdouble *, v); \ UnsupportedWrapper3(void, glVertexAttrib2fNV, GLuint, index, GLfloat, x, GLfloat, y); \ UnsupportedWrapper2(void, glVertexAttrib2fvNV, GLuint, index, const GLfloat *, v); \ UnsupportedWrapper3(void, glVertexAttrib2hNV, GLuint, index, GLhalfNV, x, GLhalfNV, y); \ UnsupportedWrapper2(void, glVertexAttrib2hvNV, GLuint, index, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glVertexAttrib2sNV, GLuint, index, GLshort, x, GLshort, y); \ UnsupportedWrapper2(void, glVertexAttrib2svNV, GLuint, index, const GLshort *, v); \ UnsupportedWrapper4(void, glVertexAttrib3dNV, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper2(void, glVertexAttrib3dvNV, GLuint, index, const GLdouble *, v); \ UnsupportedWrapper4(void, glVertexAttrib3fNV, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper2(void, glVertexAttrib3fvNV, GLuint, index, const GLfloat *, v); \ UnsupportedWrapper4(void, glVertexAttrib3hNV, GLuint, index, GLhalfNV, x, GLhalfNV, y, GLhalfNV, z); \ UnsupportedWrapper2(void, glVertexAttrib3hvNV, GLuint, index, const GLhalfNV *, v); \ UnsupportedWrapper4(void, glVertexAttrib3sNV, GLuint, index, GLshort, x, GLshort, y, GLshort, z); \ UnsupportedWrapper2(void, glVertexAttrib3svNV, GLuint, index, const GLshort *, v); \ UnsupportedWrapper5(void, glVertexAttrib4dNV, GLuint, index, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper2(void, glVertexAttrib4dvNV, GLuint, index, const GLdouble *, v); \ UnsupportedWrapper5(void, glVertexAttrib4fNV, GLuint, index, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper2(void, glVertexAttrib4fvNV, GLuint, index, const GLfloat *, v); \ UnsupportedWrapper5(void, glVertexAttrib4hNV, GLuint, index, GLhalfNV, x, GLhalfNV, y, GLhalfNV, z, GLhalfNV, w); \ UnsupportedWrapper2(void, glVertexAttrib4hvNV, GLuint, index, const GLhalfNV *, v); \ UnsupportedWrapper5(void, glVertexAttrib4NubARB, GLuint, index, GLubyte, x, GLubyte, y, GLubyte, z, GLubyte, w); \ UnsupportedWrapper5(void, glVertexAttrib4sNV, GLuint, index, GLshort, x, GLshort, y, GLshort, z, GLshort, w); \ UnsupportedWrapper2(void, glVertexAttrib4svNV, GLuint, index, const GLshort *, v); \ UnsupportedWrapper5(void, glVertexAttrib4ubNV, GLuint, index, GLubyte, x, GLubyte, y, GLubyte, z, GLubyte, w); \ UnsupportedWrapper2(void, glVertexAttrib4ubvNV, GLuint, index, const GLubyte *, v); \ UnsupportedWrapper7(void, glVertexAttribArrayObjectATI, GLuint, index, GLint, size, GLenum, type, GLboolean, normalized, GLsizei, stride, GLuint, buffer, GLuint, offset); \ UnsupportedWrapper2(void, glVertexAttribDivisorANGLE, GLuint, index, GLuint, divisor); \ UnsupportedWrapper2(void, glVertexAttribDivisorEXT, GLuint, index, GLuint, divisor); \ UnsupportedWrapper2(void, glVertexAttribDivisorNV, GLuint, index, GLuint, divisor); \ UnsupportedWrapper5(void, glVertexAttribFormatNV, GLuint, index, GLint, size, GLenum, type, GLboolean, normalized, GLsizei, stride); \ UnsupportedWrapper4(void, glVertexAttribIFormatNV, GLuint, index, GLint, size, GLenum, type, GLsizei, stride); \ UnsupportedWrapper2(void, glVertexAttribL1i64NV, GLuint, index, GLint64EXT, x); \ UnsupportedWrapper2(void, glVertexAttribL1i64vNV, GLuint, index, const GLint64EXT *, v); \ UnsupportedWrapper2(void, glVertexAttribL1ui64ARB, GLuint, index, GLuint64EXT, x); \ UnsupportedWrapper2(void, glVertexAttribL1ui64NV, GLuint, index, GLuint64EXT, x); \ UnsupportedWrapper2(void, glVertexAttribL1ui64vARB, GLuint, index, const GLuint64EXT *, v); \ UnsupportedWrapper2(void, glVertexAttribL1ui64vNV, GLuint, index, const GLuint64EXT *, v); \ UnsupportedWrapper3(void, glVertexAttribL2i64NV, GLuint, index, GLint64EXT, x, GLint64EXT, y); \ UnsupportedWrapper2(void, glVertexAttribL2i64vNV, GLuint, index, const GLint64EXT *, v); \ UnsupportedWrapper3(void, glVertexAttribL2ui64NV, GLuint, index, GLuint64EXT, x, GLuint64EXT, y); \ UnsupportedWrapper2(void, glVertexAttribL2ui64vNV, GLuint, index, const GLuint64EXT *, v); \ UnsupportedWrapper4(void, glVertexAttribL3i64NV, GLuint, index, GLint64EXT, x, GLint64EXT, y, GLint64EXT, z); \ UnsupportedWrapper2(void, glVertexAttribL3i64vNV, GLuint, index, const GLint64EXT *, v); \ UnsupportedWrapper4(void, glVertexAttribL3ui64NV, GLuint, index, GLuint64EXT, x, GLuint64EXT, y, GLuint64EXT, z); \ UnsupportedWrapper2(void, glVertexAttribL3ui64vNV, GLuint, index, const GLuint64EXT *, v); \ UnsupportedWrapper5(void, glVertexAttribL4i64NV, GLuint, index, GLint64EXT, x, GLint64EXT, y, GLint64EXT, z, GLint64EXT, w); \ UnsupportedWrapper2(void, glVertexAttribL4i64vNV, GLuint, index, const GLint64EXT *, v); \ UnsupportedWrapper5(void, glVertexAttribL4ui64NV, GLuint, index, GLuint64EXT, x, GLuint64EXT, y, GLuint64EXT, z, GLuint64EXT, w); \ UnsupportedWrapper2(void, glVertexAttribL4ui64vNV, GLuint, index, const GLuint64EXT *, v); \ UnsupportedWrapper4(void, glVertexAttribLFormatNV, GLuint, index, GLint, size, GLenum, type, GLsizei, stride); \ UnsupportedWrapper3(void, glVertexAttribParameteriAMD, GLuint, index, GLenum, pname, GLint, param); \ UnsupportedWrapper5(void, glVertexAttribPointerNV, GLuint, index, GLint, fsize, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper3(void, glVertexAttribs1dvNV, GLuint, index, GLsizei, count, const GLdouble *, v); \ UnsupportedWrapper3(void, glVertexAttribs1fvNV, GLuint, index, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper3(void, glVertexAttribs1hvNV, GLuint, index, GLsizei, n, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glVertexAttribs1svNV, GLuint, index, GLsizei, count, const GLshort *, v); \ UnsupportedWrapper3(void, glVertexAttribs2dvNV, GLuint, index, GLsizei, count, const GLdouble *, v); \ UnsupportedWrapper3(void, glVertexAttribs2fvNV, GLuint, index, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper3(void, glVertexAttribs2hvNV, GLuint, index, GLsizei, n, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glVertexAttribs2svNV, GLuint, index, GLsizei, count, const GLshort *, v); \ UnsupportedWrapper3(void, glVertexAttribs3dvNV, GLuint, index, GLsizei, count, const GLdouble *, v); \ UnsupportedWrapper3(void, glVertexAttribs3fvNV, GLuint, index, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper3(void, glVertexAttribs3hvNV, GLuint, index, GLsizei, n, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glVertexAttribs3svNV, GLuint, index, GLsizei, count, const GLshort *, v); \ UnsupportedWrapper3(void, glVertexAttribs4dvNV, GLuint, index, GLsizei, count, const GLdouble *, v); \ UnsupportedWrapper3(void, glVertexAttribs4fvNV, GLuint, index, GLsizei, count, const GLfloat *, v); \ UnsupportedWrapper3(void, glVertexAttribs4hvNV, GLuint, index, GLsizei, n, const GLhalfNV *, v); \ UnsupportedWrapper3(void, glVertexAttribs4svNV, GLuint, index, GLsizei, count, const GLshort *, v); \ UnsupportedWrapper3(void, glVertexAttribs4ubvNV, GLuint, index, GLsizei, count, const GLubyte *, v); \ UnsupportedWrapper1(void, glVertexBlendARB, GLint, count); \ UnsupportedWrapper2(void, glVertexBlendEnvfATI, GLenum, pname, GLfloat, param); \ UnsupportedWrapper2(void, glVertexBlendEnviATI, GLenum, pname, GLint, param); \ UnsupportedWrapper3(void, glVertexFormatNV, GLint, size, GLenum, type, GLsizei, stride); \ UnsupportedWrapper2(void, glVertexP2ui, GLenum, type, GLuint, value); \ UnsupportedWrapper2(void, glVertexP2uiv, GLenum, type, const GLuint *, value); \ UnsupportedWrapper2(void, glVertexP3ui, GLenum, type, GLuint, value); \ UnsupportedWrapper2(void, glVertexP3uiv, GLenum, type, const GLuint *, value); \ UnsupportedWrapper2(void, glVertexP4ui, GLenum, type, GLuint, value); \ UnsupportedWrapper2(void, glVertexP4uiv, GLenum, type, const GLuint *, value); \ UnsupportedWrapper5(void, glVertexPointerEXT, GLint, size, GLenum, type, GLsizei, stride, GLsizei, count, const void *, pointer); \ UnsupportedWrapper5(void, glVertexPointerListIBM, GLint, size, GLenum, type, GLint, stride, const void **, pointer, GLint, ptrstride); \ UnsupportedWrapper4(void, glVertexPointer, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper3(void, glVertexPointervINTEL, GLint, size, GLenum, type, const void **, pointer); \ UnsupportedWrapper2(void, glVertexStream1dATI, GLenum, stream, GLdouble, x); \ UnsupportedWrapper2(void, glVertexStream1dvATI, GLenum, stream, const GLdouble *, coords); \ UnsupportedWrapper2(void, glVertexStream1fATI, GLenum, stream, GLfloat, x); \ UnsupportedWrapper2(void, glVertexStream1fvATI, GLenum, stream, const GLfloat *, coords); \ UnsupportedWrapper2(void, glVertexStream1iATI, GLenum, stream, GLint, x); \ UnsupportedWrapper2(void, glVertexStream1ivATI, GLenum, stream, const GLint *, coords); \ UnsupportedWrapper2(void, glVertexStream1sATI, GLenum, stream, GLshort, x); \ UnsupportedWrapper2(void, glVertexStream1svATI, GLenum, stream, const GLshort *, coords); \ UnsupportedWrapper3(void, glVertexStream2dATI, GLenum, stream, GLdouble, x, GLdouble, y); \ UnsupportedWrapper2(void, glVertexStream2dvATI, GLenum, stream, const GLdouble *, coords); \ UnsupportedWrapper3(void, glVertexStream2fATI, GLenum, stream, GLfloat, x, GLfloat, y); \ UnsupportedWrapper2(void, glVertexStream2fvATI, GLenum, stream, const GLfloat *, coords); \ UnsupportedWrapper3(void, glVertexStream2iATI, GLenum, stream, GLint, x, GLint, y); \ UnsupportedWrapper2(void, glVertexStream2ivATI, GLenum, stream, const GLint *, coords); \ UnsupportedWrapper3(void, glVertexStream2sATI, GLenum, stream, GLshort, x, GLshort, y); \ UnsupportedWrapper2(void, glVertexStream2svATI, GLenum, stream, const GLshort *, coords); \ UnsupportedWrapper4(void, glVertexStream3dATI, GLenum, stream, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper2(void, glVertexStream3dvATI, GLenum, stream, const GLdouble *, coords); \ UnsupportedWrapper4(void, glVertexStream3fATI, GLenum, stream, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper2(void, glVertexStream3fvATI, GLenum, stream, const GLfloat *, coords); \ UnsupportedWrapper4(void, glVertexStream3iATI, GLenum, stream, GLint, x, GLint, y, GLint, z); \ UnsupportedWrapper2(void, glVertexStream3ivATI, GLenum, stream, const GLint *, coords); \ UnsupportedWrapper4(void, glVertexStream3sATI, GLenum, stream, GLshort, x, GLshort, y, GLshort, z); \ UnsupportedWrapper2(void, glVertexStream3svATI, GLenum, stream, const GLshort *, coords); \ UnsupportedWrapper5(void, glVertexStream4dATI, GLenum, stream, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper2(void, glVertexStream4dvATI, GLenum, stream, const GLdouble *, coords); \ UnsupportedWrapper5(void, glVertexStream4fATI, GLenum, stream, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper2(void, glVertexStream4fvATI, GLenum, stream, const GLfloat *, coords); \ UnsupportedWrapper5(void, glVertexStream4iATI, GLenum, stream, GLint, x, GLint, y, GLint, z, GLint, w); \ UnsupportedWrapper2(void, glVertexStream4ivATI, GLenum, stream, const GLint *, coords); \ UnsupportedWrapper5(void, glVertexStream4sATI, GLenum, stream, GLshort, x, GLshort, y, GLshort, z, GLshort, w); \ UnsupportedWrapper2(void, glVertexStream4svATI, GLenum, stream, const GLshort *, coords); \ UnsupportedWrapper1(void, glVertexWeightfEXT, GLfloat, weight); \ UnsupportedWrapper1(void, glVertexWeightfvEXT, const GLfloat *, weight); \ UnsupportedWrapper1(void, glVertexWeighthNV, GLhalfNV, weight); \ UnsupportedWrapper1(void, glVertexWeighthvNV, const GLhalfNV *, weight); \ UnsupportedWrapper4(void, glVertexWeightPointerEXT, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper3(GLenum, glVideoCaptureNV, GLuint, video_capture_slot, GLuint *, sequence_num, GLuint64EXT *, capture_time); \ UnsupportedWrapper4(void, glVideoCaptureStreamParameterdvNV, GLuint, video_capture_slot, GLuint, stream, GLenum, pname, const GLdouble *, params); \ UnsupportedWrapper4(void, glVideoCaptureStreamParameterfvNV, GLuint, video_capture_slot, GLuint, stream, GLenum, pname, const GLfloat *, params); \ UnsupportedWrapper4(void, glVideoCaptureStreamParameterivNV, GLuint, video_capture_slot, GLuint, stream, GLenum, pname, const GLint *, params); \ UnsupportedWrapper3(void, glViewportPositionWScaleNV, GLuint, index, GLfloat, xcoeff, GLfloat, ycoeff); \ UnsupportedWrapper5(void, glViewportSwizzleNV, GLuint, index, GLenum, swizzlex, GLenum, swizzley, GLenum, swizzlez, GLenum, swizzlew); \ UnsupportedWrapper3(void, glWaitSyncAPPLE, GLsync, sync, GLbitfield, flags, GLuint64, timeout); \ UnsupportedWrapper1(void, glWaitVkSemaphoreNV, GLuint64, vkSemaphore); \ UnsupportedWrapper2(void, glWeightbvARB, GLint, size, const GLbyte *, weights); \ UnsupportedWrapper2(void, glWeightdvARB, GLint, size, const GLdouble *, weights); \ UnsupportedWrapper2(void, glWeightfvARB, GLint, size, const GLfloat *, weights); \ UnsupportedWrapper2(void, glWeightivARB, GLint, size, const GLint *, weights); \ UnsupportedWrapper4(void, glWeightPathsNV, GLuint, resultPath, GLsizei, numPaths, const GLuint *, paths, const GLfloat *, weights); \ UnsupportedWrapper4(void, glWeightPointerARB, GLint, size, GLenum, type, GLsizei, stride, const void *, pointer); \ UnsupportedWrapper2(void, glWeightsvARB, GLint, size, const GLshort *, weights); \ UnsupportedWrapper2(void, glWeightubvARB, GLint, size, const GLubyte *, weights); \ UnsupportedWrapper2(void, glWeightuivARB, GLint, size, const GLuint *, weights); \ UnsupportedWrapper2(void, glWeightusvARB, GLint, size, const GLushort *, weights); \ UnsupportedWrapper2(void, glWindowPos2dARB, GLdouble, x, GLdouble, y); \ UnsupportedWrapper2(void, glWindowPos2dMESA, GLdouble, x, GLdouble, y); \ UnsupportedWrapper2(void, glWindowPos2d, GLdouble, x, GLdouble, y); \ UnsupportedWrapper1(void, glWindowPos2dvARB, const GLdouble *, v); \ UnsupportedWrapper1(void, glWindowPos2dvMESA, const GLdouble *, v); \ UnsupportedWrapper1(void, glWindowPos2dv, const GLdouble *, v); \ UnsupportedWrapper2(void, glWindowPos2fARB, GLfloat, x, GLfloat, y); \ UnsupportedWrapper2(void, glWindowPos2fMESA, GLfloat, x, GLfloat, y); \ UnsupportedWrapper2(void, glWindowPos2f, GLfloat, x, GLfloat, y); \ UnsupportedWrapper1(void, glWindowPos2fvARB, const GLfloat *, v); \ UnsupportedWrapper1(void, glWindowPos2fvMESA, const GLfloat *, v); \ UnsupportedWrapper1(void, glWindowPos2fv, const GLfloat *, v); \ UnsupportedWrapper2(void, glWindowPos2iARB, GLint, x, GLint, y); \ UnsupportedWrapper2(void, glWindowPos2iMESA, GLint, x, GLint, y); \ UnsupportedWrapper2(void, glWindowPos2i, GLint, x, GLint, y); \ UnsupportedWrapper1(void, glWindowPos2ivARB, const GLint *, v); \ UnsupportedWrapper1(void, glWindowPos2ivMESA, const GLint *, v); \ UnsupportedWrapper1(void, glWindowPos2iv, const GLint *, v); \ UnsupportedWrapper2(void, glWindowPos2sARB, GLshort, x, GLshort, y); \ UnsupportedWrapper2(void, glWindowPos2sMESA, GLshort, x, GLshort, y); \ UnsupportedWrapper2(void, glWindowPos2s, GLshort, x, GLshort, y); \ UnsupportedWrapper1(void, glWindowPos2svARB, const GLshort *, v); \ UnsupportedWrapper1(void, glWindowPos2svMESA, const GLshort *, v); \ UnsupportedWrapper1(void, glWindowPos2sv, const GLshort *, v); \ UnsupportedWrapper3(void, glWindowPos3dARB, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper3(void, glWindowPos3dMESA, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper3(void, glWindowPos3d, GLdouble, x, GLdouble, y, GLdouble, z); \ UnsupportedWrapper1(void, glWindowPos3dvARB, const GLdouble *, v); \ UnsupportedWrapper1(void, glWindowPos3dvMESA, const GLdouble *, v); \ UnsupportedWrapper1(void, glWindowPos3dv, const GLdouble *, v); \ UnsupportedWrapper3(void, glWindowPos3fARB, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glWindowPos3fMESA, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper3(void, glWindowPos3f, GLfloat, x, GLfloat, y, GLfloat, z); \ UnsupportedWrapper1(void, glWindowPos3fvARB, const GLfloat *, v); \ UnsupportedWrapper1(void, glWindowPos3fvMESA, const GLfloat *, v); \ UnsupportedWrapper1(void, glWindowPos3fv, const GLfloat *, v); \ UnsupportedWrapper3(void, glWindowPos3iARB, GLint, x, GLint, y, GLint, z); \ UnsupportedWrapper3(void, glWindowPos3iMESA, GLint, x, GLint, y, GLint, z); \ UnsupportedWrapper3(void, glWindowPos3i, GLint, x, GLint, y, GLint, z); \ UnsupportedWrapper1(void, glWindowPos3ivARB, const GLint *, v); \ UnsupportedWrapper1(void, glWindowPos3ivMESA, const GLint *, v); \ UnsupportedWrapper1(void, glWindowPos3iv, const GLint *, v); \ UnsupportedWrapper3(void, glWindowPos3sARB, GLshort, x, GLshort, y, GLshort, z); \ UnsupportedWrapper3(void, glWindowPos3sMESA, GLshort, x, GLshort, y, GLshort, z); \ UnsupportedWrapper3(void, glWindowPos3s, GLshort, x, GLshort, y, GLshort, z); \ UnsupportedWrapper1(void, glWindowPos3svARB, const GLshort *, v); \ UnsupportedWrapper1(void, glWindowPos3svMESA, const GLshort *, v); \ UnsupportedWrapper1(void, glWindowPos3sv, const GLshort *, v); \ UnsupportedWrapper4(void, glWindowPos4dMESA, GLdouble, x, GLdouble, y, GLdouble, z, GLdouble, w); \ UnsupportedWrapper1(void, glWindowPos4dvMESA, const GLdouble *, v); \ UnsupportedWrapper4(void, glWindowPos4fMESA, GLfloat, x, GLfloat, y, GLfloat, z, GLfloat, w); \ UnsupportedWrapper1(void, glWindowPos4fvMESA, const GLfloat *, v); \ UnsupportedWrapper4(void, glWindowPos4iMESA, GLint, x, GLint, y, GLint, z, GLint, w); \ UnsupportedWrapper1(void, glWindowPos4ivMESA, const GLint *, v); \ UnsupportedWrapper4(void, glWindowPos4sMESA, GLshort, x, GLshort, y, GLshort, z, GLshort, w); \ UnsupportedWrapper1(void, glWindowPos4svMESA, const GLshort *, v); \ UnsupportedWrapper3(void, glWindowRectanglesEXT, GLenum, mode, GLsizei, count, const GLint *, box); \ UnsupportedWrapper6(void, glWriteMaskEXT, GLuint, res, GLuint, in, GLenum, outX, GLenum, outY, GLenum, outZ, GLenum, outW); \ // the _renderdoc_hooked variants are to make sure we always have a function symbol exported that we // can return from GetProcAddress. On posix systems if another library (or the application itself) // creates a symbol called 'glEnable' we'll return the address of that, and break badly. Instead we // leave the 'naked' versions for applications trying to import those symbols, and declare the // _renderdoc_hooked for returning as a func pointer. The raw version calls directly into the hooked // version to hopefully allow the linker to tail-call optimise and reduce the overhead. #define FuncWrapper0(ret, function) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)() \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, ); \ return glhook.driver->function(); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)() \ { \ return CONCAT(function, _renderdoc_hooked)(); \ } \ HOOK_EXPORT ret HOOK_CC function(); #define AliasWrapper0(ret, function, realfunc) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)() \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, ); \ return glhook.driver->realfunc(); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)() \ { \ return CONCAT(function, _renderdoc_hooked)(); \ } \ HOOK_EXPORT ret HOOK_CC function(); #define UnsupportedWrapper0(ret, function) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)() \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)() \ { \ return CONCAT(function, _renderdoc_hooked)(); \ } \ HOOK_EXPORT ret HOOK_CC function(); #define FuncWrapper1(ret, function, t1, p1) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1); \ return glhook.driver->function(p1); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1) \ { \ return CONCAT(function, _renderdoc_hooked)(p1); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1); #define AliasWrapper1(ret, function, realfunc, t1, p1) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1); \ return glhook.driver->realfunc(p1); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1) \ { \ return CONCAT(function, _renderdoc_hooked)(p1); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1); #define UnsupportedWrapper1(ret, function, t1, p1) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1) \ { \ return CONCAT(function, _renderdoc_hooked)(p1); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1); #define FuncWrapper2(ret, function, t1, p1, t2, p2) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2); \ return glhook.driver->function(p1, p2); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2); #define AliasWrapper2(ret, function, realfunc, t1, p1, t2, p2) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2); \ return glhook.driver->realfunc(p1, p2); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2); #define UnsupportedWrapper2(ret, function, t1, p1, t2, p2) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2); #define FuncWrapper3(ret, function, t1, p1, t2, p2, t3, p3) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3); \ return glhook.driver->function(p1, p2, p3); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3); #define AliasWrapper3(ret, function, realfunc, t1, p1, t2, p2, t3, p3) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3); \ return glhook.driver->realfunc(p1, p2, p3); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3); #define UnsupportedWrapper3(ret, function, t1, p1, t2, p2, t3, p3) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3); #define FuncWrapper4(ret, function, t1, p1, t2, p2, t3, p3, t4, p4) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4); \ return glhook.driver->function(p1, p2, p3, p4); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4); #define AliasWrapper4(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4); \ return glhook.driver->realfunc(p1, p2, p3, p4); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4); #define UnsupportedWrapper4(ret, function, t1, p1, t2, p2, t3, p3, t4, p4) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4); #define FuncWrapper5(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5); \ return glhook.driver->function(p1, p2, p3, p4, p5); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5); #define AliasWrapper5(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5); #define UnsupportedWrapper5(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5); #define FuncWrapper6(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6); #define AliasWrapper6(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6); #define UnsupportedWrapper6(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6); #define FuncWrapper7(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7); #define AliasWrapper7(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7); #define UnsupportedWrapper7(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7); #define FuncWrapper8(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8); #define AliasWrapper8(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8); #define UnsupportedWrapper8(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8); #define FuncWrapper9(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9); #define AliasWrapper9(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9); #define UnsupportedWrapper9(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9); #define FuncWrapper10(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10); #define AliasWrapper10(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10); #define UnsupportedWrapper10(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10); #define FuncWrapper11(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11); #define AliasWrapper11(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11); #define UnsupportedWrapper11(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11); #define FuncWrapper12(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12); #define AliasWrapper12(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12); #define UnsupportedWrapper12(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12); #define FuncWrapper13(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13); #define AliasWrapper13(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13); #define UnsupportedWrapper13(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13); #define FuncWrapper14(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14); #define AliasWrapper14(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14); #define UnsupportedWrapper14(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14); #define FuncWrapper15(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15); #define AliasWrapper15(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15); #define UnsupportedWrapper15(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15); #define FuncWrapper16(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15, t16, p16) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16); #define AliasWrapper16(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15, t16, p16) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16); #define UnsupportedWrapper16(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15, t16, p16) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16); #define FuncWrapper17(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15, t16, p16, t17, p17) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(function, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ return glhook.driver->function(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17); #define AliasWrapper17(ret, function, realfunc, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15, t16, p16, t17, p17) \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17) \ { \ SCOPED_GLCALL(function); \ UNINIT_CALL(realfunc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ return glhook.driver->realfunc(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17); #define UnsupportedWrapper17(ret, function, t1, p1, t2, p2, t3, p3, t4, p4, t5, p5, t6, p6, t7, p7, t8, p8, t9, p9, t10, p10, t11, p11, t12, p12, t13, p13, t14, p14, t15, p15, t16, p16, t17, p17) \ typedef ret(HOOK_CC *CONCAT(function, _hooktype))(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17); \ CONCAT(function, _hooktype) CONCAT(unsupported_real_, function) = NULL; \ ret HOOK_CC CONCAT(function, _renderdoc_hooked)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17) \ { \ glhook.UseUnusedSupportedFunction(STRINGIZE(function)); \ if(!CONCAT(unsupported_real_, function)) \ CONCAT(unsupported_real_, function) = \ (CONCAT(function, _hooktype))glhook.GetUnsupportedFunction(STRINGIZE(function)); \ return CONCAT(unsupported_real_, function)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ } \ HOOK_EXPORT ret HOOK_CC GL_EXPORT_NAME(function)(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17) \ { \ return CONCAT(function, _renderdoc_hooked)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17); \ } \ HOOK_EXPORT ret HOOK_CC function(t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7, t8 p8, t9 p9, t10 p10, t11 p11, t12 p12, t13 p13, t14 p14, t15 p15, t16 p16, t17 p17);