/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 *
 * Generated from Khronos GL API description (gl.xml) revision 9d534f9312e56c72df763207e449c6719576fd54.
 */
gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
gl->beginQuery							= (glBeginQueryFunc)							loader->get("glBeginQuery");
gl->beginTransformFeedback				= (glBeginTransformFeedbackFunc)				loader->get("glBeginTransformFeedback");
gl->bindAttribLocation					= (glBindAttribLocationFunc)					loader->get("glBindAttribLocation");
gl->bindBuffer							= (glBindBufferFunc)							loader->get("glBindBuffer");
gl->bindBufferBase						= (glBindBufferBaseFunc)						loader->get("glBindBufferBase");
gl->bindBufferRange						= (glBindBufferRangeFunc)						loader->get("glBindBufferRange");
gl->bindFramebuffer						= (glBindFramebufferFunc)						loader->get("glBindFramebuffer");
gl->bindRenderbuffer					= (glBindRenderbufferFunc)						loader->get("glBindRenderbuffer");
gl->bindSampler							= (glBindSamplerFunc)							loader->get("glBindSampler");
gl->bindTexture							= (glBindTextureFunc)							loader->get("glBindTexture");
gl->bindTransformFeedback				= (glBindTransformFeedbackFunc)					loader->get("glBindTransformFeedback");
gl->bindVertexArray						= (glBindVertexArrayFunc)						loader->get("glBindVertexArray");
gl->blendColor							= (glBlendColorFunc)							loader->get("glBlendColor");
gl->blendEquation						= (glBlendEquationFunc)							loader->get("glBlendEquation");
gl->blendEquationSeparate				= (glBlendEquationSeparateFunc)					loader->get("glBlendEquationSeparate");
gl->blendFunc							= (glBlendFuncFunc)								loader->get("glBlendFunc");
gl->blendFuncSeparate					= (glBlendFuncSeparateFunc)						loader->get("glBlendFuncSeparate");
gl->blitFramebuffer						= (glBlitFramebufferFunc)						loader->get("glBlitFramebuffer");
gl->bufferData							= (glBufferDataFunc)							loader->get("glBufferData");
gl->bufferSubData						= (glBufferSubDataFunc)							loader->get("glBufferSubData");
gl->checkFramebufferStatus				= (glCheckFramebufferStatusFunc)				loader->get("glCheckFramebufferStatus");
gl->clear								= (glClearFunc)									loader->get("glClear");
gl->clearBufferfi						= (glClearBufferfiFunc)							loader->get("glClearBufferfi");
gl->clearBufferfv						= (glClearBufferfvFunc)							loader->get("glClearBufferfv");
gl->clearBufferiv						= (glClearBufferivFunc)							loader->get("glClearBufferiv");
gl->clearBufferuiv						= (glClearBufferuivFunc)						loader->get("glClearBufferuiv");
gl->clearColor							= (glClearColorFunc)							loader->get("glClearColor");
gl->clearDepthf							= (glClearDepthfFunc)							loader->get("glClearDepthf");
gl->clearStencil						= (glClearStencilFunc)							loader->get("glClearStencil");
gl->clientWaitSync						= (glClientWaitSyncFunc)						loader->get("glClientWaitSync");
gl->colorMask							= (glColorMaskFunc)								loader->get("glColorMask");
gl->compileShader						= (glCompileShaderFunc)							loader->get("glCompileShader");
gl->compressedTexImage2D				= (glCompressedTexImage2DFunc)					loader->get("glCompressedTexImage2D");
gl->compressedTexImage3D				= (glCompressedTexImage3DFunc)					loader->get("glCompressedTexImage3D");
gl->compressedTexSubImage2D				= (glCompressedTexSubImage2DFunc)				loader->get("glCompressedTexSubImage2D");
gl->compressedTexSubImage3D				= (glCompressedTexSubImage3DFunc)				loader->get("glCompressedTexSubImage3D");
gl->copyBufferSubData					= (glCopyBufferSubDataFunc)						loader->get("glCopyBufferSubData");
gl->copyTexImage2D						= (glCopyTexImage2DFunc)						loader->get("glCopyTexImage2D");
gl->copyTexSubImage2D					= (glCopyTexSubImage2DFunc)						loader->get("glCopyTexSubImage2D");
gl->copyTexSubImage3D					= (glCopyTexSubImage3DFunc)						loader->get("glCopyTexSubImage3D");
gl->createProgram						= (glCreateProgramFunc)							loader->get("glCreateProgram");
gl->createShader						= (glCreateShaderFunc)							loader->get("glCreateShader");
gl->cullFace							= (glCullFaceFunc)								loader->get("glCullFace");
gl->deleteBuffers						= (glDeleteBuffersFunc)							loader->get("glDeleteBuffers");
gl->deleteFramebuffers					= (glDeleteFramebuffersFunc)					loader->get("glDeleteFramebuffers");
gl->deleteProgram						= (glDeleteProgramFunc)							loader->get("glDeleteProgram");
gl->deleteQueries						= (glDeleteQueriesFunc)							loader->get("glDeleteQueries");
gl->deleteRenderbuffers					= (glDeleteRenderbuffersFunc)					loader->get("glDeleteRenderbuffers");
gl->deleteSamplers						= (glDeleteSamplersFunc)						loader->get("glDeleteSamplers");
gl->deleteShader						= (glDeleteShaderFunc)							loader->get("glDeleteShader");
gl->deleteSync							= (glDeleteSyncFunc)							loader->get("glDeleteSync");
gl->deleteTextures						= (glDeleteTexturesFunc)						loader->get("glDeleteTextures");
gl->deleteTransformFeedbacks			= (glDeleteTransformFeedbacksFunc)				loader->get("glDeleteTransformFeedbacks");
gl->deleteVertexArrays					= (glDeleteVertexArraysFunc)					loader->get("glDeleteVertexArrays");
gl->depthFunc							= (glDepthFuncFunc)								loader->get("glDepthFunc");
gl->depthMask							= (glDepthMaskFunc)								loader->get("glDepthMask");
gl->depthRangef							= (glDepthRangefFunc)							loader->get("glDepthRangef");
gl->detachShader						= (glDetachShaderFunc)							loader->get("glDetachShader");
gl->disable								= (glDisableFunc)								loader->get("glDisable");
gl->disableVertexAttribArray			= (glDisableVertexAttribArrayFunc)				loader->get("glDisableVertexAttribArray");
gl->drawArrays							= (glDrawArraysFunc)							loader->get("glDrawArrays");
gl->drawArraysInstanced					= (glDrawArraysInstancedFunc)					loader->get("glDrawArraysInstanced");
gl->drawBuffers							= (glDrawBuffersFunc)							loader->get("glDrawBuffers");
gl->drawElements						= (glDrawElementsFunc)							loader->get("glDrawElements");
gl->drawElementsInstanced				= (glDrawElementsInstancedFunc)					loader->get("glDrawElementsInstanced");
gl->drawRangeElements					= (glDrawRangeElementsFunc)						loader->get("glDrawRangeElements");
gl->enable								= (glEnableFunc)								loader->get("glEnable");
gl->enableVertexAttribArray				= (glEnableVertexAttribArrayFunc)				loader->get("glEnableVertexAttribArray");
gl->endQuery							= (glEndQueryFunc)								loader->get("glEndQuery");
gl->endTransformFeedback				= (glEndTransformFeedbackFunc)					loader->get("glEndTransformFeedback");
gl->fenceSync							= (glFenceSyncFunc)								loader->get("glFenceSync");
gl->finish								= (glFinishFunc)								loader->get("glFinish");
gl->flush								= (glFlushFunc)									loader->get("glFlush");
gl->flushMappedBufferRange				= (glFlushMappedBufferRangeFunc)				loader->get("glFlushMappedBufferRange");
gl->framebufferRenderbuffer				= (glFramebufferRenderbufferFunc)				loader->get("glFramebufferRenderbuffer");
gl->framebufferTexture2D				= (glFramebufferTexture2DFunc)					loader->get("glFramebufferTexture2D");
gl->framebufferTextureLayer				= (glFramebufferTextureLayerFunc)				loader->get("glFramebufferTextureLayer");
gl->frontFace							= (glFrontFaceFunc)								loader->get("glFrontFace");
gl->genBuffers							= (glGenBuffersFunc)							loader->get("glGenBuffers");
gl->genFramebuffers						= (glGenFramebuffersFunc)						loader->get("glGenFramebuffers");
gl->genQueries							= (glGenQueriesFunc)							loader->get("glGenQueries");
gl->genRenderbuffers					= (glGenRenderbuffersFunc)						loader->get("glGenRenderbuffers");
gl->genSamplers							= (glGenSamplersFunc)							loader->get("glGenSamplers");
gl->genTextures							= (glGenTexturesFunc)							loader->get("glGenTextures");
gl->genTransformFeedbacks				= (glGenTransformFeedbacksFunc)					loader->get("glGenTransformFeedbacks");
gl->genVertexArrays						= (glGenVertexArraysFunc)						loader->get("glGenVertexArrays");
gl->generateMipmap						= (glGenerateMipmapFunc)						loader->get("glGenerateMipmap");
gl->getActiveAttrib						= (glGetActiveAttribFunc)						loader->get("glGetActiveAttrib");
gl->getActiveUniform					= (glGetActiveUniformFunc)						loader->get("glGetActiveUniform");
gl->getActiveUniformBlockName			= (glGetActiveUniformBlockNameFunc)				loader->get("glGetActiveUniformBlockName");
gl->getActiveUniformBlockiv				= (glGetActiveUniformBlockivFunc)				loader->get("glGetActiveUniformBlockiv");
gl->getActiveUniformsiv					= (glGetActiveUniformsivFunc)					loader->get("glGetActiveUniformsiv");
gl->getAttachedShaders					= (glGetAttachedShadersFunc)					loader->get("glGetAttachedShaders");
gl->getAttribLocation					= (glGetAttribLocationFunc)						loader->get("glGetAttribLocation");
gl->getBooleanv							= (glGetBooleanvFunc)							loader->get("glGetBooleanv");
gl->getBufferParameteri64v				= (glGetBufferParameteri64vFunc)				loader->get("glGetBufferParameteri64v");
gl->getBufferParameteriv				= (glGetBufferParameterivFunc)					loader->get("glGetBufferParameteriv");
gl->getBufferPointerv					= (glGetBufferPointervFunc)						loader->get("glGetBufferPointerv");
gl->getError							= (glGetErrorFunc)								loader->get("glGetError");
gl->getFloatv							= (glGetFloatvFunc)								loader->get("glGetFloatv");
gl->getFragDataLocation					= (glGetFragDataLocationFunc)					loader->get("glGetFragDataLocation");
gl->getFramebufferAttachmentParameteriv	= (glGetFramebufferAttachmentParameterivFunc)	loader->get("glGetFramebufferAttachmentParameteriv");
gl->getInteger64i_v						= (glGetInteger64i_vFunc)						loader->get("glGetInteger64i_v");
gl->getInteger64v						= (glGetInteger64vFunc)							loader->get("glGetInteger64v");
gl->getIntegeri_v						= (glGetIntegeri_vFunc)							loader->get("glGetIntegeri_v");
gl->getIntegerv							= (glGetIntegervFunc)							loader->get("glGetIntegerv");
gl->getInternalformativ					= (glGetInternalformativFunc)					loader->get("glGetInternalformativ");
gl->getProgramBinary					= (glGetProgramBinaryFunc)						loader->get("glGetProgramBinary");
gl->getProgramInfoLog					= (glGetProgramInfoLogFunc)						loader->get("glGetProgramInfoLog");
gl->getProgramiv						= (glGetProgramivFunc)							loader->get("glGetProgramiv");
gl->getQueryObjectuiv					= (glGetQueryObjectuivFunc)						loader->get("glGetQueryObjectuiv");
gl->getQueryiv							= (glGetQueryivFunc)							loader->get("glGetQueryiv");
gl->getRenderbufferParameteriv			= (glGetRenderbufferParameterivFunc)			loader->get("glGetRenderbufferParameteriv");
gl->getSamplerParameterfv				= (glGetSamplerParameterfvFunc)					loader->get("glGetSamplerParameterfv");
gl->getSamplerParameteriv				= (glGetSamplerParameterivFunc)					loader->get("glGetSamplerParameteriv");
gl->getShaderInfoLog					= (glGetShaderInfoLogFunc)						loader->get("glGetShaderInfoLog");
gl->getShaderPrecisionFormat			= (glGetShaderPrecisionFormatFunc)				loader->get("glGetShaderPrecisionFormat");
gl->getShaderSource						= (glGetShaderSourceFunc)						loader->get("glGetShaderSource");
gl->getShaderiv							= (glGetShaderivFunc)							loader->get("glGetShaderiv");
gl->getString							= (glGetStringFunc)								loader->get("glGetString");
gl->getStringi							= (glGetStringiFunc)							loader->get("glGetStringi");
gl->getSynciv							= (glGetSyncivFunc)								loader->get("glGetSynciv");
gl->getTexParameterfv					= (glGetTexParameterfvFunc)						loader->get("glGetTexParameterfv");
gl->getTexParameteriv					= (glGetTexParameterivFunc)						loader->get("glGetTexParameteriv");
gl->getTransformFeedbackVarying			= (glGetTransformFeedbackVaryingFunc)			loader->get("glGetTransformFeedbackVarying");
gl->getUniformBlockIndex				= (glGetUniformBlockIndexFunc)					loader->get("glGetUniformBlockIndex");
gl->getUniformIndices					= (glGetUniformIndicesFunc)						loader->get("glGetUniformIndices");
gl->getUniformLocation					= (glGetUniformLocationFunc)					loader->get("glGetUniformLocation");
gl->getUniformfv						= (glGetUniformfvFunc)							loader->get("glGetUniformfv");
gl->getUniformiv						= (glGetUniformivFunc)							loader->get("glGetUniformiv");
gl->getUniformuiv						= (glGetUniformuivFunc)							loader->get("glGetUniformuiv");
gl->getVertexAttribIiv					= (glGetVertexAttribIivFunc)					loader->get("glGetVertexAttribIiv");
gl->getVertexAttribIuiv					= (glGetVertexAttribIuivFunc)					loader->get("glGetVertexAttribIuiv");
gl->getVertexAttribPointerv				= (glGetVertexAttribPointervFunc)				loader->get("glGetVertexAttribPointerv");
gl->getVertexAttribfv					= (glGetVertexAttribfvFunc)						loader->get("glGetVertexAttribfv");
gl->getVertexAttribiv					= (glGetVertexAttribivFunc)						loader->get("glGetVertexAttribiv");
gl->hint								= (glHintFunc)									loader->get("glHint");
gl->invalidateFramebuffer				= (glInvalidateFramebufferFunc)					loader->get("glInvalidateFramebuffer");
gl->invalidateSubFramebuffer			= (glInvalidateSubFramebufferFunc)				loader->get("glInvalidateSubFramebuffer");
gl->isBuffer							= (glIsBufferFunc)								loader->get("glIsBuffer");
gl->isEnabled							= (glIsEnabledFunc)								loader->get("glIsEnabled");
gl->isFramebuffer						= (glIsFramebufferFunc)							loader->get("glIsFramebuffer");
gl->isProgram							= (glIsProgramFunc)								loader->get("glIsProgram");
gl->isQuery								= (glIsQueryFunc)								loader->get("glIsQuery");
gl->isRenderbuffer						= (glIsRenderbufferFunc)						loader->get("glIsRenderbuffer");
gl->isSampler							= (glIsSamplerFunc)								loader->get("glIsSampler");
gl->isShader							= (glIsShaderFunc)								loader->get("glIsShader");
gl->isSync								= (glIsSyncFunc)								loader->get("glIsSync");
gl->isTexture							= (glIsTextureFunc)								loader->get("glIsTexture");
gl->isTransformFeedback					= (glIsTransformFeedbackFunc)					loader->get("glIsTransformFeedback");
gl->isVertexArray						= (glIsVertexArrayFunc)							loader->get("glIsVertexArray");
gl->lineWidth							= (glLineWidthFunc)								loader->get("glLineWidth");
gl->linkProgram							= (glLinkProgramFunc)							loader->get("glLinkProgram");
gl->mapBufferRange						= (glMapBufferRangeFunc)						loader->get("glMapBufferRange");
gl->pauseTransformFeedback				= (glPauseTransformFeedbackFunc)				loader->get("glPauseTransformFeedback");
gl->pixelStorei							= (glPixelStoreiFunc)							loader->get("glPixelStorei");
gl->polygonOffset						= (glPolygonOffsetFunc)							loader->get("glPolygonOffset");
gl->programBinary						= (glProgramBinaryFunc)							loader->get("glProgramBinary");
gl->programParameteri					= (glProgramParameteriFunc)						loader->get("glProgramParameteri");
gl->readBuffer							= (glReadBufferFunc)							loader->get("glReadBuffer");
gl->readPixels							= (glReadPixelsFunc)							loader->get("glReadPixels");
gl->releaseShaderCompiler				= (glReleaseShaderCompilerFunc)					loader->get("glReleaseShaderCompiler");
gl->renderbufferStorage					= (glRenderbufferStorageFunc)					loader->get("glRenderbufferStorage");
gl->renderbufferStorageMultisample		= (glRenderbufferStorageMultisampleFunc)		loader->get("glRenderbufferStorageMultisample");
gl->resumeTransformFeedback				= (glResumeTransformFeedbackFunc)				loader->get("glResumeTransformFeedback");
gl->sampleCoverage						= (glSampleCoverageFunc)						loader->get("glSampleCoverage");
gl->samplerParameterf					= (glSamplerParameterfFunc)						loader->get("glSamplerParameterf");
gl->samplerParameterfv					= (glSamplerParameterfvFunc)					loader->get("glSamplerParameterfv");
gl->samplerParameteri					= (glSamplerParameteriFunc)						loader->get("glSamplerParameteri");
gl->samplerParameteriv					= (glSamplerParameterivFunc)					loader->get("glSamplerParameteriv");
gl->scissor								= (glScissorFunc)								loader->get("glScissor");
gl->shaderBinary						= (glShaderBinaryFunc)							loader->get("glShaderBinary");
gl->shaderSource						= (glShaderSourceFunc)							loader->get("glShaderSource");
gl->stencilFunc							= (glStencilFuncFunc)							loader->get("glStencilFunc");
gl->stencilFuncSeparate					= (glStencilFuncSeparateFunc)					loader->get("glStencilFuncSeparate");
gl->stencilMask							= (glStencilMaskFunc)							loader->get("glStencilMask");
gl->stencilMaskSeparate					= (glStencilMaskSeparateFunc)					loader->get("glStencilMaskSeparate");
gl->stencilOp							= (glStencilOpFunc)								loader->get("glStencilOp");
gl->stencilOpSeparate					= (glStencilOpSeparateFunc)						loader->get("glStencilOpSeparate");
gl->texImage2D							= (glTexImage2DFunc)							loader->get("glTexImage2D");
gl->texImage3D							= (glTexImage3DFunc)							loader->get("glTexImage3D");
gl->texParameterf						= (glTexParameterfFunc)							loader->get("glTexParameterf");
gl->texParameterfv						= (glTexParameterfvFunc)						loader->get("glTexParameterfv");
gl->texParameteri						= (glTexParameteriFunc)							loader->get("glTexParameteri");
gl->texParameteriv						= (glTexParameterivFunc)						loader->get("glTexParameteriv");
gl->texStorage2D						= (glTexStorage2DFunc)							loader->get("glTexStorage2D");
gl->texStorage3D						= (glTexStorage3DFunc)							loader->get("glTexStorage3D");
gl->texSubImage2D						= (glTexSubImage2DFunc)							loader->get("glTexSubImage2D");
gl->texSubImage3D						= (glTexSubImage3DFunc)							loader->get("glTexSubImage3D");
gl->transformFeedbackVaryings			= (glTransformFeedbackVaryingsFunc)				loader->get("glTransformFeedbackVaryings");
gl->uniform1f							= (glUniform1fFunc)								loader->get("glUniform1f");
gl->uniform1fv							= (glUniform1fvFunc)							loader->get("glUniform1fv");
gl->uniform1i							= (glUniform1iFunc)								loader->get("glUniform1i");
gl->uniform1iv							= (glUniform1ivFunc)							loader->get("glUniform1iv");
gl->uniform1ui							= (glUniform1uiFunc)							loader->get("glUniform1ui");
gl->uniform1uiv							= (glUniform1uivFunc)							loader->get("glUniform1uiv");
gl->uniform2f							= (glUniform2fFunc)								loader->get("glUniform2f");
gl->uniform2fv							= (glUniform2fvFunc)							loader->get("glUniform2fv");
gl->uniform2i							= (glUniform2iFunc)								loader->get("glUniform2i");
gl->uniform2iv							= (glUniform2ivFunc)							loader->get("glUniform2iv");
gl->uniform2ui							= (glUniform2uiFunc)							loader->get("glUniform2ui");
gl->uniform2uiv							= (glUniform2uivFunc)							loader->get("glUniform2uiv");
gl->uniform3f							= (glUniform3fFunc)								loader->get("glUniform3f");
gl->uniform3fv							= (glUniform3fvFunc)							loader->get("glUniform3fv");
gl->uniform3i							= (glUniform3iFunc)								loader->get("glUniform3i");
gl->uniform3iv							= (glUniform3ivFunc)							loader->get("glUniform3iv");
gl->uniform3ui							= (glUniform3uiFunc)							loader->get("glUniform3ui");
gl->uniform3uiv							= (glUniform3uivFunc)							loader->get("glUniform3uiv");
gl->uniform4f							= (glUniform4fFunc)								loader->get("glUniform4f");
gl->uniform4fv							= (glUniform4fvFunc)							loader->get("glUniform4fv");
gl->uniform4i							= (glUniform4iFunc)								loader->get("glUniform4i");
gl->uniform4iv							= (glUniform4ivFunc)							loader->get("glUniform4iv");
gl->uniform4ui							= (glUniform4uiFunc)							loader->get("glUniform4ui");
gl->uniform4uiv							= (glUniform4uivFunc)							loader->get("glUniform4uiv");
gl->uniformBlockBinding					= (glUniformBlockBindingFunc)					loader->get("glUniformBlockBinding");
gl->uniformMatrix2fv					= (glUniformMatrix2fvFunc)						loader->get("glUniformMatrix2fv");
gl->uniformMatrix2x3fv					= (glUniformMatrix2x3fvFunc)					loader->get("glUniformMatrix2x3fv");
gl->uniformMatrix2x4fv					= (glUniformMatrix2x4fvFunc)					loader->get("glUniformMatrix2x4fv");
gl->uniformMatrix3fv					= (glUniformMatrix3fvFunc)						loader->get("glUniformMatrix3fv");
gl->uniformMatrix3x2fv					= (glUniformMatrix3x2fvFunc)					loader->get("glUniformMatrix3x2fv");
gl->uniformMatrix3x4fv					= (glUniformMatrix3x4fvFunc)					loader->get("glUniformMatrix3x4fv");
gl->uniformMatrix4fv					= (glUniformMatrix4fvFunc)						loader->get("glUniformMatrix4fv");
gl->uniformMatrix4x2fv					= (glUniformMatrix4x2fvFunc)					loader->get("glUniformMatrix4x2fv");
gl->uniformMatrix4x3fv					= (glUniformMatrix4x3fvFunc)					loader->get("glUniformMatrix4x3fv");
gl->unmapBuffer							= (glUnmapBufferFunc)							loader->get("glUnmapBuffer");
gl->useProgram							= (glUseProgramFunc)							loader->get("glUseProgram");
gl->validateProgram						= (glValidateProgramFunc)						loader->get("glValidateProgram");
gl->vertexAttrib1f						= (glVertexAttrib1fFunc)						loader->get("glVertexAttrib1f");
gl->vertexAttrib1fv						= (glVertexAttrib1fvFunc)						loader->get("glVertexAttrib1fv");
gl->vertexAttrib2f						= (glVertexAttrib2fFunc)						loader->get("glVertexAttrib2f");
gl->vertexAttrib2fv						= (glVertexAttrib2fvFunc)						loader->get("glVertexAttrib2fv");
gl->vertexAttrib3f						= (glVertexAttrib3fFunc)						loader->get("glVertexAttrib3f");
gl->vertexAttrib3fv						= (glVertexAttrib3fvFunc)						loader->get("glVertexAttrib3fv");
gl->vertexAttrib4f						= (glVertexAttrib4fFunc)						loader->get("glVertexAttrib4f");
gl->vertexAttrib4fv						= (glVertexAttrib4fvFunc)						loader->get("glVertexAttrib4fv");
gl->vertexAttribDivisor					= (glVertexAttribDivisorFunc)					loader->get("glVertexAttribDivisor");
gl->vertexAttribI4i						= (glVertexAttribI4iFunc)						loader->get("glVertexAttribI4i");
gl->vertexAttribI4iv					= (glVertexAttribI4ivFunc)						loader->get("glVertexAttribI4iv");
gl->vertexAttribI4ui					= (glVertexAttribI4uiFunc)						loader->get("glVertexAttribI4ui");
gl->vertexAttribI4uiv					= (glVertexAttribI4uivFunc)						loader->get("glVertexAttribI4uiv");
gl->vertexAttribIPointer				= (glVertexAttribIPointerFunc)					loader->get("glVertexAttribIPointer");
gl->vertexAttribPointer					= (glVertexAttribPointerFunc)					loader->get("glVertexAttribPointer");
gl->viewport							= (glViewportFunc)								loader->get("glViewport");
gl->waitSync							= (glWaitSyncFunc)								loader->get("glWaitSync");
