#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error meh!
#endif

GO(glActiveShaderProgram, vFuu)
GO(glActiveTexture, vFu)
GO(glAttachShader, vFuu)
GO(glBeginQuery, vFuu)
GO(glBeginTransformFeedback, vFu)
GO(glBindAttribLocation, vFuup)
GO(glBindBuffer, vFuu)
GO(glBindBufferBase, vFuuu)
GO(glBindBufferRange, vFuuuii)
GO(glBindFramebuffer, vFuu)
GO(glBindImageTexture, vFuuiCiuu)
GO(glBindProgramPipeline, vFu)
GO(glBindRenderbuffer, vFuu)
GO(glBindSampler, vFuu)
GO(glBindTexture, vFuu)
GO(glBindTransformFeedback, vFuu)
GO(glBindVertexArray, vFu)
GO(glBindVertexBuffer, vFuuli)
GO(glBlendBarrier, vFv)
GO(glBlendColor, vFffff)
GO(glBlendEquation, vFu)
GO(glBlendEquationi, vFuu)
GO(glBlendEquationSeparate, vFuu)
GO(glBlendEquationSeparatei, vFuuu)
GO(glBlendFunc, vFuu)
GO(glBlendFunci, vFuuu)
GO(glBlendFuncSeparate, vFuuuu)
GO(glBlendFuncSeparatei, vFuuuuu)
GO(glBlitFramebuffer, vFiiiiiiiiiu)
GO(glBufferData, vFulpu)
GO(glBufferSubData, vFullp)
GO(glCheckFramebufferStatus, uFu)
GO(glClear, vFi)
GO(glClearBufferfi, vFuifi)
GO(glClearBufferfv, vFuip)
GO(glClearBufferiv, vFuip)
GO(glClearBufferuiv, vFuip)
GO(glClearColor, vFffff)
GO(glClearDepthf, vFf)
GO(glClearStencil, vFi)
GO(glClientWaitSync, uFpuL)
GO(glColorMask, vFCCCC)
GO(glColorMaski, vFuiiii)
GO(glCompileShader, vFu)
GO(glCompressedTexImage2D, vFuiuiiiip)
GO(glCompressedTexImage3D, vFuiuiiiiip)
GO(glCompressedTexSubImage2D, vFuiiiiiuip)
GO(glCompressedTexSubImage3D, vFuiiiiiiiuip)
GO(glCopyBufferSubData, vFuulll)
GO(glCopyImageSubData, vFuuiiiiuuiiiiiii)
GO(glCopyTexImage2D, vFuiuiiiii)
GO(glCopyTexSubImage2D, vFuiiiiiii)
GO(glCopyTexSubImage3D, vFuiiiiiiii)
GO(glCreateProgram, uFv)
GO(glCreateShader, uFu)
GO(glCreateShaderProgramv, uFuip)
GO(glCullFace, vFu)
//GO(glDebugMessageCallback, 
GO(glDebugMessageControl, vFuuuipi)
GO(glDebugMessageInsert, vFuuuuip)
GO(glDeleteBuffers, vFip)
GO(glDeleteFramebuffers, vFip)
GO(glDeleteProgram, vFu)
GO(glDeleteProgramPipelines, vFip)
GO(glDeleteQueries, vFip)
GO(glDeleteRenderbuffers, vFip)
GO(glDeleteSamplers, vFip)
GO(glDeleteShader, vFu)
GO(glDeleteSync, vFp)
GO(glDeleteTextures, vFip)
GO(glDeleteTransformFeedbacks, vFip)
GO(glDeleteVertexArrays, vFip)
GO(glDepthFunc, vFu)
GO(glDepthMask, vFi)
GO(glDepthRangef, vFff)
GO(glDetachShader, vFuu)
GO(glDisable, vFu)
GO(glDisablei, vFuu)
GO(glDisableVertexAttribArray, vFu)
GO(glDispatchCompute, vFuuu)
GO(glDispatchComputeIndirect, vFi)
GO(glDrawArrays, vFuii)
GO(glDrawArraysIndirect, vFup)
GO(glDrawArraysInstanced, vFuiii)
GO(glDrawBuffers, vFip)
GO(glDrawElements, vFuiup)
GO(glDrawElementsBaseVertex, vFuiupi)
GO(glDrawElementsIndirect, vFuup)
GO(glDrawElementsInstanced, vFuiupi)
GO(glDrawElementsInstancedBaseVertex, vFuiupii)
GO(glDrawRangeElements, vFuuuiup)
GO(glDrawRangeElementsBaseVertex, vFuuuiupi)
GO(glEnable, vFu)
GO(glEnablei, vFuu)
GO(glEnableVertexAttribArray, vFu)
GO(glEndQuery, vFu)
GO(glEndTransformFeedback, vFv)
GO(glFenceSync, pFuu)
GO(glFinish, vFv)
GO(glFlush, vFv)
GO(glFlushMappedBufferRange, vFull)
GO(glFramebufferParameteri, vFuui)
GO(glFramebufferRenderbuffer, vFuuuu)
GO(glFramebufferTexture, vFuuui)
GO(glFramebufferTexture2D, vFuuuui)
GO(glFramebufferTextureLayer, vFuuuii)
GO(glFrontFace, vFu)
GO(glGenBuffers, vFip)
GO(glGenerateMipmap, vFu)
GO(glGenFramebuffers, vFip)
GO(glGenProgramPipelines, vFip)
GO(glGenQueries, vFip)
GO(glGenRenderbuffers, vFip)
GO(glGenSamplers, vFip)
GO(glGenTextures, vFip)
GO(glGenTransformFeedbacks, vFip)
GO(glGenVertexArrays, vFip)
GO(glGetActiveAttrib, vFuuipppp)
GO(glGetActiveUniform, vFuuipppp)
GO(glGetActiveUniformBlockiv, vFuuup)
GO(glGetActiveUniformBlockName, vFuuipp)
GO(glGetActiveUniformsiv, vFuipup)
GO(glGetAttachedShaders, vFuipp)
GO(glGetAttribLocation, iFup)
GO(glGetBooleani_v, vFuup)
GO(glGetBooleanv, vFup)
GO(glGetBufferParameteri64v, vFuup)
GO(glGetBufferParameteriv, vFuup)
GO(glGetBufferPointerv, vFuup)
GO(glGetDebugMessageLog, uFuipppppp)
GO(glGetError, uFv)
GO(glGetFloatv, vFup)
GO(glGetFragDataLocation, iFup)
GO(glGetFramebufferAttachmentParameteriv, vFuuup)
GO(glGetFramebufferParameteriv, vFuup)
GO(glGetGraphicsResetStatus, iFv)
GO(glGetInteger64i_v, vFuup)
GO(glGetInteger64v, vFup)
GO(glGetIntegeri_v, vFuup)
GO(glGetIntegerv, vFup)
GO(glGetInternalformativ, vFuuuip)
GO(glGetMultisamplefv, vFuup)
GO(glGetnUniformfv, vFuilp)
GO(glGetnUniformiv, vFuilp)
GO(glGetnUniformuiv, vFuilp)
GO(glGetObjectLabel, vFuuipp)
GO(glGetObjectPtrLabel, vFpipp)
GO(glGetPointerv, vFup)
GO(glGetProgramBinary, vFuippp)
GO(glGetProgramInfoLog, vFuipp)
GO(glGetProgramInterfaceiv, vFuuup)
GO(glGetProgramiv, vFuup)
GO(glGetProgramPipelineInfoLog, vFuipp)
GO(glGetProgramPipelineiv, vFuup)
GO(glGetProgramResourceIndex, uFuup)
GO(glGetProgramResourceiv, vFuuuipipp)
GO(glGetProgramResourceLocation, iFuup)
GO(glGetProgramResourceName, vFuuuipp)
GO(glGetQueryiv, vFuup)
GO(glGetQueryObjectuiv, vFuup)
GO(glGetRenderbufferParameteriv, vFuup)
GO(glGetSamplerParameterfv, vFuup)
GO(glGetSamplerParameterIiv, vFuup)
GO(glGetSamplerParameterIuiv, vFuup)
GO(glGetSamplerParameteriv, vFuup)
GO(glGetShaderInfoLog, vFuipp)
GO(glGetShaderiv, vFuup)
GO(glGetShaderPrecisionFormat, vFuupp)
GO(glGetShaderSource, vFuipp)
GO(glGetString, pFu)
GO(glGetStringi, pFuu)
GO(glGetSynciv, vFpuipp)
GO(glGetTexLevelParameterfv, vFuiup)
GO(glGetTexLevelParameteriv, vFuiup)
GO(glGetTexParameterfv, vFuup)
GO(glGetTexParameterIiv, vFuup)
GO(glGetTexParameterIuiv, vFuup)
GO(glGetTexParameteriv, vFuup)
GO(glGetTransformFeedbackVarying, vFuuipppp)
GO(glGetUniformBlockIndex, uFup)
GO(glGetUniformfv, vFuip)
GO(glGetUniformIndices, vFuipp)
GO(glGetUniformiv, vFuip)
GO(glGetUniformLocation, iFup)
GO(glGetUniformuiv, vFuip)
GO(glGetVertexAttribfv, vFuup)
GO(glGetVertexAttribIiv, vFuup)
GO(glGetVertexAttribIuiv, vFuup)
GO(glGetVertexAttribiv, vFuup)
GO(glGetVertexAttribPointerv, vFuup)
GO(glHint, vFuu)
GO(glInvalidateFramebuffer, vFuip)
GO(glInvalidateSubFramebuffer, vFuipiiii)
GO(glIsBuffer, iFu)
GO(glIsEnabled, iFu)
GO(glIsEnabledi, iFuu)
GO(glIsFramebuffer, iFu)
GO(glIsProgram, iFu)
GO(glIsProgramPipeline, iFu)
GO(glIsQuery, iFu)
GO(glIsRenderbuffer, iFu)
GO(glIsSampler, iFu)
GO(glIsShader, iFu)
GO(glIsSync, CFp)
GO(glIsTexture, iFu)
GO(glIsTransformFeedback, iFu)
GO(glIsVertexArray, iFu)
GO(glLineWidth, vFf)
GO(glLinkProgram, vFu)
GO(glMapBufferRange, pFullu)
GO(glMemoryBarrier, vFi)
GO(glMemoryBarrierByRegion, vFu)
GO(glMinSampleShading, vFf)
GO(glObjectLabel, vFuuip)
GO(glObjectPtrLabel, vFpip)
GO(glPatchParameteri, vFui)
GO(glPauseTransformFeedback, vFv)
GO(glPixelStorei, vFui)
GO(glPolygonOffset, vFff)
GO(glPopDebugGroup, vFv)
GO(glPrimitiveBoundingBox, vFffffffff)
GO(glProgramBinary, vFuupi)
GO(glProgramParameteri, vFuui)
GO(glProgramUniform1f, vFuif)
GO(glProgramUniform1fv, vFuiip)
GO(glProgramUniform1i, vFuii)
GO(glProgramUniform1iv, vFuiip)
GO(glProgramUniform1ui, vFuiu)
GO(glProgramUniform1uiv, vFuiip)
GO(glProgramUniform2f, vFuiff)
GO(glProgramUniform2fv, vFuiip)
GO(glProgramUniform2i, vFuiii)
GO(glProgramUniform2iv, vFuiip)
GO(glProgramUniform2ui, vFuiuu)
GO(glProgramUniform2uiv, vFuiip)
GO(glProgramUniform3f, vFuifff)
GO(glProgramUniform3fv, vFuiip)
GO(glProgramUniform3i, vFuiiii)
GO(glProgramUniform3iv, vFuiip)
GO(glProgramUniform3ui, vFuiuuu)
GO(glProgramUniform3uiv, vFuiip)
GO(glProgramUniform4f, vFuiffff)
GO(glProgramUniform4fv, vFuiip)
GO(glProgramUniform4i, vFuiiiii)
GO(glProgramUniform4iv, vFuiip)
GO(glProgramUniform4ui, vFuiuuuu)
GO(glProgramUniform4uiv, vFuiip)
GO(glProgramUniformMatrix2fv, vFuiiip)
GO(glProgramUniformMatrix2x3fv, vFuiiip)
GO(glProgramUniformMatrix2x4fv, vFuiiip)
GO(glProgramUniformMatrix3fv, vFuiiip)
GO(glProgramUniformMatrix3x2fv, vFuiiip)
GO(glProgramUniformMatrix3x4fv, vFuiiip)
GO(glProgramUniformMatrix4fv, vFuiiip)
GO(glProgramUniformMatrix4x2fv, vFuiiip)
GO(glProgramUniformMatrix4x3fv, vFuiiip)
GO(glPushDebugGroup, vFuuip)
GO(glReadBuffer, vFu)
GO(glReadnPixels, vFiilluulp)
GO(glReadPixels, vFiiiiuup)
GO(glReleaseShaderCompiler, vFv)
GO(glRenderbufferStorage, vFuuii)
GO(glRenderbufferStorageMultisample, vFuiuii)
GO(glResumeTransformFeedback, vFv)
GO(glSampleCoverage, vFfi)
GO(glSampleMaski, vFui)
GO(glSamplerParameterf, vFuuf)
GO(glSamplerParameterfv, vFuup)
GO(glSamplerParameteri, vFuui)
GO(glSamplerParameterIiv, vFuup)
GO(glSamplerParameterIuiv, vFuup)
GO(glSamplerParameteriv, vFuup)
GO(glScissor, vFiiii)
GO(glShaderBinary, vFipupi)
GO(glShaderSource, vFuipp)
GO(glStencilFunc, vFuiu)
GO(glStencilFuncSeparate, vFuuiu)
GO(glStencilMask, vFu)
GO(glStencilMaskSeparate, vFuu)
GO(glStencilOp, vFuuu)
GO(glStencilOpSeparate, vFuuuu)
GO(glTexBuffer, vFuuu)
GO(glTexBufferRange, vFuuull)
GO(glTexImage2D, vFuiiiiiuup)
GO(glTexImage3D, vFuiiiiiiuup)
GO(glTexParameterf, vFuuf)
GO(glTexParameterfv, vFuup)
GO(glTexParameteri, vFuui)
GO(glTexParameterIiv, vFuup)
GO(glTexParameterIuiv, vFuup)
GO(glTexParameteriv, vFuup)
GO(glTexStorage2D, vFuiuii)
GO(glTexStorage2DMultisample, vFuiuiiC)
GO(glTexStorage3D, vFuiuiii)
GO(glTexStorage3DMultisample, vFuiuiiiC)
GO(glTexSubImage2D, vFuiiiiiuup)
GO(glTexSubImage3D, vFuiiiiiiiuup)
GO(glTransformFeedbackVaryings, vFuipu)
GO(glUniform1f, vFif)
GO(glUniform1fv, vFiip)
GO(glUniform1i, vFii)
GO(glUniform1iv, vFiip)
GO(glUniform1ui, vFiu)
GO(glUniform1uiv, vFiip)
GO(glUniform2f, vFiff)
GO(glUniform2fv, vFiip)
GO(glUniform2i, vFiii)
GO(glUniform2iv, vFiip)
GO(glUniform2ui, vFiuu)
GO(glUniform2uiv, vFiip)
GO(glUniform3f, vFifff)
GO(glUniform3fv, vFiip)
GO(glUniform3i, vFiiii)
GO(glUniform3iv, vFiip)
GO(glUniform3ui, vFiuuu)
GO(glUniform3uiv, vFiip)
GO(glUniform4f, vFiffff)
GO(glUniform4fv, vFiip)
GO(glUniform4i, vFiiiii)
GO(glUniform4iv, vFiip)
GO(glUniform4ui, vFiuuuu)
GO(glUniform4uiv, vFiip)
GO(glUniformBlockBinding, vFuuu)
GO(glUniformMatrix2fv, vFiiip)
GO(glUniformMatrix2x3fv, vFiiip)
GO(glUniformMatrix2x4fv, vFiiip)
GO(glUniformMatrix3fv, vFiiip)
GO(glUniformMatrix3x2fv, vFiiip)
GO(glUniformMatrix3x4fv, vFiiip)
GO(glUniformMatrix4fv, vFiiip)
GO(glUniformMatrix4x2fv, vFiiip)
GO(glUniformMatrix4x3fv, vFiiip)
GO(glUnmapBuffer, iFu)
GO(glUseProgram, vFu)
GO(glUseProgramStages, vFuuu)
GO(glValidateProgram, vFu)
GO(glValidateProgramPipeline, vFu)
GO(glVertexAttrib1f, vFuf)
GO(glVertexAttrib1fv, vFup)
GO(glVertexAttrib2f, vFuff)
GO(glVertexAttrib2fv, vFup)
GO(glVertexAttrib3f, vFufff)
GO(glVertexAttrib3fv, vFup)
GO(glVertexAttrib4f, vFuffff)
GO(glVertexAttrib4fv, vFup)
GO(glVertexAttribBinding, vFuu)
GO(glVertexAttribDivisor, vFuu)
GO(glVertexAttribFormat, vFuiuCu)
GO(glVertexAttribI4i, vFuiiii)
GO(glVertexAttribI4iv, vFup)
GO(glVertexAttribI4ui, vFuuuuu)
GO(glVertexAttribI4uiv, vFup)
GO(glVertexAttribIFormat, vFuiuu)
GO(glVertexAttribIPointer, vFuiuip)
GO(glVertexAttribPointer, vFuiuiip)
GO(glVertexBindingDivisor, vFuu)
GO(glViewport, vFiiii)
GO(glWaitSync, vFpuL)
