module lib.gl.funcs

Code Map

module lib.gl.funcs;


global GL_VERSION_1_0: bool;
global GL_VERSION_1_1: bool;
global GL_VERSION_1_2: bool;
global GL_VERSION_1_3: bool;
global GL_VERSION_1_4: bool;
global GL_VERSION_1_5: bool;
global GL_VERSION_2_0: bool;
global GL_VERSION_2_1: bool;
global GL_VERSION_3_0: bool;
global GL_VERSION_3_1: bool;
global GL_VERSION_3_2: bool;
global GL_VERSION_3_3: bool;
global GL_VERSION_4_0: bool;
global GL_VERSION_4_1: bool;
global GL_VERSION_4_2: bool;
global GL_VERSION_4_3: bool;
global GL_VERSION_4_4: bool;
global GL_VERSION_4_5: bool;
global GL_VERSION_4_6: bool;

fn glCullFace(GLenum);
fn glFrontFace(GLenum);
fn glHint(GLenum, GLenum);
fn glLineWidth(GLfloat);
fn glPointSize(GLfloat);
fn glPolygonMode(GLenum, GLenum);
fn glScissor(GLint, GLint, GLsizei, GLsizei);
fn glTexParameterf(GLenum, GLenum, GLfloat);
fn glTexParameterfv(GLenum, GLenum, const(GLfloat)*);
fn glTexParameteri(GLenum, GLenum, GLint);
fn glTexParameteriv(GLenum, GLenum, const(GLint)*);
fn glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const(void)*);
fn glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const(void)*);
fn glDrawBuffer(GLenum);
fn glClear(GLbitfield);
fn glClearColor(GLfloat, GLfloat, GLfloat, GLfloat);
fn glClearStencil(GLint);
fn glClearDepth(GLdouble);
fn glStencilMask(GLuint);
fn glColorMask(GLboolean, GLboolean, GLboolean, GLboolean);
fn glDepthMask(GLboolean);
fn glDisable(GLenum);
fn glEnable(GLenum);
fn glFinish();
fn glFlush();
fn glBlendFunc(GLenum, GLenum);
fn glLogicOp(GLenum);
fn glStencilFunc(GLenum, GLint, GLuint);
fn glStencilOp(GLenum, GLenum, GLenum);
fn glDepthFunc(GLenum);
fn glPixelStoref(GLenum, GLfloat);
fn glPixelStorei(GLenum, GLint);
fn glReadBuffer(GLenum);
fn glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void*);
fn glGetBooleanv(GLenum, GLboolean*);
fn glGetDoublev(GLenum, GLdouble*);
fn glGetError() GLenum;
fn glGetFloatv(GLenum, GLfloat*);
fn glGetIntegerv(GLenum, GLint*);
fn glGetString(GLenum) const(GLubyte)*;
fn glGetTexImage(GLenum, GLint, GLenum, GLenum, void*);
fn glGetTexParameterfv(GLenum, GLenum, GLfloat*);
fn glGetTexParameteriv(GLenum, GLenum, GLint*);
fn glGetTexLevelParameterfv(GLenum, GLint, GLenum, GLfloat*);
fn glGetTexLevelParameteriv(GLenum, GLint, GLenum, GLint*);
fn glIsEnabled(GLenum) GLboolean;
fn glDepthRange(GLdouble, GLdouble);
fn glViewport(GLint, GLint, GLsizei, GLsizei);
fn glDrawArrays(GLenum, GLint, GLsizei);
fn glDrawElements(GLenum, GLsizei, GLenum, const(void)*);
fn glPolygonOffset(GLfloat, GLfloat);
fn glCopyTexImage1D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
fn glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
fn glCopyTexSubImage1D(GLenum, GLint, GLint, GLint, GLint, GLsizei);
fn glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
fn glTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const(void)*);
fn glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
fn glBindTexture(GLenum, GLuint);
fn glDeleteTextures(GLsizei, const(GLuint)*);
fn glGenTextures(GLsizei, GLuint*);
fn glIsTexture(GLuint) GLboolean;
fn glDrawRangeElements(GLenum, GLuint, GLuint, GLsizei, GLenum, const(void)*);
fn glTexImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const(void)*);
fn glTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
fn glCopyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
fn glActiveTexture(GLenum);
fn glSampleCoverage(GLfloat, GLboolean);
fn glCompressedTexImage3D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const(void)*);
fn glCompressedTexImage2D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const(void)*);
fn glCompressedTexImage1D(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const(void)*);
fn glCompressedTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const(void)*);
fn glCompressedTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const(void)*);
fn glCompressedTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const(void)*);
fn glGetCompressedTexImage(GLenum, GLint, void*);
fn glBlendFuncSeparate(GLenum, GLenum, GLenum, GLenum);
fn glMultiDrawArrays(GLenum, const(GLint)*, const(GLsizei)*, GLsizei);
fn glMultiDrawElements(GLenum, const(GLsizei)*, GLenum, const(const(void)*)*, GLsizei);
fn glPointParameterf(GLenum, GLfloat);
fn glPointParameterfv(GLenum, const(GLfloat)*);
fn glPointParameteri(GLenum, GLint);
fn glPointParameteriv(GLenum, const(GLint)*);
fn glBlendColor(GLfloat, GLfloat, GLfloat, GLfloat);
fn glBlendEquation(GLenum);
fn glGenQueries(GLsizei, GLuint*);
fn glDeleteQueries(GLsizei, const(GLuint)*);
fn glIsQuery(GLuint) GLboolean;
fn glBeginQuery(GLenum, GLuint);
fn glEndQuery(GLenum);
fn glGetQueryiv(GLenum, GLenum, GLint*);
fn glGetQueryObjectiv(GLuint, GLenum, GLint*);
fn glGetQueryObjectuiv(GLuint, GLenum, GLuint*);
fn glBindBuffer(GLenum, GLuint);
fn glDeleteBuffers(GLsizei, const(GLuint)*);
fn glGenBuffers(GLsizei, GLuint*);
fn glIsBuffer(GLuint) GLboolean;
fn glBufferData(GLenum, GLsizeiptr, const(void)*, GLenum);
fn glBufferSubData(GLenum, GLintptr, GLsizeiptr, const(void)*);
fn glGetBufferSubData(GLenum, GLintptr, GLsizeiptr, void*);
fn glMapBuffer(GLenum, GLenum) void*;
fn glUnmapBuffer(GLenum) GLboolean;
fn glGetBufferParameteriv(GLenum, GLenum, GLint*);
fn glGetBufferPointerv(GLenum, GLenum, void**);
fn glBlendEquationSeparate(GLenum, GLenum);
fn glDrawBuffers(GLsizei, const(GLenum)*);
fn glStencilOpSeparate(GLenum, GLenum, GLenum, GLenum);
fn glStencilFuncSeparate(GLenum, GLenum, GLint, GLuint);
fn glStencilMaskSeparate(GLenum, GLuint);
fn glAttachShader(GLuint, GLuint);
fn glBindAttribLocation(GLuint, GLuint, const(GLchar)*);
fn glCompileShader(GLuint);
fn glCreateProgram() GLuint;
fn glCreateShader(GLenum) GLuint;
fn glDeleteProgram(GLuint);
fn glDeleteShader(GLuint);
fn glDetachShader(GLuint, GLuint);
fn glDisableVertexAttribArray(GLuint);
fn glEnableVertexAttribArray(GLuint);
fn glGetActiveAttrib(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
fn glGetActiveUniform(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
fn glGetAttachedShaders(GLuint, GLsizei, GLsizei*, GLuint*);
fn glGetAttribLocation(GLuint, const(GLchar)*) GLint;
fn glGetProgramiv(GLuint, GLenum, GLint*);
fn glGetProgramInfoLog(GLuint, GLsizei, GLsizei*, GLchar*);
fn glGetShaderiv(GLuint, GLenum, GLint*);
fn glGetShaderInfoLog(GLuint, GLsizei, GLsizei*, GLchar*);
fn glGetShaderSource(GLuint, GLsizei, GLsizei*, GLchar*);
fn glGetUniformLocation(GLuint, const(GLchar)*) GLint;
fn glGetUniformfv(GLuint, GLint, GLfloat*);
fn glGetUniformiv(GLuint, GLint, GLint*);
fn glGetVertexAttribdv(GLuint, GLenum, GLdouble*);
fn glGetVertexAttribfv(GLuint, GLenum, GLfloat*);
fn glGetVertexAttribiv(GLuint, GLenum, GLint*);
fn glGetVertexAttribPointerv(GLuint, GLenum, void**);
fn glIsProgram(GLuint) GLboolean;
fn glIsShader(GLuint) GLboolean;
fn glLinkProgram(GLuint);
fn glShaderSource(GLuint, GLsizei, const(const(GLchar)*)*, const(GLint)*);
fn glUseProgram(GLuint);
fn glUniform1f(GLint, GLfloat);
fn glUniform2f(GLint, GLfloat, GLfloat);
fn glUniform3f(GLint, GLfloat, GLfloat, GLfloat);
fn glUniform4f(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
fn glUniform1i(GLint, GLint);
fn glUniform2i(GLint, GLint, GLint);
fn glUniform3i(GLint, GLint, GLint, GLint);
fn glUniform4i(GLint, GLint, GLint, GLint, GLint);
fn glUniform1fv(GLint, GLsizei, const(GLfloat)*);
fn glUniform2fv(GLint, GLsizei, const(GLfloat)*);
fn glUniform3fv(GLint, GLsizei, const(GLfloat)*);
fn glUniform4fv(GLint, GLsizei, const(GLfloat)*);
fn glUniform1iv(GLint, GLsizei, const(GLint)*);
fn glUniform2iv(GLint, GLsizei, const(GLint)*);
fn glUniform3iv(GLint, GLsizei, const(GLint)*);
fn glUniform4iv(GLint, GLsizei, const(GLint)*);
fn glUniformMatrix2fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glUniformMatrix3fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glUniformMatrix4fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glValidateProgram(GLuint);
fn glVertexAttrib1d(GLuint, GLdouble);
fn glVertexAttrib1dv(GLuint, const(GLdouble)*);
fn glVertexAttrib1f(GLuint, GLfloat);
fn glVertexAttrib1fv(GLuint, const(GLfloat)*);
fn glVertexAttrib1s(GLuint, GLshort);
fn glVertexAttrib1sv(GLuint, const(GLshort)*);
fn glVertexAttrib2d(GLuint, GLdouble, GLdouble);
fn glVertexAttrib2dv(GLuint, const(GLdouble)*);
fn glVertexAttrib2f(GLuint, GLfloat, GLfloat);
fn glVertexAttrib2fv(GLuint, const(GLfloat)*);
fn glVertexAttrib2s(GLuint, GLshort, GLshort);
fn glVertexAttrib2sv(GLuint, const(GLshort)*);
fn glVertexAttrib3d(GLuint, GLdouble, GLdouble, GLdouble);
fn glVertexAttrib3dv(GLuint, const(GLdouble)*);
fn glVertexAttrib3f(GLuint, GLfloat, GLfloat, GLfloat);
fn glVertexAttrib3fv(GLuint, const(GLfloat)*);
fn glVertexAttrib3s(GLuint, GLshort, GLshort, GLshort);
fn glVertexAttrib3sv(GLuint, const(GLshort)*);
fn glVertexAttrib4Nbv(GLuint, const(GLbyte)*);
fn glVertexAttrib4Niv(GLuint, const(GLint)*);
fn glVertexAttrib4Nsv(GLuint, const(GLshort)*);
fn glVertexAttrib4Nub(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
fn glVertexAttrib4Nubv(GLuint, const(GLubyte)*);
fn glVertexAttrib4Nuiv(GLuint, const(GLuint)*);
fn glVertexAttrib4Nusv(GLuint, const(GLushort)*);
fn glVertexAttrib4bv(GLuint, const(GLbyte)*);
fn glVertexAttrib4d(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
fn glVertexAttrib4dv(GLuint, const(GLdouble)*);
fn glVertexAttrib4f(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
fn glVertexAttrib4fv(GLuint, const(GLfloat)*);
fn glVertexAttrib4iv(GLuint, const(GLint)*);
fn glVertexAttrib4s(GLuint, GLshort, GLshort, GLshort, GLshort);
fn glVertexAttrib4sv(GLuint, const(GLshort)*);
fn glVertexAttrib4ubv(GLuint, const(GLubyte)*);
fn glVertexAttrib4uiv(GLuint, const(GLuint)*);
fn glVertexAttrib4usv(GLuint, const(GLushort)*);
fn glVertexAttribPointer(GLuint, GLint, GLenum, GLboolean, GLsizei, const(void)*);
fn glUniformMatrix2x3fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glUniformMatrix3x2fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glUniformMatrix2x4fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glUniformMatrix4x2fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glUniformMatrix3x4fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glUniformMatrix4x3fv(GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glColorMaski(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
fn glGetBooleani_v(GLenum, GLuint, GLboolean*);
fn glGetIntegeri_v(GLenum, GLuint, GLint*);
fn glEnablei(GLenum, GLuint);
fn glDisablei(GLenum, GLuint);
fn glIsEnabledi(GLenum, GLuint) GLboolean;
fn glBeginTransformFeedback(GLenum);
fn glEndTransformFeedback();
fn glBindBufferRange(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
fn glBindBufferBase(GLenum, GLuint, GLuint);
fn glTransformFeedbackVaryings(GLuint, GLsizei, const(const(GLchar)*)*, GLenum);
fn glGetTransformFeedbackVarying(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*);
fn glClampColor(GLenum, GLenum);
fn glBeginConditionalRender(GLuint, GLenum);
fn glEndConditionalRender();
fn glVertexAttribIPointer(GLuint, GLint, GLenum, GLsizei, const(void)*);
fn glGetVertexAttribIiv(GLuint, GLenum, GLint*);
fn glGetVertexAttribIuiv(GLuint, GLenum, GLuint*);
fn glVertexAttribI1i(GLuint, GLint);
fn glVertexAttribI2i(GLuint, GLint, GLint);
fn glVertexAttribI3i(GLuint, GLint, GLint, GLint);
fn glVertexAttribI4i(GLuint, GLint, GLint, GLint, GLint);
fn glVertexAttribI1ui(GLuint, GLuint);
fn glVertexAttribI2ui(GLuint, GLuint, GLuint);
fn glVertexAttribI3ui(GLuint, GLuint, GLuint, GLuint);
fn glVertexAttribI4ui(GLuint, GLuint, GLuint, GLuint, GLuint);
fn glVertexAttribI1iv(GLuint, const(GLint)*);
fn glVertexAttribI2iv(GLuint, const(GLint)*);
fn glVertexAttribI3iv(GLuint, const(GLint)*);
fn glVertexAttribI4iv(GLuint, const(GLint)*);
fn glVertexAttribI1uiv(GLuint, const(GLuint)*);
fn glVertexAttribI2uiv(GLuint, const(GLuint)*);
fn glVertexAttribI3uiv(GLuint, const(GLuint)*);
fn glVertexAttribI4uiv(GLuint, const(GLuint)*);
fn glVertexAttribI4bv(GLuint, const(GLbyte)*);
fn glVertexAttribI4sv(GLuint, const(GLshort)*);
fn glVertexAttribI4ubv(GLuint, const(GLubyte)*);
fn glVertexAttribI4usv(GLuint, const(GLushort)*);
fn glGetUniformuiv(GLuint, GLint, GLuint*);
fn glBindFragDataLocation(GLuint, GLuint, const(GLchar)*);
fn glGetFragDataLocation(GLuint, const(GLchar)*) GLint;
fn glUniform1ui(GLint, GLuint);
fn glUniform2ui(GLint, GLuint, GLuint);
fn glUniform3ui(GLint, GLuint, GLuint, GLuint);
fn glUniform4ui(GLint, GLuint, GLuint, GLuint, GLuint);
fn glUniform1uiv(GLint, GLsizei, const(GLuint)*);
fn glUniform2uiv(GLint, GLsizei, const(GLuint)*);
fn glUniform3uiv(GLint, GLsizei, const(GLuint)*);
fn glUniform4uiv(GLint, GLsizei, const(GLuint)*);
fn glTexParameterIiv(GLenum, GLenum, const(GLint)*);
fn glTexParameterIuiv(GLenum, GLenum, const(GLuint)*);
fn glGetTexParameterIiv(GLenum, GLenum, GLint*);
fn glGetTexParameterIuiv(GLenum, GLenum, GLuint*);
fn glClearBufferiv(GLenum, GLint, const(GLint)*);
fn glClearBufferuiv(GLenum, GLint, const(GLuint)*);
fn glClearBufferfv(GLenum, GLint, const(GLfloat)*);
fn glClearBufferfi(GLenum, GLint, GLfloat, GLint);
fn glGetStringi(GLenum, GLuint) const(GLubyte)*;
fn glIsRenderbuffer(GLuint) GLboolean;
fn glBindRenderbuffer(GLenum, GLuint);
fn glDeleteRenderbuffers(GLsizei, const(GLuint)*);
fn glGenRenderbuffers(GLsizei, GLuint*);
fn glRenderbufferStorage(GLenum, GLenum, GLsizei, GLsizei);
fn glGetRenderbufferParameteriv(GLenum, GLenum, GLint*);
fn glIsFramebuffer(GLuint) GLboolean;
fn glBindFramebuffer(GLenum, GLuint);
fn glDeleteFramebuffers(GLsizei, const(GLuint)*);
fn glGenFramebuffers(GLsizei, GLuint*);
fn glCheckFramebufferStatus(GLenum) GLenum;
fn glFramebufferTexture1D(GLenum, GLenum, GLenum, GLuint, GLint);
fn glFramebufferTexture2D(GLenum, GLenum, GLenum, GLuint, GLint);
fn glFramebufferTexture3D(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
fn glFramebufferRenderbuffer(GLenum, GLenum, GLenum, GLuint);
fn glGetFramebufferAttachmentParameteriv(GLenum, GLenum, GLenum, GLint*);
fn glGenerateMipmap(GLenum);
fn glBlitFramebuffer(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
fn glRenderbufferStorageMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
fn glFramebufferTextureLayer(GLenum, GLenum, GLuint, GLint, GLint);
fn glMapBufferRange(GLenum, GLintptr, GLsizeiptr, GLbitfield) void*;
fn glFlushMappedBufferRange(GLenum, GLintptr, GLsizeiptr);
fn glBindVertexArray(GLuint);
fn glDeleteVertexArrays(GLsizei, const(GLuint)*);
fn glGenVertexArrays(GLsizei, GLuint*);
fn glIsVertexArray(GLuint) GLboolean;
fn glDrawArraysInstanced(GLenum, GLint, GLsizei, GLsizei);
fn glDrawElementsInstanced(GLenum, GLsizei, GLenum, const(void)*, GLsizei);
fn glTexBuffer(GLenum, GLenum, GLuint);
fn glPrimitiveRestartIndex(GLuint);
fn glCopyBufferSubData(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
fn glGetUniformIndices(GLuint, GLsizei, const(const(GLchar)*)*, GLuint*);
fn glGetActiveUniformsiv(GLuint, GLsizei, const(GLuint)*, GLenum, GLint*);
fn glGetActiveUniformName(GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
fn glGetUniformBlockIndex(GLuint, const(GLchar)*) GLuint;
fn glGetActiveUniformBlockiv(GLuint, GLuint, GLenum, GLint*);
fn glGetActiveUniformBlockName(GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
fn glUniformBlockBinding(GLuint, GLuint, GLuint);
fn glDrawElementsBaseVertex(GLenum, GLsizei, GLenum, const(void)*, GLint);
fn glDrawRangeElementsBaseVertex(GLenum, GLuint, GLuint, GLsizei, GLenum, const(void)*, GLint);
fn glDrawElementsInstancedBaseVertex(GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLint);
fn glMultiDrawElementsBaseVertex(GLenum, const(GLsizei)*, GLenum, const(const(void)*)*, GLsizei, const(GLint)*);
fn glProvokingVertex(GLenum);
fn glFenceSync(GLenum, GLbitfield) GLsync;
fn glIsSync(GLsync) GLboolean;
fn glDeleteSync(GLsync);
fn glClientWaitSync(GLsync, GLbitfield, GLuint64) GLenum;
fn glWaitSync(GLsync, GLbitfield, GLuint64);
fn glGetInteger64v(GLenum, GLint64*);
fn glGetSynciv(GLsync, GLenum, GLsizei, GLsizei*, GLint*);
fn glGetInteger64i_v(GLenum, GLuint, GLint64*);
fn glGetBufferParameteri64v(GLenum, GLenum, GLint64*);
fn glFramebufferTexture(GLenum, GLenum, GLuint, GLint);
fn glTexImage2DMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
fn glTexImage3DMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
fn glGetMultisamplefv(GLenum, GLuint, GLfloat*);
fn glSampleMaski(GLuint, GLbitfield);
fn glBindFragDataLocationIndexed(GLuint, GLuint, GLuint, const(GLchar)*);
fn glGetFragDataIndex(GLuint, const(GLchar)*) GLint;
fn glGenSamplers(GLsizei, GLuint*);
fn glDeleteSamplers(GLsizei, const(GLuint)*);
fn glIsSampler(GLuint) GLboolean;
fn glBindSampler(GLuint, GLuint);
fn glSamplerParameteri(GLuint, GLenum, GLint);
fn glSamplerParameteriv(GLuint, GLenum, const(GLint)*);
fn glSamplerParameterf(GLuint, GLenum, GLfloat);
fn glSamplerParameterfv(GLuint, GLenum, const(GLfloat)*);
fn glSamplerParameterIiv(GLuint, GLenum, const(GLint)*);
fn glSamplerParameterIuiv(GLuint, GLenum, const(GLuint)*);
fn glGetSamplerParameteriv(GLuint, GLenum, GLint*);
fn glGetSamplerParameterIiv(GLuint, GLenum, GLint*);
fn glGetSamplerParameterfv(GLuint, GLenum, GLfloat*);
fn glGetSamplerParameterIuiv(GLuint, GLenum, GLuint*);
fn glQueryCounter(GLuint, GLenum);
fn glGetQueryObjecti64v(GLuint, GLenum, GLint64*);
fn glGetQueryObjectui64v(GLuint, GLenum, GLuint64*);
fn glVertexAttribDivisor(GLuint, GLuint);
fn glVertexAttribP1ui(GLuint, GLenum, GLboolean, GLuint);
fn glVertexAttribP1uiv(GLuint, GLenum, GLboolean, const(GLuint)*);
fn glVertexAttribP2ui(GLuint, GLenum, GLboolean, GLuint);
fn glVertexAttribP2uiv(GLuint, GLenum, GLboolean, const(GLuint)*);
fn glVertexAttribP3ui(GLuint, GLenum, GLboolean, GLuint);
fn glVertexAttribP3uiv(GLuint, GLenum, GLboolean, const(GLuint)*);
fn glVertexAttribP4ui(GLuint, GLenum, GLboolean, GLuint);
fn glVertexAttribP4uiv(GLuint, GLenum, GLboolean, const(GLuint)*);
fn glVertexP2ui(GLenum, GLuint);
fn glVertexP2uiv(GLenum, const(GLuint)*);
fn glVertexP3ui(GLenum, GLuint);
fn glVertexP3uiv(GLenum, const(GLuint)*);
fn glVertexP4ui(GLenum, GLuint);
fn glVertexP4uiv(GLenum, const(GLuint)*);
fn glTexCoordP1ui(GLenum, GLuint);
fn glTexCoordP1uiv(GLenum, const(GLuint)*);
fn glTexCoordP2ui(GLenum, GLuint);
fn glTexCoordP2uiv(GLenum, const(GLuint)*);
fn glTexCoordP3ui(GLenum, GLuint);
fn glTexCoordP3uiv(GLenum, const(GLuint)*);
fn glTexCoordP4ui(GLenum, GLuint);
fn glTexCoordP4uiv(GLenum, const(GLuint)*);
fn glMultiTexCoordP1ui(GLenum, GLenum, GLuint);
fn glMultiTexCoordP1uiv(GLenum, GLenum, const(GLuint)*);
fn glMultiTexCoordP2ui(GLenum, GLenum, GLuint);
fn glMultiTexCoordP2uiv(GLenum, GLenum, const(GLuint)*);
fn glMultiTexCoordP3ui(GLenum, GLenum, GLuint);
fn glMultiTexCoordP3uiv(GLenum, GLenum, const(GLuint)*);
fn glMultiTexCoordP4ui(GLenum, GLenum, GLuint);
fn glMultiTexCoordP4uiv(GLenum, GLenum, const(GLuint)*);
fn glNormalP3ui(GLenum, GLuint);
fn glNormalP3uiv(GLenum, const(GLuint)*);
fn glColorP3ui(GLenum, GLuint);
fn glColorP3uiv(GLenum, const(GLuint)*);
fn glColorP4ui(GLenum, GLuint);
fn glColorP4uiv(GLenum, const(GLuint)*);
fn glSecondaryColorP3ui(GLenum, GLuint);
fn glSecondaryColorP3uiv(GLenum, const(GLuint)*);
fn glMinSampleShading(GLfloat);
fn glBlendEquationi(GLuint, GLenum);
fn glBlendEquationSeparatei(GLuint, GLenum, GLenum);
fn glBlendFunci(GLuint, GLenum, GLenum);
fn glBlendFuncSeparatei(GLuint, GLenum, GLenum, GLenum, GLenum);
fn glDrawArraysIndirect(GLenum, const(void)*);
fn glDrawElementsIndirect(GLenum, GLenum, const(void)*);
fn glUniform1d(GLint, GLdouble);
fn glUniform2d(GLint, GLdouble, GLdouble);
fn glUniform3d(GLint, GLdouble, GLdouble, GLdouble);
fn glUniform4d(GLint, GLdouble, GLdouble, GLdouble, GLdouble);
fn glUniform1dv(GLint, GLsizei, const(GLdouble)*);
fn glUniform2dv(GLint, GLsizei, const(GLdouble)*);
fn glUniform3dv(GLint, GLsizei, const(GLdouble)*);
fn glUniform4dv(GLint, GLsizei, const(GLdouble)*);
fn glUniformMatrix2dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix3dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix4dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix2x3dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix2x4dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix3x2dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix3x4dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix4x2dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glUniformMatrix4x3dv(GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glGetUniformdv(GLuint, GLint, GLdouble*);
fn glGetSubroutineUniformLocation(GLuint, GLenum, const(GLchar)*) GLint;
fn glGetSubroutineIndex(GLuint, GLenum, const(GLchar)*) GLuint;
fn glGetActiveSubroutineUniformiv(GLuint, GLenum, GLuint, GLenum, GLint*);
fn glGetActiveSubroutineUniformName(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
fn glGetActiveSubroutineName(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
fn glUniformSubroutinesuiv(GLenum, GLsizei, const(GLuint)*);
fn glGetUniformSubroutineuiv(GLenum, GLint, GLuint*);
fn glGetProgramStageiv(GLuint, GLenum, GLenum, GLint*);
fn glPatchParameteri(GLenum, GLint);
fn glPatchParameterfv(GLenum, const(GLfloat)*);
fn glBindTransformFeedback(GLenum, GLuint);
fn glDeleteTransformFeedbacks(GLsizei, const(GLuint)*);
fn glGenTransformFeedbacks(GLsizei, GLuint*);
fn glIsTransformFeedback(GLuint) GLboolean;
fn glPauseTransformFeedback();
fn glResumeTransformFeedback();
fn glDrawTransformFeedback(GLenum, GLuint);
fn glDrawTransformFeedbackStream(GLenum, GLuint, GLuint);
fn glBeginQueryIndexed(GLenum, GLuint, GLuint);
fn glEndQueryIndexed(GLenum, GLuint);
fn glGetQueryIndexediv(GLenum, GLuint, GLenum, GLint*);
fn glReleaseShaderCompiler();
fn glShaderBinary(GLsizei, const(GLuint)*, GLenum, const(void)*, GLsizei);
fn glGetShaderPrecisionFormat(GLenum, GLenum, GLint*, GLint*);
fn glDepthRangef(GLfloat, GLfloat);
fn glClearDepthf(GLfloat);
fn glGetProgramBinary(GLuint, GLsizei, GLsizei*, GLenum*, void*);
fn glProgramBinary(GLuint, GLenum, const(void)*, GLsizei);
fn glProgramParameteri(GLuint, GLenum, GLint);
fn glUseProgramStages(GLuint, GLbitfield, GLuint);
fn glActiveShaderProgram(GLuint, GLuint);
fn glCreateShaderProgramv(GLenum, GLsizei, const(const(GLchar)*)*) GLuint;
fn glBindProgramPipeline(GLuint);
fn glDeleteProgramPipelines(GLsizei, const(GLuint)*);
fn glGenProgramPipelines(GLsizei, GLuint*);
fn glIsProgramPipeline(GLuint) GLboolean;
fn glGetProgramPipelineiv(GLuint, GLenum, GLint*);
fn glProgramUniform1i(GLuint, GLint, GLint);
fn glProgramUniform1iv(GLuint, GLint, GLsizei, const(GLint)*);
fn glProgramUniform1f(GLuint, GLint, GLfloat);
fn glProgramUniform1fv(GLuint, GLint, GLsizei, const(GLfloat)*);
fn glProgramUniform1d(GLuint, GLint, GLdouble);
fn glProgramUniform1dv(GLuint, GLint, GLsizei, const(GLdouble)*);
fn glProgramUniform1ui(GLuint, GLint, GLuint);
fn glProgramUniform1uiv(GLuint, GLint, GLsizei, const(GLuint)*);
fn glProgramUniform2i(GLuint, GLint, GLint, GLint);
fn glProgramUniform2iv(GLuint, GLint, GLsizei, const(GLint)*);
fn glProgramUniform2f(GLuint, GLint, GLfloat, GLfloat);
fn glProgramUniform2fv(GLuint, GLint, GLsizei, const(GLfloat)*);
fn glProgramUniform2d(GLuint, GLint, GLdouble, GLdouble);
fn glProgramUniform2dv(GLuint, GLint, GLsizei, const(GLdouble)*);
fn glProgramUniform2ui(GLuint, GLint, GLuint, GLuint);
fn glProgramUniform2uiv(GLuint, GLint, GLsizei, const(GLuint)*);
fn glProgramUniform3i(GLuint, GLint, GLint, GLint, GLint);
fn glProgramUniform3iv(GLuint, GLint, GLsizei, const(GLint)*);
fn glProgramUniform3f(GLuint, GLint, GLfloat, GLfloat, GLfloat);
fn glProgramUniform3fv(GLuint, GLint, GLsizei, const(GLfloat)*);
fn glProgramUniform3d(GLuint, GLint, GLdouble, GLdouble, GLdouble);
fn glProgramUniform3dv(GLuint, GLint, GLsizei, const(GLdouble)*);
fn glProgramUniform3ui(GLuint, GLint, GLuint, GLuint, GLuint);
fn glProgramUniform3uiv(GLuint, GLint, GLsizei, const(GLuint)*);
fn glProgramUniform4i(GLuint, GLint, GLint, GLint, GLint, GLint);
fn glProgramUniform4iv(GLuint, GLint, GLsizei, const(GLint)*);
fn glProgramUniform4f(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
fn glProgramUniform4fv(GLuint, GLint, GLsizei, const(GLfloat)*);
fn glProgramUniform4d(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
fn glProgramUniform4dv(GLuint, GLint, GLsizei, const(GLdouble)*);
fn glProgramUniform4ui(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
fn glProgramUniform4uiv(GLuint, GLint, GLsizei, const(GLuint)*);
fn glProgramUniformMatrix2fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix3fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix4fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix2dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix3dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix4dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix2x3fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix3x2fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix2x4fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix4x2fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix3x4fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix4x3fv(GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
fn glProgramUniformMatrix2x3dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix3x2dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix2x4dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix4x2dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix3x4dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glProgramUniformMatrix4x3dv(GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
fn glValidateProgramPipeline(GLuint);
fn glGetProgramPipelineInfoLog(GLuint, GLsizei, GLsizei*, GLchar*);
fn glVertexAttribL1d(GLuint, GLdouble);
fn glVertexAttribL2d(GLuint, GLdouble, GLdouble);
fn glVertexAttribL3d(GLuint, GLdouble, GLdouble, GLdouble);
fn glVertexAttribL4d(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
fn glVertexAttribL1dv(GLuint, const(GLdouble)*);
fn glVertexAttribL2dv(GLuint, const(GLdouble)*);
fn glVertexAttribL3dv(GLuint, const(GLdouble)*);
fn glVertexAttribL4dv(GLuint, const(GLdouble)*);
fn glVertexAttribLPointer(GLuint, GLint, GLenum, GLsizei, const(void)*);
fn glGetVertexAttribLdv(GLuint, GLenum, GLdouble*);
fn glViewportArrayv(GLuint, GLsizei, const(GLfloat)*);
fn glViewportIndexedf(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
fn glViewportIndexedfv(GLuint, const(GLfloat)*);
fn glScissorArrayv(GLuint, GLsizei, const(GLint)*);
fn glScissorIndexed(GLuint, GLint, GLint, GLsizei, GLsizei);
fn glScissorIndexedv(GLuint, const(GLint)*);
fn glDepthRangeArrayv(GLuint, GLsizei, const(GLdouble)*);
fn glDepthRangeIndexed(GLuint, GLdouble, GLdouble);
fn glGetFloati_v(GLenum, GLuint, GLfloat*);
fn glGetDoublei_v(GLenum, GLuint, GLdouble*);
fn glDrawArraysInstancedBaseInstance(GLenum, GLint, GLsizei, GLsizei, GLuint);
fn glDrawElementsInstancedBaseInstance(GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLuint);
fn glDrawElementsInstancedBaseVertexBaseInstance(GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLint, GLuint);
fn glGetInternalformativ(GLenum, GLenum, GLenum, GLsizei, GLint*);
fn glGetActiveAtomicCounterBufferiv(GLuint, GLuint, GLenum, GLint*);
fn glBindImageTexture(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum);
fn glMemoryBarrier(GLbitfield);
fn glTexStorage1D(GLenum, GLsizei, GLenum, GLsizei);
fn glTexStorage2D(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
fn glTexStorage3D(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
fn glDrawTransformFeedbackInstanced(GLenum, GLuint, GLsizei);
fn glDrawTransformFeedbackStreamInstanced(GLenum, GLuint, GLuint, GLsizei);
fn glClearBufferData(GLenum, GLenum, GLenum, GLenum, const(void)*);
fn glClearBufferSubData(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const(void)*);
fn glDispatchCompute(GLuint, GLuint, GLuint);
fn glDispatchComputeIndirect(GLintptr);
fn glCopyImageSubData(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
fn glFramebufferParameteri(GLenum, GLenum, GLint);
fn glGetFramebufferParameteriv(GLenum, GLenum, GLint*);
fn glGetInternalformati64v(GLenum, GLenum, GLenum, GLsizei, GLint64*);
fn glInvalidateTexSubImage(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
fn glInvalidateTexImage(GLuint, GLint);
fn glInvalidateBufferSubData(GLuint, GLintptr, GLsizeiptr);
fn glInvalidateBufferData(GLuint);
fn glInvalidateFramebuffer(GLenum, GLsizei, const(GLenum)*);
fn glInvalidateSubFramebuffer(GLenum, GLsizei, const(GLenum)*, GLint, GLint, GLsizei, GLsizei);
fn glMultiDrawArraysIndirect(GLenum, const(void)*, GLsizei, GLsizei);
fn glMultiDrawElementsIndirect(GLenum, GLenum, const(void)*, GLsizei, GLsizei);
fn glGetProgramInterfaceiv(GLuint, GLenum, GLenum, GLint*);
fn glGetProgramResourceIndex(GLuint, GLenum, const(GLchar)*) GLuint;
fn glGetProgramResourceName(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
fn glGetProgramResourceiv(GLuint, GLenum, GLuint, GLsizei, const(GLenum)*, GLsizei, GLsizei*, GLint*);
fn glGetProgramResourceLocation(GLuint, GLenum, const(GLchar)*) GLint;
fn glGetProgramResourceLocationIndex(GLuint, GLenum, const(GLchar)*) GLint;
fn glShaderStorageBlockBinding(GLuint, GLuint, GLuint);
fn glTexBufferRange(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
fn glTexStorage2DMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
fn glTexStorage3DMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
fn glTextureView(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint);
fn glBindVertexBuffer(GLuint, GLuint, GLintptr, GLsizei);
fn glVertexAttribFormat(GLuint, GLint, GLenum, GLboolean, GLuint);
fn glVertexAttribIFormat(GLuint, GLint, GLenum, GLuint);
fn glVertexAttribLFormat(GLuint, GLint, GLenum, GLuint);
fn glVertexAttribBinding(GLuint, GLuint);
fn glVertexBindingDivisor(GLuint, GLuint);
fn glDebugMessageControl(GLenum, GLenum, GLenum, GLsizei, const(GLuint)*, GLboolean);
fn glDebugMessageInsert(GLenum, GLenum, GLuint, GLenum, GLsizei, const(GLchar)*);
fn glDebugMessageCallback(GLDEBUGPROC, const(void)*);
fn glGetDebugMessageLog(GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*) GLuint;
fn glPushDebugGroup(GLenum, GLuint, GLsizei, const(GLchar)*);
fn glPopDebugGroup();
fn glObjectLabel(GLenum, GLuint, GLsizei, const(GLchar)*);
fn glGetObjectLabel(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
fn glObjectPtrLabel(const(void)*, GLsizei, const(GLchar)*);
fn glGetObjectPtrLabel(const(void)*, GLsizei, GLsizei*, GLchar*);
fn glBufferStorage(GLenum, GLsizeiptr, const(void)*, GLbitfield);
fn glClearTexImage(GLuint, GLint, GLenum, GLenum, const(void)*);
fn glClearTexSubImage(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
fn glBindBuffersBase(GLenum, GLuint, GLsizei, const(GLuint)*);
fn glBindBuffersRange(GLenum, GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizeiptr)*);
fn glBindTextures(GLuint, GLsizei, const(GLuint)*);
fn glBindSamplers(GLuint, GLsizei, const(GLuint)*);
fn glBindImageTextures(GLuint, GLsizei, const(GLuint)*);
fn glBindVertexBuffers(GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizei)*);
fn glClipControl(GLenum, GLenum);
fn glCreateTransformFeedbacks(GLsizei, GLuint*);
fn glTransformFeedbackBufferBase(GLuint, GLuint, GLuint);
fn glTransformFeedbackBufferRange(GLuint, GLuint, GLuint, GLintptr, GLsizeiptr);
fn glGetTransformFeedbackiv(GLuint, GLenum, GLint*);
fn glGetTransformFeedbacki_v(GLuint, GLenum, GLuint, GLint*);
fn glGetTransformFeedbacki64_v(GLuint, GLenum, GLuint, GLint64*);
fn glCreateBuffers(GLsizei, GLuint*);
fn glNamedBufferStorage(GLuint, GLsizeiptr, const(void)*, GLbitfield);
fn glNamedBufferData(GLuint, GLsizeiptr, const(void)*, GLenum);
fn glNamedBufferSubData(GLuint, GLintptr, GLsizeiptr, const(void)*);
fn glCopyNamedBufferSubData(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr);
fn glClearNamedBufferData(GLuint, GLenum, GLenum, GLenum, const(void)*);
fn glClearNamedBufferSubData(GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const(void)*);
fn glMapNamedBuffer(GLuint, GLenum) void*;
fn glMapNamedBufferRange(GLuint, GLintptr, GLsizeiptr, GLbitfield) void*;
fn glUnmapNamedBuffer(GLuint) GLboolean;
fn glFlushMappedNamedBufferRange(GLuint, GLintptr, GLsizeiptr);
fn glGetNamedBufferParameteriv(GLuint, GLenum, GLint*);
fn glGetNamedBufferParameteri64v(GLuint, GLenum, GLint64*);
fn glGetNamedBufferPointerv(GLuint, GLenum, void**);
fn glGetNamedBufferSubData(GLuint, GLintptr, GLsizeiptr, void*);
fn glCreateFramebuffers(GLsizei, GLuint*);
fn glNamedFramebufferRenderbuffer(GLuint, GLenum, GLenum, GLuint);
fn glNamedFramebufferParameteri(GLuint, GLenum, GLint);
fn glNamedFramebufferTexture(GLuint, GLenum, GLuint, GLint);
fn glNamedFramebufferTextureLayer(GLuint, GLenum, GLuint, GLint, GLint);
fn glNamedFramebufferDrawBuffer(GLuint, GLenum);
fn glNamedFramebufferDrawBuffers(GLuint, GLsizei, const(GLenum)*);
fn glNamedFramebufferReadBuffer(GLuint, GLenum);
fn glInvalidateNamedFramebufferData(GLuint, GLsizei, const(GLenum)*);
fn glInvalidateNamedFramebufferSubData(GLuint, GLsizei, const(GLenum)*, GLint, GLint, GLsizei, GLsizei);
fn glClearNamedFramebufferiv(GLuint, GLenum, GLint, const(GLint)*);
fn glClearNamedFramebufferuiv(GLuint, GLenum, GLint, const(GLuint)*);
fn glClearNamedFramebufferfv(GLuint, GLenum, GLint, const(GLfloat)*);
fn glClearNamedFramebufferfi(GLuint, GLenum, GLint, GLfloat, GLint);
fn glBlitNamedFramebuffer(GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
fn glCheckNamedFramebufferStatus(GLuint, GLenum) GLenum;
fn glGetNamedFramebufferParameteriv(GLuint, GLenum, GLint*);
fn glGetNamedFramebufferAttachmentParameteriv(GLuint, GLenum, GLenum, GLint*);
fn glCreateRenderbuffers(GLsizei, GLuint*);
fn glNamedRenderbufferStorage(GLuint, GLenum, GLsizei, GLsizei);
fn glNamedRenderbufferStorageMultisample(GLuint, GLsizei, GLenum, GLsizei, GLsizei);
fn glGetNamedRenderbufferParameteriv(GLuint, GLenum, GLint*);
fn glCreateTextures(GLenum, GLsizei, GLuint*);
fn glTextureBuffer(GLuint, GLenum, GLuint);
fn glTextureBufferRange(GLuint, GLenum, GLuint, GLintptr, GLsizeiptr);
fn glTextureStorage1D(GLuint, GLsizei, GLenum, GLsizei);
fn glTextureStorage2D(GLuint, GLsizei, GLenum, GLsizei, GLsizei);
fn glTextureStorage3D(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
fn glTextureStorage2DMultisample(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
fn glTextureStorage3DMultisample(GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
fn glTextureSubImage1D(GLuint, GLint, GLint, GLsizei, GLenum, GLenum, const(void)*);
fn glTextureSubImage2D(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
fn glTextureSubImage3D(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
fn glCompressedTextureSubImage1D(GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, const(void)*);
fn glCompressedTextureSubImage2D(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const(void)*);
fn glCompressedTextureSubImage3D(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const(void)*);
fn glCopyTextureSubImage1D(GLuint, GLint, GLint, GLint, GLint, GLsizei);
fn glCopyTextureSubImage2D(GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
fn glCopyTextureSubImage3D(GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
fn glTextureParameterf(GLuint, GLenum, GLfloat);
fn glTextureParameterfv(GLuint, GLenum, const(GLfloat)*);
fn glTextureParameteri(GLuint, GLenum, GLint);
fn glTextureParameterIiv(GLuint, GLenum, const(GLint)*);
fn glTextureParameterIuiv(GLuint, GLenum, const(GLuint)*);
fn glTextureParameteriv(GLuint, GLenum, const(GLint)*);
fn glGenerateTextureMipmap(GLuint);
fn glBindTextureUnit(GLuint, GLuint);
fn glGetTextureImage(GLuint, GLint, GLenum, GLenum, GLsizei, void*);
fn glGetCompressedTextureImage(GLuint, GLint, GLsizei, void*);
fn glGetTextureLevelParameterfv(GLuint, GLint, GLenum, GLfloat*);
fn glGetTextureLevelParameteriv(GLuint, GLint, GLenum, GLint*);
fn glGetTextureParameterfv(GLuint, GLenum, GLfloat*);
fn glGetTextureParameterIiv(GLuint, GLenum, GLint*);
fn glGetTextureParameterIuiv(GLuint, GLenum, GLuint*);
fn glGetTextureParameteriv(GLuint, GLenum, GLint*);
fn glCreateVertexArrays(GLsizei, GLuint*);
fn glDisableVertexArrayAttrib(GLuint, GLuint);
fn glEnableVertexArrayAttrib(GLuint, GLuint);
fn glVertexArrayElementBuffer(GLuint, GLuint);
fn glVertexArrayVertexBuffer(GLuint, GLuint, GLuint, GLintptr, GLsizei);
fn glVertexArrayVertexBuffers(GLuint, GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizei)*);
fn glVertexArrayAttribBinding(GLuint, GLuint, GLuint);
fn glVertexArrayAttribFormat(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint);
fn glVertexArrayAttribIFormat(GLuint, GLuint, GLint, GLenum, GLuint);
fn glVertexArrayAttribLFormat(GLuint, GLuint, GLint, GLenum, GLuint);
fn glVertexArrayBindingDivisor(GLuint, GLuint, GLuint);
fn glGetVertexArrayiv(GLuint, GLenum, GLint*);
fn glGetVertexArrayIndexediv(GLuint, GLuint, GLenum, GLint*);
fn glGetVertexArrayIndexed64iv(GLuint, GLuint, GLenum, GLint64*);
fn glCreateSamplers(GLsizei, GLuint*);
fn glCreateProgramPipelines(GLsizei, GLuint*);
fn glCreateQueries(GLenum, GLsizei, GLuint*);
fn glGetQueryBufferObjecti64v(GLuint, GLuint, GLenum, GLintptr);
fn glGetQueryBufferObjectiv(GLuint, GLuint, GLenum, GLintptr);
fn glGetQueryBufferObjectui64v(GLuint, GLuint, GLenum, GLintptr);
fn glGetQueryBufferObjectuiv(GLuint, GLuint, GLenum, GLintptr);
fn glMemoryBarrierByRegion(GLbitfield);
fn glGetTextureSubImage(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*);
fn glGetCompressedTextureSubImage(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void*);
fn glGetGraphicsResetStatus() GLenum;
fn glGetnCompressedTexImage(GLenum, GLint, GLsizei, void*);
fn glGetnTexImage(GLenum, GLint, GLenum, GLenum, GLsizei, void*);
fn glGetnUniformdv(GLuint, GLint, GLsizei, GLdouble*);
fn glGetnUniformfv(GLuint, GLint, GLsizei, GLfloat*);
fn glGetnUniformiv(GLuint, GLint, GLsizei, GLint*);
fn glGetnUniformuiv(GLuint, GLint, GLsizei, GLuint*);
fn glReadnPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*);
fn glGetnMapdv(GLenum, GLenum, GLsizei, GLdouble*);
fn glGetnMapfv(GLenum, GLenum, GLsizei, GLfloat*);
fn glGetnMapiv(GLenum, GLenum, GLsizei, GLint*);
fn glGetnPixelMapfv(GLenum, GLsizei, GLfloat*);
fn glGetnPixelMapuiv(GLenum, GLsizei, GLuint*);
fn glGetnPixelMapusv(GLenum, GLsizei, GLushort*);
fn glGetnPolygonStipple(GLsizei, GLubyte*);
fn glGetnColorTable(GLenum, GLenum, GLenum, GLsizei, void*);
fn glGetnConvolutionFilter(GLenum, GLenum, GLenum, GLsizei, void*);
fn glGetnSeparableFilter(GLenum, GLenum, GLenum, GLsizei, void*, GLsizei, void*, void*);
fn glGetnHistogram(GLenum, GLboolean, GLenum, GLenum, GLsizei, void*);
fn glGetnMinmax(GLenum, GLboolean, GLenum, GLenum, GLsizei, void*);
fn glTextureBarrier();
fn glSpecializeShader(GLuint, const(GLchar)*, GLuint, const(GLuint)*, const(GLuint)*);
fn glMultiDrawArraysIndirectCount(GLenum, const(void)*, GLintptr, GLsizei, GLsizei);
fn glMultiDrawElementsIndirectCount(GLenum, GLenum, const(void)*, GLintptr, GLsizei, GLsizei);
fn glPolygonOffsetClamp(GLfloat, GLfloat, GLfloat);