/* This file is part of Magnum. Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Vladimír Vondruš Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "flextGLWindowsDesktop.h" #include #include #include "Magnum/Platform/Implementation/OpenGLFunctionLoader.h" void flextGLInit(Magnum::GL::Context&) { Magnum::Platform::Implementation::OpenGLFunctionLoader loader; /* GL_ANGLE_base_vertex_base_instance */ flextGL.DrawArraysInstancedBaseInstanceANGLE = reinterpret_cast(loader.load("glDrawArraysInstancedBaseInstanceANGLE")); flextGL.DrawElementsInstancedBaseVertexBaseInstanceANGLE = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertexBaseInstanceANGLE")); flextGL.MultiDrawArraysInstancedBaseInstanceANGLE = reinterpret_cast(loader.load("glMultiDrawArraysInstancedBaseInstanceANGLE")); flextGL.MultiDrawElementsInstancedBaseVertexBaseInstanceANGLE = reinterpret_cast(loader.load("glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE")); /* GL_ANGLE_multi_draw */ flextGL.MultiDrawArraysANGLE = reinterpret_cast(loader.load("glMultiDrawArraysANGLE")); flextGL.MultiDrawArraysInstancedANGLE = reinterpret_cast(loader.load("glMultiDrawArraysInstancedANGLE")); flextGL.MultiDrawElementsANGLE = reinterpret_cast(loader.load("glMultiDrawElementsANGLE")); flextGL.MultiDrawElementsInstancedANGLE = reinterpret_cast(loader.load("glMultiDrawElementsInstancedANGLE")); /* GL_ANGLE_polygon_mode */ flextGL.PolygonModeANGLE = reinterpret_cast(loader.load("glPolygonModeANGLE")); /* GL_ANGLE_provoking_vertex */ flextGL.ProvokingVertexANGLE = reinterpret_cast(loader.load("glProvokingVertexANGLE")); /* GL_ES_VERSION_2_0 */ flextGL.ActiveTexture = reinterpret_cast(loader.load("glActiveTexture")); flextGL.AttachShader = reinterpret_cast(loader.load("glAttachShader")); flextGL.BindAttribLocation = reinterpret_cast(loader.load("glBindAttribLocation")); flextGL.BindBuffer = reinterpret_cast(loader.load("glBindBuffer")); flextGL.BindFramebuffer = reinterpret_cast(loader.load("glBindFramebuffer")); flextGL.BindRenderbuffer = reinterpret_cast(loader.load("glBindRenderbuffer")); flextGL.BlendColor = reinterpret_cast(loader.load("glBlendColor")); flextGL.BlendEquation = reinterpret_cast(loader.load("glBlendEquation")); flextGL.BlendEquationSeparate = reinterpret_cast(loader.load("glBlendEquationSeparate")); flextGL.BlendFuncSeparate = reinterpret_cast(loader.load("glBlendFuncSeparate")); flextGL.BufferData = reinterpret_cast(loader.load("glBufferData")); flextGL.BufferSubData = reinterpret_cast(loader.load("glBufferSubData")); flextGL.CheckFramebufferStatus = reinterpret_cast(loader.load("glCheckFramebufferStatus")); flextGL.ClearDepthf = reinterpret_cast(loader.load("glClearDepthf")); flextGL.CompileShader = reinterpret_cast(loader.load("glCompileShader")); flextGL.CompressedTexImage2D = reinterpret_cast(loader.load("glCompressedTexImage2D")); flextGL.CompressedTexSubImage2D = reinterpret_cast(loader.load("glCompressedTexSubImage2D")); flextGL.CreateProgram = reinterpret_cast(loader.load("glCreateProgram")); flextGL.CreateShader = reinterpret_cast(loader.load("glCreateShader")); flextGL.DeleteBuffers = reinterpret_cast(loader.load("glDeleteBuffers")); flextGL.DeleteFramebuffers = reinterpret_cast(loader.load("glDeleteFramebuffers")); flextGL.DeleteProgram = reinterpret_cast(loader.load("glDeleteProgram")); flextGL.DeleteRenderbuffers = reinterpret_cast(loader.load("glDeleteRenderbuffers")); flextGL.DeleteShader = reinterpret_cast(loader.load("glDeleteShader")); flextGL.DepthRangef = reinterpret_cast(loader.load("glDepthRangef")); flextGL.DetachShader = reinterpret_cast(loader.load("glDetachShader")); flextGL.DisableVertexAttribArray = reinterpret_cast(loader.load("glDisableVertexAttribArray")); flextGL.EnableVertexAttribArray = reinterpret_cast(loader.load("glEnableVertexAttribArray")); flextGL.FramebufferRenderbuffer = reinterpret_cast(loader.load("glFramebufferRenderbuffer")); flextGL.FramebufferTexture2D = reinterpret_cast(loader.load("glFramebufferTexture2D")); flextGL.GenBuffers = reinterpret_cast(loader.load("glGenBuffers")); flextGL.GenFramebuffers = reinterpret_cast(loader.load("glGenFramebuffers")); flextGL.GenRenderbuffers = reinterpret_cast(loader.load("glGenRenderbuffers")); flextGL.GenerateMipmap = reinterpret_cast(loader.load("glGenerateMipmap")); flextGL.GetActiveAttrib = reinterpret_cast(loader.load("glGetActiveAttrib")); flextGL.GetActiveUniform = reinterpret_cast(loader.load("glGetActiveUniform")); flextGL.GetAttachedShaders = reinterpret_cast(loader.load("glGetAttachedShaders")); flextGL.GetAttribLocation = reinterpret_cast(loader.load("glGetAttribLocation")); flextGL.GetBufferParameteriv = reinterpret_cast(loader.load("glGetBufferParameteriv")); flextGL.GetFramebufferAttachmentParameteriv = reinterpret_cast(loader.load("glGetFramebufferAttachmentParameteriv")); flextGL.GetProgramInfoLog = reinterpret_cast(loader.load("glGetProgramInfoLog")); flextGL.GetProgramiv = reinterpret_cast(loader.load("glGetProgramiv")); flextGL.GetRenderbufferParameteriv = reinterpret_cast(loader.load("glGetRenderbufferParameteriv")); flextGL.GetShaderInfoLog = reinterpret_cast(loader.load("glGetShaderInfoLog")); flextGL.GetShaderPrecisionFormat = reinterpret_cast(loader.load("glGetShaderPrecisionFormat")); flextGL.GetShaderSource = reinterpret_cast(loader.load("glGetShaderSource")); flextGL.GetShaderiv = reinterpret_cast(loader.load("glGetShaderiv")); flextGL.GetUniformLocation = reinterpret_cast(loader.load("glGetUniformLocation")); flextGL.GetUniformfv = reinterpret_cast(loader.load("glGetUniformfv")); flextGL.GetUniformiv = reinterpret_cast(loader.load("glGetUniformiv")); flextGL.GetVertexAttribPointerv = reinterpret_cast(loader.load("glGetVertexAttribPointerv")); flextGL.GetVertexAttribfv = reinterpret_cast(loader.load("glGetVertexAttribfv")); flextGL.GetVertexAttribiv = reinterpret_cast(loader.load("glGetVertexAttribiv")); flextGL.IsBuffer = reinterpret_cast(loader.load("glIsBuffer")); flextGL.IsFramebuffer = reinterpret_cast(loader.load("glIsFramebuffer")); flextGL.IsProgram = reinterpret_cast(loader.load("glIsProgram")); flextGL.IsRenderbuffer = reinterpret_cast(loader.load("glIsRenderbuffer")); flextGL.IsShader = reinterpret_cast(loader.load("glIsShader")); flextGL.LinkProgram = reinterpret_cast(loader.load("glLinkProgram")); flextGL.ReleaseShaderCompiler = reinterpret_cast(loader.load("glReleaseShaderCompiler")); flextGL.RenderbufferStorage = reinterpret_cast(loader.load("glRenderbufferStorage")); flextGL.SampleCoverage = reinterpret_cast(loader.load("glSampleCoverage")); flextGL.ShaderBinary = reinterpret_cast(loader.load("glShaderBinary")); flextGL.ShaderSource = reinterpret_cast(loader.load("glShaderSource")); flextGL.StencilFuncSeparate = reinterpret_cast(loader.load("glStencilFuncSeparate")); flextGL.StencilMaskSeparate = reinterpret_cast(loader.load("glStencilMaskSeparate")); flextGL.StencilOpSeparate = reinterpret_cast(loader.load("glStencilOpSeparate")); flextGL.Uniform1f = reinterpret_cast(loader.load("glUniform1f")); flextGL.Uniform1fv = reinterpret_cast(loader.load("glUniform1fv")); flextGL.Uniform1i = reinterpret_cast(loader.load("glUniform1i")); flextGL.Uniform1iv = reinterpret_cast(loader.load("glUniform1iv")); flextGL.Uniform2f = reinterpret_cast(loader.load("glUniform2f")); flextGL.Uniform2fv = reinterpret_cast(loader.load("glUniform2fv")); flextGL.Uniform2i = reinterpret_cast(loader.load("glUniform2i")); flextGL.Uniform2iv = reinterpret_cast(loader.load("glUniform2iv")); flextGL.Uniform3f = reinterpret_cast(loader.load("glUniform3f")); flextGL.Uniform3fv = reinterpret_cast(loader.load("glUniform3fv")); flextGL.Uniform3i = reinterpret_cast(loader.load("glUniform3i")); flextGL.Uniform3iv = reinterpret_cast(loader.load("glUniform3iv")); flextGL.Uniform4f = reinterpret_cast(loader.load("glUniform4f")); flextGL.Uniform4fv = reinterpret_cast(loader.load("glUniform4fv")); flextGL.Uniform4i = reinterpret_cast(loader.load("glUniform4i")); flextGL.Uniform4iv = reinterpret_cast(loader.load("glUniform4iv")); flextGL.UniformMatrix2fv = reinterpret_cast(loader.load("glUniformMatrix2fv")); flextGL.UniformMatrix3fv = reinterpret_cast(loader.load("glUniformMatrix3fv")); flextGL.UniformMatrix4fv = reinterpret_cast(loader.load("glUniformMatrix4fv")); flextGL.UseProgram = reinterpret_cast(loader.load("glUseProgram")); flextGL.ValidateProgram = reinterpret_cast(loader.load("glValidateProgram")); flextGL.VertexAttrib1f = reinterpret_cast(loader.load("glVertexAttrib1f")); flextGL.VertexAttrib1fv = reinterpret_cast(loader.load("glVertexAttrib1fv")); flextGL.VertexAttrib2f = reinterpret_cast(loader.load("glVertexAttrib2f")); flextGL.VertexAttrib2fv = reinterpret_cast(loader.load("glVertexAttrib2fv")); flextGL.VertexAttrib3f = reinterpret_cast(loader.load("glVertexAttrib3f")); flextGL.VertexAttrib3fv = reinterpret_cast(loader.load("glVertexAttrib3fv")); flextGL.VertexAttrib4f = reinterpret_cast(loader.load("glVertexAttrib4f")); flextGL.VertexAttrib4fv = reinterpret_cast(loader.load("glVertexAttrib4fv")); flextGL.VertexAttribPointer = reinterpret_cast(loader.load("glVertexAttribPointer")); /* GL_ES_VERSION_3_0 */ flextGL.BeginQuery = reinterpret_cast(loader.load("glBeginQuery")); flextGL.BeginTransformFeedback = reinterpret_cast(loader.load("glBeginTransformFeedback")); flextGL.BindBufferBase = reinterpret_cast(loader.load("glBindBufferBase")); flextGL.BindBufferRange = reinterpret_cast(loader.load("glBindBufferRange")); flextGL.BindSampler = reinterpret_cast(loader.load("glBindSampler")); flextGL.BindTransformFeedback = reinterpret_cast(loader.load("glBindTransformFeedback")); flextGL.BindVertexArray = reinterpret_cast(loader.load("glBindVertexArray")); flextGL.BlitFramebuffer = reinterpret_cast(loader.load("glBlitFramebuffer")); flextGL.ClearBufferfi = reinterpret_cast(loader.load("glClearBufferfi")); flextGL.ClearBufferfv = reinterpret_cast(loader.load("glClearBufferfv")); flextGL.ClearBufferiv = reinterpret_cast(loader.load("glClearBufferiv")); flextGL.ClearBufferuiv = reinterpret_cast(loader.load("glClearBufferuiv")); flextGL.ClientWaitSync = reinterpret_cast(loader.load("glClientWaitSync")); flextGL.CompressedTexImage3D = reinterpret_cast(loader.load("glCompressedTexImage3D")); flextGL.CompressedTexSubImage3D = reinterpret_cast(loader.load("glCompressedTexSubImage3D")); flextGL.CopyBufferSubData = reinterpret_cast(loader.load("glCopyBufferSubData")); flextGL.CopyTexSubImage3D = reinterpret_cast(loader.load("glCopyTexSubImage3D")); flextGL.DeleteQueries = reinterpret_cast(loader.load("glDeleteQueries")); flextGL.DeleteSamplers = reinterpret_cast(loader.load("glDeleteSamplers")); flextGL.DeleteSync = reinterpret_cast(loader.load("glDeleteSync")); flextGL.DeleteTransformFeedbacks = reinterpret_cast(loader.load("glDeleteTransformFeedbacks")); flextGL.DeleteVertexArrays = reinterpret_cast(loader.load("glDeleteVertexArrays")); flextGL.DrawArraysInstanced = reinterpret_cast(loader.load("glDrawArraysInstanced")); flextGL.DrawBuffers = reinterpret_cast(loader.load("glDrawBuffers")); flextGL.DrawElementsInstanced = reinterpret_cast(loader.load("glDrawElementsInstanced")); flextGL.DrawRangeElements = reinterpret_cast(loader.load("glDrawRangeElements")); flextGL.EndQuery = reinterpret_cast(loader.load("glEndQuery")); flextGL.EndTransformFeedback = reinterpret_cast(loader.load("glEndTransformFeedback")); flextGL.FenceSync = reinterpret_cast(loader.load("glFenceSync")); flextGL.FlushMappedBufferRange = reinterpret_cast(loader.load("glFlushMappedBufferRange")); flextGL.FramebufferTextureLayer = reinterpret_cast(loader.load("glFramebufferTextureLayer")); flextGL.GenQueries = reinterpret_cast(loader.load("glGenQueries")); flextGL.GenSamplers = reinterpret_cast(loader.load("glGenSamplers")); flextGL.GenTransformFeedbacks = reinterpret_cast(loader.load("glGenTransformFeedbacks")); flextGL.GenVertexArrays = reinterpret_cast(loader.load("glGenVertexArrays")); flextGL.GetActiveUniformBlockName = reinterpret_cast(loader.load("glGetActiveUniformBlockName")); flextGL.GetActiveUniformBlockiv = reinterpret_cast(loader.load("glGetActiveUniformBlockiv")); flextGL.GetActiveUniformsiv = reinterpret_cast(loader.load("glGetActiveUniformsiv")); flextGL.GetBufferParameteri64v = reinterpret_cast(loader.load("glGetBufferParameteri64v")); flextGL.GetBufferPointerv = reinterpret_cast(loader.load("glGetBufferPointerv")); flextGL.GetFragDataLocation = reinterpret_cast(loader.load("glGetFragDataLocation")); flextGL.GetInteger64i_v = reinterpret_cast(loader.load("glGetInteger64i_v")); flextGL.GetInteger64v = reinterpret_cast(loader.load("glGetInteger64v")); flextGL.GetIntegeri_v = reinterpret_cast(loader.load("glGetIntegeri_v")); flextGL.GetInternalformativ = reinterpret_cast(loader.load("glGetInternalformativ")); flextGL.GetProgramBinary = reinterpret_cast(loader.load("glGetProgramBinary")); flextGL.GetQueryObjectuiv = reinterpret_cast(loader.load("glGetQueryObjectuiv")); flextGL.GetQueryiv = reinterpret_cast(loader.load("glGetQueryiv")); flextGL.GetSamplerParameterfv = reinterpret_cast(loader.load("glGetSamplerParameterfv")); flextGL.GetSamplerParameteriv = reinterpret_cast(loader.load("glGetSamplerParameteriv")); flextGL.GetStringi = reinterpret_cast(loader.load("glGetStringi")); flextGL.GetSynciv = reinterpret_cast(loader.load("glGetSynciv")); flextGL.GetTransformFeedbackVarying = reinterpret_cast(loader.load("glGetTransformFeedbackVarying")); flextGL.GetUniformBlockIndex = reinterpret_cast(loader.load("glGetUniformBlockIndex")); flextGL.GetUniformIndices = reinterpret_cast(loader.load("glGetUniformIndices")); flextGL.GetUniformuiv = reinterpret_cast(loader.load("glGetUniformuiv")); flextGL.GetVertexAttribIiv = reinterpret_cast(loader.load("glGetVertexAttribIiv")); flextGL.GetVertexAttribIuiv = reinterpret_cast(loader.load("glGetVertexAttribIuiv")); flextGL.InvalidateFramebuffer = reinterpret_cast(loader.load("glInvalidateFramebuffer")); flextGL.InvalidateSubFramebuffer = reinterpret_cast(loader.load("glInvalidateSubFramebuffer")); flextGL.IsQuery = reinterpret_cast(loader.load("glIsQuery")); flextGL.IsSampler = reinterpret_cast(loader.load("glIsSampler")); flextGL.IsSync = reinterpret_cast(loader.load("glIsSync")); flextGL.IsTransformFeedback = reinterpret_cast(loader.load("glIsTransformFeedback")); flextGL.IsVertexArray = reinterpret_cast(loader.load("glIsVertexArray")); flextGL.MapBufferRange = reinterpret_cast(loader.load("glMapBufferRange")); flextGL.PauseTransformFeedback = reinterpret_cast(loader.load("glPauseTransformFeedback")); flextGL.ProgramBinary = reinterpret_cast(loader.load("glProgramBinary")); flextGL.ProgramParameteri = reinterpret_cast(loader.load("glProgramParameteri")); flextGL.RenderbufferStorageMultisample = reinterpret_cast(loader.load("glRenderbufferStorageMultisample")); flextGL.ResumeTransformFeedback = reinterpret_cast(loader.load("glResumeTransformFeedback")); flextGL.SamplerParameterf = reinterpret_cast(loader.load("glSamplerParameterf")); flextGL.SamplerParameterfv = reinterpret_cast(loader.load("glSamplerParameterfv")); flextGL.SamplerParameteri = reinterpret_cast(loader.load("glSamplerParameteri")); flextGL.SamplerParameteriv = reinterpret_cast(loader.load("glSamplerParameteriv")); flextGL.TexImage3D = reinterpret_cast(loader.load("glTexImage3D")); flextGL.TexStorage2D = reinterpret_cast(loader.load("glTexStorage2D")); flextGL.TexStorage3D = reinterpret_cast(loader.load("glTexStorage3D")); flextGL.TexSubImage3D = reinterpret_cast(loader.load("glTexSubImage3D")); flextGL.TransformFeedbackVaryings = reinterpret_cast(loader.load("glTransformFeedbackVaryings")); flextGL.Uniform1ui = reinterpret_cast(loader.load("glUniform1ui")); flextGL.Uniform1uiv = reinterpret_cast(loader.load("glUniform1uiv")); flextGL.Uniform2ui = reinterpret_cast(loader.load("glUniform2ui")); flextGL.Uniform2uiv = reinterpret_cast(loader.load("glUniform2uiv")); flextGL.Uniform3ui = reinterpret_cast(loader.load("glUniform3ui")); flextGL.Uniform3uiv = reinterpret_cast(loader.load("glUniform3uiv")); flextGL.Uniform4ui = reinterpret_cast(loader.load("glUniform4ui")); flextGL.Uniform4uiv = reinterpret_cast(loader.load("glUniform4uiv")); flextGL.UniformBlockBinding = reinterpret_cast(loader.load("glUniformBlockBinding")); flextGL.UniformMatrix2x3fv = reinterpret_cast(loader.load("glUniformMatrix2x3fv")); flextGL.UniformMatrix2x4fv = reinterpret_cast(loader.load("glUniformMatrix2x4fv")); flextGL.UniformMatrix3x2fv = reinterpret_cast(loader.load("glUniformMatrix3x2fv")); flextGL.UniformMatrix3x4fv = reinterpret_cast(loader.load("glUniformMatrix3x4fv")); flextGL.UniformMatrix4x2fv = reinterpret_cast(loader.load("glUniformMatrix4x2fv")); flextGL.UniformMatrix4x3fv = reinterpret_cast(loader.load("glUniformMatrix4x3fv")); flextGL.UnmapBuffer = reinterpret_cast(loader.load("glUnmapBuffer")); flextGL.VertexAttribDivisor = reinterpret_cast(loader.load("glVertexAttribDivisor")); flextGL.VertexAttribI4i = reinterpret_cast(loader.load("glVertexAttribI4i")); flextGL.VertexAttribI4iv = reinterpret_cast(loader.load("glVertexAttribI4iv")); flextGL.VertexAttribI4ui = reinterpret_cast(loader.load("glVertexAttribI4ui")); flextGL.VertexAttribI4uiv = reinterpret_cast(loader.load("glVertexAttribI4uiv")); flextGL.VertexAttribIPointer = reinterpret_cast(loader.load("glVertexAttribIPointer")); flextGL.WaitSync = reinterpret_cast(loader.load("glWaitSync")); /* GL_ES_VERSION_3_1 */ flextGL.ActiveShaderProgram = reinterpret_cast(loader.load("glActiveShaderProgram")); flextGL.BindImageTexture = reinterpret_cast(loader.load("glBindImageTexture")); flextGL.BindProgramPipeline = reinterpret_cast(loader.load("glBindProgramPipeline")); flextGL.BindVertexBuffer = reinterpret_cast(loader.load("glBindVertexBuffer")); flextGL.CreateShaderProgramv = reinterpret_cast(loader.load("glCreateShaderProgramv")); flextGL.DeleteProgramPipelines = reinterpret_cast(loader.load("glDeleteProgramPipelines")); flextGL.DispatchCompute = reinterpret_cast(loader.load("glDispatchCompute")); flextGL.DispatchComputeIndirect = reinterpret_cast(loader.load("glDispatchComputeIndirect")); flextGL.DrawArraysIndirect = reinterpret_cast(loader.load("glDrawArraysIndirect")); flextGL.DrawElementsIndirect = reinterpret_cast(loader.load("glDrawElementsIndirect")); flextGL.FramebufferParameteri = reinterpret_cast(loader.load("glFramebufferParameteri")); flextGL.GenProgramPipelines = reinterpret_cast(loader.load("glGenProgramPipelines")); flextGL.GetBooleani_v = reinterpret_cast(loader.load("glGetBooleani_v")); flextGL.GetFramebufferParameteriv = reinterpret_cast(loader.load("glGetFramebufferParameteriv")); flextGL.GetMultisamplefv = reinterpret_cast(loader.load("glGetMultisamplefv")); flextGL.GetProgramInterfaceiv = reinterpret_cast(loader.load("glGetProgramInterfaceiv")); flextGL.GetProgramPipelineInfoLog = reinterpret_cast(loader.load("glGetProgramPipelineInfoLog")); flextGL.GetProgramPipelineiv = reinterpret_cast(loader.load("glGetProgramPipelineiv")); flextGL.GetProgramResourceIndex = reinterpret_cast(loader.load("glGetProgramResourceIndex")); flextGL.GetProgramResourceLocation = reinterpret_cast(loader.load("glGetProgramResourceLocation")); flextGL.GetProgramResourceName = reinterpret_cast(loader.load("glGetProgramResourceName")); flextGL.GetProgramResourceiv = reinterpret_cast(loader.load("glGetProgramResourceiv")); flextGL.IsProgramPipeline = reinterpret_cast(loader.load("glIsProgramPipeline")); flextGL.MemoryBarrier = reinterpret_cast(loader.load("glMemoryBarrier")); flextGL.MemoryBarrierByRegion = reinterpret_cast(loader.load("glMemoryBarrierByRegion")); flextGL.ProgramUniform1f = reinterpret_cast(loader.load("glProgramUniform1f")); flextGL.ProgramUniform1fv = reinterpret_cast(loader.load("glProgramUniform1fv")); flextGL.ProgramUniform1i = reinterpret_cast(loader.load("glProgramUniform1i")); flextGL.ProgramUniform1iv = reinterpret_cast(loader.load("glProgramUniform1iv")); flextGL.ProgramUniform1ui = reinterpret_cast(loader.load("glProgramUniform1ui")); flextGL.ProgramUniform1uiv = reinterpret_cast(loader.load("glProgramUniform1uiv")); flextGL.ProgramUniform2f = reinterpret_cast(loader.load("glProgramUniform2f")); flextGL.ProgramUniform2fv = reinterpret_cast(loader.load("glProgramUniform2fv")); flextGL.ProgramUniform2i = reinterpret_cast(loader.load("glProgramUniform2i")); flextGL.ProgramUniform2iv = reinterpret_cast(loader.load("glProgramUniform2iv")); flextGL.ProgramUniform2ui = reinterpret_cast(loader.load("glProgramUniform2ui")); flextGL.ProgramUniform2uiv = reinterpret_cast(loader.load("glProgramUniform2uiv")); flextGL.ProgramUniform3f = reinterpret_cast(loader.load("glProgramUniform3f")); flextGL.ProgramUniform3fv = reinterpret_cast(loader.load("glProgramUniform3fv")); flextGL.ProgramUniform3i = reinterpret_cast(loader.load("glProgramUniform3i")); flextGL.ProgramUniform3iv = reinterpret_cast(loader.load("glProgramUniform3iv")); flextGL.ProgramUniform3ui = reinterpret_cast(loader.load("glProgramUniform3ui")); flextGL.ProgramUniform3uiv = reinterpret_cast(loader.load("glProgramUniform3uiv")); flextGL.ProgramUniform4f = reinterpret_cast(loader.load("glProgramUniform4f")); flextGL.ProgramUniform4fv = reinterpret_cast(loader.load("glProgramUniform4fv")); flextGL.ProgramUniform4i = reinterpret_cast(loader.load("glProgramUniform4i")); flextGL.ProgramUniform4iv = reinterpret_cast(loader.load("glProgramUniform4iv")); flextGL.ProgramUniform4ui = reinterpret_cast(loader.load("glProgramUniform4ui")); flextGL.ProgramUniform4uiv = reinterpret_cast(loader.load("glProgramUniform4uiv")); flextGL.ProgramUniformMatrix2fv = reinterpret_cast(loader.load("glProgramUniformMatrix2fv")); flextGL.ProgramUniformMatrix2x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fv")); flextGL.ProgramUniformMatrix2x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fv")); flextGL.ProgramUniformMatrix3fv = reinterpret_cast(loader.load("glProgramUniformMatrix3fv")); flextGL.ProgramUniformMatrix3x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fv")); flextGL.ProgramUniformMatrix3x4fv = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fv")); flextGL.ProgramUniformMatrix4fv = reinterpret_cast(loader.load("glProgramUniformMatrix4fv")); flextGL.ProgramUniformMatrix4x2fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fv")); flextGL.ProgramUniformMatrix4x3fv = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fv")); flextGL.SampleMaski = reinterpret_cast(loader.load("glSampleMaski")); flextGL.TexStorage2DMultisample = reinterpret_cast(loader.load("glTexStorage2DMultisample")); flextGL.UseProgramStages = reinterpret_cast(loader.load("glUseProgramStages")); flextGL.ValidateProgramPipeline = reinterpret_cast(loader.load("glValidateProgramPipeline")); flextGL.VertexAttribBinding = reinterpret_cast(loader.load("glVertexAttribBinding")); flextGL.VertexAttribFormat = reinterpret_cast(loader.load("glVertexAttribFormat")); flextGL.VertexAttribIFormat = reinterpret_cast(loader.load("glVertexAttribIFormat")); flextGL.VertexBindingDivisor = reinterpret_cast(loader.load("glVertexBindingDivisor")); /* GL_ES_VERSION_3_2 */ flextGL.BlendBarrier = reinterpret_cast(loader.load("glBlendBarrier")); flextGL.BlendEquationSeparatei = reinterpret_cast(loader.load("glBlendEquationSeparatei")); flextGL.BlendEquationi = reinterpret_cast(loader.load("glBlendEquationi")); flextGL.BlendFuncSeparatei = reinterpret_cast(loader.load("glBlendFuncSeparatei")); flextGL.BlendFunci = reinterpret_cast(loader.load("glBlendFunci")); flextGL.ColorMaski = reinterpret_cast(loader.load("glColorMaski")); flextGL.CopyImageSubData = reinterpret_cast(loader.load("glCopyImageSubData")); flextGL.DebugMessageCallback = reinterpret_cast(loader.load("glDebugMessageCallback")); flextGL.DebugMessageControl = reinterpret_cast(loader.load("glDebugMessageControl")); flextGL.DebugMessageInsert = reinterpret_cast(loader.load("glDebugMessageInsert")); flextGL.Disablei = reinterpret_cast(loader.load("glDisablei")); flextGL.DrawElementsBaseVertex = reinterpret_cast(loader.load("glDrawElementsBaseVertex")); flextGL.DrawElementsInstancedBaseVertex = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertex")); flextGL.DrawRangeElementsBaseVertex = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertex")); flextGL.Enablei = reinterpret_cast(loader.load("glEnablei")); flextGL.FramebufferTexture = reinterpret_cast(loader.load("glFramebufferTexture")); flextGL.GetDebugMessageLog = reinterpret_cast(loader.load("glGetDebugMessageLog")); flextGL.GetGraphicsResetStatus = reinterpret_cast(loader.load("glGetGraphicsResetStatus")); flextGL.GetObjectLabel = reinterpret_cast(loader.load("glGetObjectLabel")); flextGL.GetObjectPtrLabel = reinterpret_cast(loader.load("glGetObjectPtrLabel")); flextGL.GetPointerv = reinterpret_cast(loader.load("glGetPointerv")); flextGL.GetSamplerParameterIiv = reinterpret_cast(loader.load("glGetSamplerParameterIiv")); flextGL.GetSamplerParameterIuiv = reinterpret_cast(loader.load("glGetSamplerParameterIuiv")); flextGL.GetTexParameterIiv = reinterpret_cast(loader.load("glGetTexParameterIiv")); flextGL.GetTexParameterIuiv = reinterpret_cast(loader.load("glGetTexParameterIuiv")); flextGL.GetnUniformfv = reinterpret_cast(loader.load("glGetnUniformfv")); flextGL.GetnUniformiv = reinterpret_cast(loader.load("glGetnUniformiv")); flextGL.GetnUniformuiv = reinterpret_cast(loader.load("glGetnUniformuiv")); flextGL.IsEnabledi = reinterpret_cast(loader.load("glIsEnabledi")); flextGL.MinSampleShading = reinterpret_cast(loader.load("glMinSampleShading")); flextGL.ObjectLabel = reinterpret_cast(loader.load("glObjectLabel")); flextGL.ObjectPtrLabel = reinterpret_cast(loader.load("glObjectPtrLabel")); flextGL.PatchParameteri = reinterpret_cast(loader.load("glPatchParameteri")); flextGL.PopDebugGroup = reinterpret_cast(loader.load("glPopDebugGroup")); flextGL.PrimitiveBoundingBox = reinterpret_cast(loader.load("glPrimitiveBoundingBox")); flextGL.PushDebugGroup = reinterpret_cast(loader.load("glPushDebugGroup")); flextGL.ReadnPixels = reinterpret_cast(loader.load("glReadnPixels")); flextGL.SamplerParameterIiv = reinterpret_cast(loader.load("glSamplerParameterIiv")); flextGL.SamplerParameterIuiv = reinterpret_cast(loader.load("glSamplerParameterIuiv")); flextGL.TexBuffer = reinterpret_cast(loader.load("glTexBuffer")); flextGL.TexBufferRange = reinterpret_cast(loader.load("glTexBufferRange")); flextGL.TexParameterIiv = reinterpret_cast(loader.load("glTexParameterIiv")); flextGL.TexParameterIuiv = reinterpret_cast(loader.load("glTexParameterIuiv")); flextGL.TexStorage3DMultisample = reinterpret_cast(loader.load("glTexStorage3DMultisample")); /* GL_EXT_blend_func_extended */ flextGL.BindFragDataLocationEXT = reinterpret_cast(loader.load("glBindFragDataLocationEXT")); flextGL.BindFragDataLocationIndexedEXT = reinterpret_cast(loader.load("glBindFragDataLocationIndexedEXT")); flextGL.GetFragDataIndexEXT = reinterpret_cast(loader.load("glGetFragDataIndexEXT")); flextGL.GetProgramResourceLocationIndexEXT = reinterpret_cast(loader.load("glGetProgramResourceLocationIndexEXT")); /* GL_EXT_buffer_storage */ flextGL.BufferStorageEXT = reinterpret_cast(loader.load("glBufferStorageEXT")); /* GL_EXT_clip_control */ flextGL.ClipControlEXT = reinterpret_cast(loader.load("glClipControlEXT")); /* GL_EXT_copy_image */ flextGL.CopyImageSubDataEXT = reinterpret_cast(loader.load("glCopyImageSubDataEXT")); /* GL_EXT_debug_label */ flextGL.GetObjectLabelEXT = reinterpret_cast(loader.load("glGetObjectLabelEXT")); flextGL.LabelObjectEXT = reinterpret_cast(loader.load("glLabelObjectEXT")); /* GL_EXT_debug_marker */ flextGL.InsertEventMarkerEXT = reinterpret_cast(loader.load("glInsertEventMarkerEXT")); flextGL.PopGroupMarkerEXT = reinterpret_cast(loader.load("glPopGroupMarkerEXT")); flextGL.PushGroupMarkerEXT = reinterpret_cast(loader.load("glPushGroupMarkerEXT")); /* GL_EXT_disjoint_timer_query */ flextGL.BeginQueryEXT = reinterpret_cast(loader.load("glBeginQueryEXT")); flextGL.DeleteQueriesEXT = reinterpret_cast(loader.load("glDeleteQueriesEXT")); flextGL.EndQueryEXT = reinterpret_cast(loader.load("glEndQueryEXT")); flextGL.GenQueriesEXT = reinterpret_cast(loader.load("glGenQueriesEXT")); flextGL.GetInteger64vEXT = reinterpret_cast(loader.load("glGetInteger64vEXT")); flextGL.GetQueryObjecti64vEXT = reinterpret_cast(loader.load("glGetQueryObjecti64vEXT")); flextGL.GetQueryObjectivEXT = reinterpret_cast(loader.load("glGetQueryObjectivEXT")); flextGL.GetQueryObjectui64vEXT = reinterpret_cast(loader.load("glGetQueryObjectui64vEXT")); flextGL.GetQueryObjectuivEXT = reinterpret_cast(loader.load("glGetQueryObjectuivEXT")); flextGL.GetQueryivEXT = reinterpret_cast(loader.load("glGetQueryivEXT")); flextGL.IsQueryEXT = reinterpret_cast(loader.load("glIsQueryEXT")); flextGL.QueryCounterEXT = reinterpret_cast(loader.load("glQueryCounterEXT")); /* GL_EXT_draw_buffers_indexed */ flextGL.BlendEquationSeparateiEXT = reinterpret_cast(loader.load("glBlendEquationSeparateiEXT")); flextGL.BlendEquationiEXT = reinterpret_cast(loader.load("glBlendEquationiEXT")); flextGL.BlendFuncSeparateiEXT = reinterpret_cast(loader.load("glBlendFuncSeparateiEXT")); flextGL.BlendFunciEXT = reinterpret_cast(loader.load("glBlendFunciEXT")); flextGL.ColorMaskiEXT = reinterpret_cast(loader.load("glColorMaskiEXT")); flextGL.DisableiEXT = reinterpret_cast(loader.load("glDisableiEXT")); flextGL.EnableiEXT = reinterpret_cast(loader.load("glEnableiEXT")); flextGL.IsEnablediEXT = reinterpret_cast(loader.load("glIsEnablediEXT")); /* GL_EXT_draw_elements_base_vertex */ flextGL.DrawElementsBaseVertexEXT = reinterpret_cast(loader.load("glDrawElementsBaseVertexEXT")); flextGL.DrawElementsInstancedBaseVertexEXT = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertexEXT")); flextGL.DrawRangeElementsBaseVertexEXT = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertexEXT")); flextGL.MultiDrawElementsBaseVertexEXT = reinterpret_cast(loader.load("glMultiDrawElementsBaseVertexEXT")); /* GL_EXT_geometry_shader */ flextGL.FramebufferTextureEXT = reinterpret_cast(loader.load("glFramebufferTextureEXT")); /* GL_EXT_memory_object */ flextGL.BufferStorageMemEXT = reinterpret_cast(loader.load("glBufferStorageMemEXT")); flextGL.CreateMemoryObjectsEXT = reinterpret_cast(loader.load("glCreateMemoryObjectsEXT")); flextGL.DeleteMemoryObjectsEXT = reinterpret_cast(loader.load("glDeleteMemoryObjectsEXT")); flextGL.GetMemoryObjectParameterivEXT = reinterpret_cast(loader.load("glGetMemoryObjectParameterivEXT")); flextGL.GetUnsignedBytei_vEXT = reinterpret_cast(loader.load("glGetUnsignedBytei_vEXT")); flextGL.GetUnsignedBytevEXT = reinterpret_cast(loader.load("glGetUnsignedBytevEXT")); flextGL.IsMemoryObjectEXT = reinterpret_cast(loader.load("glIsMemoryObjectEXT")); flextGL.MemoryObjectParameterivEXT = reinterpret_cast(loader.load("glMemoryObjectParameterivEXT")); flextGL.NamedBufferStorageMemEXT = reinterpret_cast(loader.load("glNamedBufferStorageMemEXT")); flextGL.TexStorageMem2DEXT = reinterpret_cast(loader.load("glTexStorageMem2DEXT")); flextGL.TexStorageMem2DMultisampleEXT = reinterpret_cast(loader.load("glTexStorageMem2DMultisampleEXT")); flextGL.TexStorageMem3DEXT = reinterpret_cast(loader.load("glTexStorageMem3DEXT")); flextGL.TexStorageMem3DMultisampleEXT = reinterpret_cast(loader.load("glTexStorageMem3DMultisampleEXT")); flextGL.TextureStorageMem2DEXT = reinterpret_cast(loader.load("glTextureStorageMem2DEXT")); flextGL.TextureStorageMem2DMultisampleEXT = reinterpret_cast(loader.load("glTextureStorageMem2DMultisampleEXT")); flextGL.TextureStorageMem3DEXT = reinterpret_cast(loader.load("glTextureStorageMem3DEXT")); flextGL.TextureStorageMem3DMultisampleEXT = reinterpret_cast(loader.load("glTextureStorageMem3DMultisampleEXT")); /* GL_EXT_memory_object_fd */ flextGL.ImportMemoryFdEXT = reinterpret_cast(loader.load("glImportMemoryFdEXT")); /* GL_EXT_memory_object_win32 */ flextGL.ImportMemoryWin32HandleEXT = reinterpret_cast(loader.load("glImportMemoryWin32HandleEXT")); flextGL.ImportMemoryWin32NameEXT = reinterpret_cast(loader.load("glImportMemoryWin32NameEXT")); /* GL_EXT_multi_draw_arrays */ flextGL.MultiDrawArraysEXT = reinterpret_cast(loader.load("glMultiDrawArraysEXT")); flextGL.MultiDrawElementsEXT = reinterpret_cast(loader.load("glMultiDrawElementsEXT")); /* GL_EXT_multi_draw_indirect */ flextGL.MultiDrawArraysIndirectEXT = reinterpret_cast(loader.load("glMultiDrawArraysIndirectEXT")); flextGL.MultiDrawElementsIndirectEXT = reinterpret_cast(loader.load("glMultiDrawElementsIndirectEXT")); /* GL_EXT_multisampled_render_to_texture */ flextGL.FramebufferTexture2DMultisampleEXT = reinterpret_cast(loader.load("glFramebufferTexture2DMultisampleEXT")); flextGL.RenderbufferStorageMultisampleEXT = reinterpret_cast(loader.load("glRenderbufferStorageMultisampleEXT")); /* GL_EXT_polygon_offset_clamp */ flextGL.PolygonOffsetClampEXT = reinterpret_cast(loader.load("glPolygonOffsetClampEXT")); /* GL_EXT_primitive_bounding_box */ flextGL.PrimitiveBoundingBoxEXT = reinterpret_cast(loader.load("glPrimitiveBoundingBoxEXT")); /* GL_EXT_robustness */ flextGL.GetGraphicsResetStatusEXT = reinterpret_cast(loader.load("glGetGraphicsResetStatusEXT")); flextGL.GetnUniformfvEXT = reinterpret_cast(loader.load("glGetnUniformfvEXT")); flextGL.GetnUniformivEXT = reinterpret_cast(loader.load("glGetnUniformivEXT")); flextGL.ReadnPixelsEXT = reinterpret_cast(loader.load("glReadnPixelsEXT")); /* GL_EXT_semaphore */ flextGL.DeleteSemaphoresEXT = reinterpret_cast(loader.load("glDeleteSemaphoresEXT")); flextGL.GenSemaphoresEXT = reinterpret_cast(loader.load("glGenSemaphoresEXT")); flextGL.GetSemaphoreParameterui64vEXT = reinterpret_cast(loader.load("glGetSemaphoreParameterui64vEXT")); flextGL.IsSemaphoreEXT = reinterpret_cast(loader.load("glIsSemaphoreEXT")); flextGL.SemaphoreParameterui64vEXT = reinterpret_cast(loader.load("glSemaphoreParameterui64vEXT")); flextGL.SignalSemaphoreEXT = reinterpret_cast(loader.load("glSignalSemaphoreEXT")); flextGL.WaitSemaphoreEXT = reinterpret_cast(loader.load("glWaitSemaphoreEXT")); /* GL_EXT_semaphore_fd */ flextGL.ImportSemaphoreFdEXT = reinterpret_cast(loader.load("glImportSemaphoreFdEXT")); /* GL_EXT_semaphore_win32 */ flextGL.ImportSemaphoreWin32HandleEXT = reinterpret_cast(loader.load("glImportSemaphoreWin32HandleEXT")); flextGL.ImportSemaphoreWin32NameEXT = reinterpret_cast(loader.load("glImportSemaphoreWin32NameEXT")); /* GL_EXT_separate_shader_objects */ flextGL.ActiveShaderProgramEXT = reinterpret_cast(loader.load("glActiveShaderProgramEXT")); flextGL.BindProgramPipelineEXT = reinterpret_cast(loader.load("glBindProgramPipelineEXT")); flextGL.CreateShaderProgramvEXT = reinterpret_cast(loader.load("glCreateShaderProgramvEXT")); flextGL.DeleteProgramPipelinesEXT = reinterpret_cast(loader.load("glDeleteProgramPipelinesEXT")); flextGL.GenProgramPipelinesEXT = reinterpret_cast(loader.load("glGenProgramPipelinesEXT")); flextGL.GetProgramPipelineInfoLogEXT = reinterpret_cast(loader.load("glGetProgramPipelineInfoLogEXT")); flextGL.GetProgramPipelineivEXT = reinterpret_cast(loader.load("glGetProgramPipelineivEXT")); flextGL.IsProgramPipelineEXT = reinterpret_cast(loader.load("glIsProgramPipelineEXT")); flextGL.ProgramParameteriEXT = reinterpret_cast(loader.load("glProgramParameteriEXT")); flextGL.ProgramUniform1fEXT = reinterpret_cast(loader.load("glProgramUniform1fEXT")); flextGL.ProgramUniform1fvEXT = reinterpret_cast(loader.load("glProgramUniform1fvEXT")); flextGL.ProgramUniform1iEXT = reinterpret_cast(loader.load("glProgramUniform1iEXT")); flextGL.ProgramUniform1ivEXT = reinterpret_cast(loader.load("glProgramUniform1ivEXT")); flextGL.ProgramUniform1uiEXT = reinterpret_cast(loader.load("glProgramUniform1uiEXT")); flextGL.ProgramUniform1uivEXT = reinterpret_cast(loader.load("glProgramUniform1uivEXT")); flextGL.ProgramUniform2fEXT = reinterpret_cast(loader.load("glProgramUniform2fEXT")); flextGL.ProgramUniform2fvEXT = reinterpret_cast(loader.load("glProgramUniform2fvEXT")); flextGL.ProgramUniform2iEXT = reinterpret_cast(loader.load("glProgramUniform2iEXT")); flextGL.ProgramUniform2ivEXT = reinterpret_cast(loader.load("glProgramUniform2ivEXT")); flextGL.ProgramUniform2uiEXT = reinterpret_cast(loader.load("glProgramUniform2uiEXT")); flextGL.ProgramUniform2uivEXT = reinterpret_cast(loader.load("glProgramUniform2uivEXT")); flextGL.ProgramUniform3fEXT = reinterpret_cast(loader.load("glProgramUniform3fEXT")); flextGL.ProgramUniform3fvEXT = reinterpret_cast(loader.load("glProgramUniform3fvEXT")); flextGL.ProgramUniform3iEXT = reinterpret_cast(loader.load("glProgramUniform3iEXT")); flextGL.ProgramUniform3ivEXT = reinterpret_cast(loader.load("glProgramUniform3ivEXT")); flextGL.ProgramUniform3uiEXT = reinterpret_cast(loader.load("glProgramUniform3uiEXT")); flextGL.ProgramUniform3uivEXT = reinterpret_cast(loader.load("glProgramUniform3uivEXT")); flextGL.ProgramUniform4fEXT = reinterpret_cast(loader.load("glProgramUniform4fEXT")); flextGL.ProgramUniform4fvEXT = reinterpret_cast(loader.load("glProgramUniform4fvEXT")); flextGL.ProgramUniform4iEXT = reinterpret_cast(loader.load("glProgramUniform4iEXT")); flextGL.ProgramUniform4ivEXT = reinterpret_cast(loader.load("glProgramUniform4ivEXT")); flextGL.ProgramUniform4uiEXT = reinterpret_cast(loader.load("glProgramUniform4uiEXT")); flextGL.ProgramUniform4uivEXT = reinterpret_cast(loader.load("glProgramUniform4uivEXT")); flextGL.ProgramUniformMatrix2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2fvEXT")); flextGL.ProgramUniformMatrix2x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x3fvEXT")); flextGL.ProgramUniformMatrix2x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix2x4fvEXT")); flextGL.ProgramUniformMatrix3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3fvEXT")); flextGL.ProgramUniformMatrix3x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x2fvEXT")); flextGL.ProgramUniformMatrix3x4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix3x4fvEXT")); flextGL.ProgramUniformMatrix4fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4fvEXT")); flextGL.ProgramUniformMatrix4x2fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x2fvEXT")); flextGL.ProgramUniformMatrix4x3fvEXT = reinterpret_cast(loader.load("glProgramUniformMatrix4x3fvEXT")); flextGL.UseProgramStagesEXT = reinterpret_cast(loader.load("glUseProgramStagesEXT")); flextGL.ValidateProgramPipelineEXT = reinterpret_cast(loader.load("glValidateProgramPipelineEXT")); /* GL_EXT_tessellation_shader */ flextGL.PatchParameteriEXT = reinterpret_cast(loader.load("glPatchParameteriEXT")); /* GL_EXT_texture_border_clamp */ flextGL.GetSamplerParameterIivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIivEXT")); flextGL.GetSamplerParameterIuivEXT = reinterpret_cast(loader.load("glGetSamplerParameterIuivEXT")); flextGL.GetTexParameterIivEXT = reinterpret_cast(loader.load("glGetTexParameterIivEXT")); flextGL.GetTexParameterIuivEXT = reinterpret_cast(loader.load("glGetTexParameterIuivEXT")); flextGL.SamplerParameterIivEXT = reinterpret_cast(loader.load("glSamplerParameterIivEXT")); flextGL.SamplerParameterIuivEXT = reinterpret_cast(loader.load("glSamplerParameterIuivEXT")); flextGL.TexParameterIivEXT = reinterpret_cast(loader.load("glTexParameterIivEXT")); flextGL.TexParameterIuivEXT = reinterpret_cast(loader.load("glTexParameterIuivEXT")); /* GL_EXT_texture_buffer */ flextGL.TexBufferEXT = reinterpret_cast(loader.load("glTexBufferEXT")); flextGL.TexBufferRangeEXT = reinterpret_cast(loader.load("glTexBufferRangeEXT")); /* GL_EXT_texture_view */ flextGL.TextureViewEXT = reinterpret_cast(loader.load("glTextureViewEXT")); /* GL_KHR_blend_equation_advanced */ flextGL.BlendBarrierKHR = reinterpret_cast(loader.load("glBlendBarrierKHR")); /* GL_KHR_debug */ flextGL.DebugMessageCallbackKHR = reinterpret_cast(loader.load("glDebugMessageCallbackKHR")); flextGL.DebugMessageControlKHR = reinterpret_cast(loader.load("glDebugMessageControlKHR")); flextGL.DebugMessageInsertKHR = reinterpret_cast(loader.load("glDebugMessageInsertKHR")); flextGL.GetDebugMessageLogKHR = reinterpret_cast(loader.load("glGetDebugMessageLogKHR")); flextGL.GetObjectLabelKHR = reinterpret_cast(loader.load("glGetObjectLabelKHR")); flextGL.GetObjectPtrLabelKHR = reinterpret_cast(loader.load("glGetObjectPtrLabelKHR")); flextGL.GetPointervKHR = reinterpret_cast(loader.load("glGetPointervKHR")); flextGL.ObjectLabelKHR = reinterpret_cast(loader.load("glObjectLabelKHR")); flextGL.ObjectPtrLabelKHR = reinterpret_cast(loader.load("glObjectPtrLabelKHR")); flextGL.PopDebugGroupKHR = reinterpret_cast(loader.load("glPopDebugGroupKHR")); flextGL.PushDebugGroupKHR = reinterpret_cast(loader.load("glPushDebugGroupKHR")); /* GL_KHR_parallel_shader_compile */ flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast(loader.load("glMaxShaderCompilerThreadsKHR")); /* GL_KHR_robustness */ flextGL.GetGraphicsResetStatusKHR = reinterpret_cast(loader.load("glGetGraphicsResetStatusKHR")); flextGL.GetnUniformfvKHR = reinterpret_cast(loader.load("glGetnUniformfvKHR")); flextGL.GetnUniformivKHR = reinterpret_cast(loader.load("glGetnUniformivKHR")); flextGL.GetnUniformuivKHR = reinterpret_cast(loader.load("glGetnUniformuivKHR")); flextGL.ReadnPixelsKHR = reinterpret_cast(loader.load("glReadnPixelsKHR")); /* GL_NV_polygon_mode */ flextGL.PolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV")); /* GL_NV_sample_locations */ flextGL.FramebufferSampleLocationsfvNV = reinterpret_cast(loader.load("glFramebufferSampleLocationsfvNV")); flextGL.NamedFramebufferSampleLocationsfvNV = reinterpret_cast(loader.load("glNamedFramebufferSampleLocationsfvNV")); flextGL.ResolveDepthValuesNV = reinterpret_cast(loader.load("glResolveDepthValuesNV")); /* GL_OES_draw_elements_base_vertex */ flextGL.DrawElementsBaseVertexOES = reinterpret_cast(loader.load("glDrawElementsBaseVertexOES")); flextGL.DrawElementsInstancedBaseVertexOES = reinterpret_cast(loader.load("glDrawElementsInstancedBaseVertexOES")); flextGL.DrawRangeElementsBaseVertexOES = reinterpret_cast(loader.load("glDrawRangeElementsBaseVertexOES")); /* GL_OES_mapbuffer */ flextGL.GetBufferPointervOES = reinterpret_cast(loader.load("glGetBufferPointervOES")); flextGL.MapBufferOES = reinterpret_cast(loader.load("glMapBufferOES")); flextGL.UnmapBufferOES = reinterpret_cast(loader.load("glUnmapBufferOES")); /* GL_OES_sample_shading */ flextGL.MinSampleShadingOES = reinterpret_cast(loader.load("glMinSampleShadingOES")); /* GL_OES_texture_storage_multisample_2d_array */ flextGL.TexStorage3DMultisampleOES = reinterpret_cast(loader.load("glTexStorage3DMultisampleOES")); /* GL_OES_texture_view */ flextGL.TextureViewOES = reinterpret_cast(loader.load("glTextureViewOES")); /* GL_OVR_multiview */ flextGL.FramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glFramebufferTextureMultiviewOVR")); flextGL.NamedFramebufferTextureMultiviewOVR = reinterpret_cast(loader.load("glNamedFramebufferTextureMultiviewOVR")); }