Crate gl [−] [src]
Usage
You can import the pointer style loader and type aliases like so:
extern crate gl; // include the OpenGL type aliases use gl::types::*;
You can load the function pointers into their respective function pointers
using the load_with function. You must supply a loader function from your
context library, This is how it would look using glfw-rs:
// the supplied function must be of the type: // `&fn(symbol: &str) -> Option<extern "C" fn()>` gl::load_with(|s| glfw.get_proc_address(s)); // loading a specific function pointer gl::Viewport::load_with(|s| glfw.get_proc_address(s));
Calling a function that has not been loaded will result in a failure like:
panic!("gl::Viewport was not loaded"), which aviods a segfault. This feature
does not cause any run time overhead because the failing functions are
assigned only when load_with is called.
// accessing an enum gl::TEXTURE_2D; // calling a function unsafe { gl::DrawArrays(gl::TRIANGLES, 0, 3) }; // functions that take pointers are unsafe unsafe { gl::ShaderSource(shader, 1, &c_str, std::ptr::null()) };
Each function pointer has an associated boolean value allowing you to
check if a function has been loaded at run time. The function accesses a
corresponding global boolean that is set when load_with is called, so there
shouldn't be much overhead.
if gl::Viewport::is_loaded() { // do something... }
Modules
Structs
| FnPtr | 
Constants
Functions
| ActiveShaderProgram | |
| ActiveTexture | Fallbacks: ActiveTextureARB | 
| AttachShader | Fallbacks: AttachObjectARB | 
| BeginConditionalRender | Fallbacks: BeginConditionalRenderNV | 
| BeginQuery | Fallbacks: BeginQueryARB | 
| BeginQueryIndexed | |
| BeginTransformFeedback | Fallbacks: BeginTransformFeedbackEXT, BeginTransformFeedbackNV | 
| BindAttribLocation | Fallbacks: BindAttribLocationARB | 
| BindBuffer | Fallbacks: BindBufferARB | 
| BindBufferBase | Fallbacks: BindBufferBaseEXT, BindBufferBaseNV | 
| BindBufferRange | Fallbacks: BindBufferRangeEXT, BindBufferRangeNV | 
| BindBuffersBase | |
| BindBuffersRange | |
| BindFragDataLocation | Fallbacks: BindFragDataLocationEXT | 
| BindFragDataLocationIndexed | |
| BindFramebuffer | |
| BindImageTexture | |
| BindImageTextures | |
| BindProgramPipeline | |
| BindRenderbuffer | |
| BindSampler | |
| BindSamplers | |
| BindTexture | Fallbacks: BindTextureEXT | 
| BindTextureUnit | |
| BindTextures | |
| BindTransformFeedback | |
| BindVertexArray | Fallbacks: BindVertexArrayOES | 
| BindVertexBuffer | |
| BindVertexBuffers | |
| BlendColor | Fallbacks: BlendColorEXT | 
| BlendEquation | Fallbacks: BlendEquationEXT | 
| BlendEquationSeparate | Fallbacks: BlendEquationSeparateEXT | 
| BlendEquationSeparatei | Fallbacks: BlendEquationSeparateIndexedAMD, BlendEquationSeparateiARB, BlendEquationSeparateiEXT, BlendEquationSeparateiOES | 
| BlendEquationi | Fallbacks: BlendEquationIndexedAMD, BlendEquationiARB, BlendEquationiEXT, BlendEquationiOES | 
| BlendFunc | |
| BlendFuncSeparate | Fallbacks: BlendFuncSeparateEXT, BlendFuncSeparateINGR | 
| BlendFuncSeparatei | Fallbacks: BlendFuncSeparateIndexedAMD, BlendFuncSeparateiARB, BlendFuncSeparateiEXT, BlendFuncSeparateiOES | 
| BlendFunci | Fallbacks: BlendFuncIndexedAMD, BlendFunciARB, BlendFunciEXT, BlendFunciOES | 
| BlitFramebuffer | Fallbacks: BlitFramebufferEXT, BlitFramebufferNV | 
| BlitNamedFramebuffer | |
| BufferData | Fallbacks: BufferDataARB | 
| BufferStorage | Fallbacks: BufferStorageEXT | 
| BufferSubData | Fallbacks: BufferSubDataARB | 
| CheckFramebufferStatus | Fallbacks: CheckFramebufferStatusEXT | 
| CheckNamedFramebufferStatus | |
| ClampColor | Fallbacks: ClampColorARB | 
| Clear | |
| ClearBufferData | |
| ClearBufferSubData | |
| ClearBufferfi | |
| ClearBufferfv | |
| ClearBufferiv | |
| ClearBufferuiv | |
| ClearColor | |
| ClearDepth | |
| ClearDepthf | Fallbacks: ClearDepthfOES | 
| ClearNamedBufferData | |
| ClearNamedBufferSubData | |
| ClearNamedFramebufferfi | |
| ClearNamedFramebufferfv | |
| ClearNamedFramebufferiv | |
| ClearNamedFramebufferuiv | |
| ClearStencil | |
| ClearTexImage | |
| ClearTexSubImage | |
| ClientWaitSync | Fallbacks: ClientWaitSyncAPPLE | 
| ClipControl | |
| ColorMask | |
| ColorMaski | Fallbacks: ColorMaskIndexedEXT, ColorMaskiEXT, ColorMaskiOES | 
| ColorP3ui | |
| ColorP3uiv | |
| ColorP4ui | |
| ColorP4uiv | |
| CompileShader | Fallbacks: CompileShaderARB | 
| CompressedTexImage1D | Fallbacks: CompressedTexImage1DARB | 
| CompressedTexImage2D | Fallbacks: CompressedTexImage2DARB | 
| CompressedTexImage3D | Fallbacks: CompressedTexImage3DARB, CompressedTexImage3DOES | 
| CompressedTexSubImage1D | Fallbacks: CompressedTexSubImage1DARB | 
| CompressedTexSubImage2D | Fallbacks: CompressedTexSubImage2DARB | 
| CompressedTexSubImage3D | Fallbacks: CompressedTexSubImage3DARB, CompressedTexSubImage3DOES | 
| CompressedTextureSubImage1D | |
| CompressedTextureSubImage2D | |
| CompressedTextureSubImage3D | |
| CopyBufferSubData | Fallbacks: CopyBufferSubDataNV | 
| CopyImageSubData | Fallbacks: CopyImageSubDataEXT, CopyImageSubDataOES | 
| CopyNamedBufferSubData | |
| CopyTexImage1D | Fallbacks: CopyTexImage1DEXT | 
| CopyTexImage2D | Fallbacks: CopyTexImage2DEXT | 
| CopyTexSubImage1D | Fallbacks: CopyTexSubImage1DEXT | 
| CopyTexSubImage2D | Fallbacks: CopyTexSubImage2DEXT | 
| CopyTexSubImage3D | Fallbacks: CopyTexSubImage3DEXT, CopyTexSubImage3DOES | 
| CopyTextureSubImage1D | |
| CopyTextureSubImage2D | |
| CopyTextureSubImage3D | |
| CreateBuffers | |
| CreateFramebuffers | |
| CreateProgram | Fallbacks: CreateProgramObjectARB | 
| CreateProgramPipelines | |
| CreateQueries | |
| CreateRenderbuffers | |
| CreateSamplers | |
| CreateShader | Fallbacks: CreateShaderObjectARB | 
| CreateShaderProgramv | |
| CreateTextures | |
| CreateTransformFeedbacks | |
| CreateVertexArrays | |
| CullFace | |
| DebugMessageCallback | Fallbacks: DebugMessageCallbackARB, DebugMessageCallbackKHR | 
| DebugMessageControl | Fallbacks: DebugMessageControlARB, DebugMessageControlKHR | 
| DebugMessageInsert | Fallbacks: DebugMessageInsertARB, DebugMessageInsertKHR | 
| DeleteBuffers | Fallbacks: DeleteBuffersARB | 
| DeleteFramebuffers | Fallbacks: DeleteFramebuffersEXT | 
| DeleteProgram | |
| DeleteProgramPipelines | |
| DeleteQueries | Fallbacks: DeleteQueriesARB | 
| DeleteRenderbuffers | Fallbacks: DeleteRenderbuffersEXT | 
| DeleteSamplers | |
| DeleteShader | |
| DeleteSync | Fallbacks: DeleteSyncAPPLE | 
| DeleteTextures | |
| DeleteTransformFeedbacks | Fallbacks: DeleteTransformFeedbacksNV | 
| DeleteVertexArrays | Fallbacks: DeleteVertexArraysAPPLE, DeleteVertexArraysOES | 
| DepthFunc | |
| DepthMask | |
| DepthRange | |
| DepthRangeArrayv | |
| DepthRangeIndexed | |
| DepthRangef | Fallbacks: DepthRangefOES | 
| DetachShader | Fallbacks: DetachObjectARB | 
| Disable | |
| DisableVertexArrayAttrib | |
| DisableVertexAttribArray | Fallbacks: DisableVertexAttribArrayARB | 
| Disablei | Fallbacks: DisableIndexedEXT, DisableiEXT, DisableiNV, DisableiOES | 
| DispatchCompute | |
| DispatchComputeIndirect | |
| DrawArrays | Fallbacks: DrawArraysEXT | 
| DrawArraysIndirect | |
| DrawArraysInstanced | Fallbacks: DrawArraysInstancedANGLE, DrawArraysInstancedARB, DrawArraysInstancedEXT, DrawArraysInstancedNV | 
| DrawArraysInstancedBaseInstance | Fallbacks: DrawArraysInstancedBaseInstanceEXT | 
| DrawBuffer | |
| DrawBuffers | Fallbacks: DrawBuffersARB, DrawBuffersATI, DrawBuffersEXT | 
| DrawElements | |
| DrawElementsBaseVertex | Fallbacks: DrawElementsBaseVertexEXT, DrawElementsBaseVertexOES | 
| DrawElementsIndirect | |
| DrawElementsInstanced | Fallbacks: DrawElementsInstancedANGLE, DrawElementsInstancedARB, DrawElementsInstancedEXT, DrawElementsInstancedNV | 
| DrawElementsInstancedBaseInstance | Fallbacks: DrawElementsInstancedBaseInstanceEXT | 
| DrawElementsInstancedBaseVertex | Fallbacks: DrawElementsInstancedBaseVertexEXT, DrawElementsInstancedBaseVertexOES | 
| DrawElementsInstancedBaseVertexBaseInstance | Fallbacks: DrawElementsInstancedBaseVertexBaseInstanceEXT | 
| DrawRangeElements | Fallbacks: DrawRangeElementsEXT | 
| DrawRangeElementsBaseVertex | Fallbacks: DrawRangeElementsBaseVertexEXT, DrawRangeElementsBaseVertexOES | 
| DrawTransformFeedback | Fallbacks: DrawTransformFeedbackNV | 
| DrawTransformFeedbackInstanced | |
| DrawTransformFeedbackStream | |
| DrawTransformFeedbackStreamInstanced | |
| Enable | |
| EnableVertexArrayAttrib | |
| EnableVertexAttribArray | Fallbacks: EnableVertexAttribArrayARB | 
| Enablei | Fallbacks: EnableIndexedEXT, EnableiEXT, EnableiNV, EnableiOES | 
| EndConditionalRender | Fallbacks: EndConditionalRenderNV, EndConditionalRenderNVX | 
| EndQuery | Fallbacks: EndQueryARB | 
| EndQueryIndexed | |
| EndTransformFeedback | Fallbacks: EndTransformFeedbackEXT, EndTransformFeedbackNV | 
| FenceSync | Fallbacks: FenceSyncAPPLE | 
| Finish | |
| Flush | |
| FlushMappedBufferRange | Fallbacks: FlushMappedBufferRangeAPPLE, FlushMappedBufferRangeEXT | 
| FlushMappedNamedBufferRange | |
| FramebufferParameteri | |
| FramebufferRenderbuffer | Fallbacks: FramebufferRenderbufferEXT | 
| FramebufferTexture | Fallbacks: FramebufferTextureARB, FramebufferTextureEXT, FramebufferTextureOES | 
| FramebufferTexture1D | Fallbacks: FramebufferTexture1DEXT | 
| FramebufferTexture2D | Fallbacks: FramebufferTexture2DEXT | 
| FramebufferTexture3D | Fallbacks: FramebufferTexture3DEXT, FramebufferTexture3DOES | 
| FramebufferTextureLayer | Fallbacks: FramebufferTextureLayerARB, FramebufferTextureLayerEXT | 
| FrontFace | |
| GenBuffers | Fallbacks: GenBuffersARB | 
| GenFramebuffers | Fallbacks: GenFramebuffersEXT | 
| GenProgramPipelines | |
| GenQueries | Fallbacks: GenQueriesARB | 
| GenRenderbuffers | Fallbacks: GenRenderbuffersEXT | 
| GenSamplers | |
| GenTextures | |
| GenTransformFeedbacks | Fallbacks: GenTransformFeedbacksNV | 
| GenVertexArrays | Fallbacks: GenVertexArraysAPPLE, GenVertexArraysOES | 
| GenerateMipmap | Fallbacks: GenerateMipmapEXT | 
| GenerateTextureMipmap | |
| GetActiveAtomicCounterBufferiv | |
| GetActiveAttrib | Fallbacks: GetActiveAttribARB | 
| GetActiveSubroutineName | |
| GetActiveSubroutineUniformName | |
| GetActiveSubroutineUniformiv | |
| GetActiveUniform | Fallbacks: GetActiveUniformARB | 
| GetActiveUniformBlockName | |
| GetActiveUniformBlockiv | |
| GetActiveUniformName | |
| GetActiveUniformsiv | |
| GetAttachedShaders | |
| GetAttribLocation | Fallbacks: GetAttribLocationARB | 
| GetBooleani_v | Fallbacks: GetBooleanIndexedvEXT | 
| GetBooleanv | |
| GetBufferParameteri64v | |
| GetBufferParameteriv | Fallbacks: GetBufferParameterivARB | 
| GetBufferPointerv | Fallbacks: GetBufferPointervARB, GetBufferPointervOES | 
| GetBufferSubData | Fallbacks: GetBufferSubDataARB | 
| GetCompressedTexImage | Fallbacks: GetCompressedTexImageARB | 
| GetCompressedTextureImage | |
| GetCompressedTextureSubImage | |
| GetDebugMessageLog | Fallbacks: GetDebugMessageLogARB, GetDebugMessageLogKHR | 
| GetDoublei_v | Fallbacks: GetDoubleIndexedvEXT, GetDoublei_vEXT | 
| GetDoublev | |
| GetError | |
| GetFloati_v | Fallbacks: GetFloatIndexedvEXT, GetFloati_vEXT, GetFloati_vNV | 
| GetFloatv | |
| GetFragDataIndex | |
| GetFragDataLocation | Fallbacks: GetFragDataLocationEXT | 
| GetFramebufferAttachmentParameteriv | Fallbacks: GetFramebufferAttachmentParameterivEXT | 
| GetFramebufferParameteriv | |
| GetGraphicsResetStatus | Fallbacks: GetGraphicsResetStatusKHR | 
| GetInteger64i_v | |
| GetInteger64v | Fallbacks: GetInteger64vAPPLE | 
| GetIntegeri_v | Fallbacks: GetIntegerIndexedvEXT | 
| GetIntegerv | |
| GetInternalformati64v | |
| GetInternalformativ | |
| GetMultisamplefv | Fallbacks: GetMultisamplefvNV | 
| GetNamedBufferParameteri64v | |
| GetNamedBufferParameteriv | |
| GetNamedBufferPointerv | |
| GetNamedBufferSubData | |
| GetNamedFramebufferAttachmentParameteriv | |
| GetNamedFramebufferParameteriv | |
| GetNamedRenderbufferParameteriv | |
| GetObjectLabel | Fallbacks: GetObjectLabelKHR | 
| GetObjectPtrLabel | Fallbacks: GetObjectPtrLabelKHR | 
| GetPointerv | Fallbacks: GetPointervEXT, GetPointervKHR | 
| GetProgramBinary | Fallbacks: GetProgramBinaryOES | 
| GetProgramInfoLog | |
| GetProgramInterfaceiv | |
| GetProgramPipelineInfoLog | |
| GetProgramPipelineiv | |
| GetProgramResourceIndex | |
| GetProgramResourceLocation | |
| GetProgramResourceLocationIndex | |
| GetProgramResourceName | |
| GetProgramResourceiv | |
| GetProgramStageiv | |
| GetProgramiv | |
| GetQueryBufferObjecti64v | |
| GetQueryBufferObjectiv | |
| GetQueryBufferObjectui64v | |
| GetQueryBufferObjectuiv | |
| GetQueryIndexediv | |
| GetQueryObjecti64v | Fallbacks: GetQueryObjecti64vEXT | 
| GetQueryObjectiv | Fallbacks: GetQueryObjectivARB, GetQueryObjectivEXT | 
| GetQueryObjectui64v | Fallbacks: GetQueryObjectui64vEXT | 
| GetQueryObjectuiv | Fallbacks: GetQueryObjectuivARB | 
| GetQueryiv | Fallbacks: GetQueryivARB | 
| GetRenderbufferParameteriv | Fallbacks: GetRenderbufferParameterivEXT | 
| GetSamplerParameterIiv | Fallbacks: GetSamplerParameterIivEXT, GetSamplerParameterIivOES | 
| GetSamplerParameterIuiv | Fallbacks: GetSamplerParameterIuivEXT, GetSamplerParameterIuivOES | 
| GetSamplerParameterfv | |
| GetSamplerParameteriv | |
| GetShaderInfoLog | |
| GetShaderPrecisionFormat | |
| GetShaderSource | Fallbacks: GetShaderSourceARB | 
| GetShaderiv | |
| GetString | |
| GetStringi | |
| GetSubroutineIndex | |
| GetSubroutineUniformLocation | |
| GetSynciv | Fallbacks: GetSyncivAPPLE | 
| GetTexImage | |
| GetTexLevelParameterfv | |
| GetTexLevelParameteriv | |
| GetTexParameterIiv | Fallbacks: GetTexParameterIivEXT, GetTexParameterIivOES | 
| GetTexParameterIuiv | Fallbacks: GetTexParameterIuivEXT, GetTexParameterIuivOES | 
| GetTexParameterfv | |
| GetTexParameteriv | |
| GetTextureImage | |
| GetTextureLevelParameterfv | |
| GetTextureLevelParameteriv | |
| GetTextureParameterIiv | |
| GetTextureParameterIuiv | |
| GetTextureParameterfv | |
| GetTextureParameteriv | |
| GetTextureSubImage | |
| GetTransformFeedbackVarying | Fallbacks: GetTransformFeedbackVaryingEXT | 
| GetTransformFeedbacki64_v | |
| GetTransformFeedbacki_v | |
| GetTransformFeedbackiv | |
| GetUniformBlockIndex | |
| GetUniformIndices | |
| GetUniformLocation | Fallbacks: GetUniformLocationARB | 
| GetUniformSubroutineuiv | |
| GetUniformdv | |
| GetUniformfv | Fallbacks: GetUniformfvARB | 
| GetUniformiv | Fallbacks: GetUniformivARB | 
| GetUniformuiv | Fallbacks: GetUniformuivEXT | 
| GetVertexArrayIndexed64iv | |
| GetVertexArrayIndexediv | |
| GetVertexArrayiv | |
| GetVertexAttribIiv | Fallbacks: GetVertexAttribIivEXT | 
| GetVertexAttribIuiv | Fallbacks: GetVertexAttribIuivEXT | 
| GetVertexAttribLdv | Fallbacks: GetVertexAttribLdvEXT | 
| GetVertexAttribPointerv | Fallbacks: GetVertexAttribPointervARB, GetVertexAttribPointervNV | 
| GetVertexAttribdv | Fallbacks: GetVertexAttribdvARB, GetVertexAttribdvNV | 
| GetVertexAttribfv | Fallbacks: GetVertexAttribfvARB, GetVertexAttribfvNV | 
| GetVertexAttribiv | Fallbacks: GetVertexAttribivARB, GetVertexAttribivNV | 
| GetnColorTable | |
| GetnCompressedTexImage | |
| GetnConvolutionFilter | |
| GetnHistogram | |
| GetnMapdv | |
| GetnMapfv | |
| GetnMapiv | |
| GetnMinmax | |
| GetnPixelMapfv | |
| GetnPixelMapuiv | |
| GetnPixelMapusv | |
| GetnPolygonStipple | |
| GetnSeparableFilter | |
| GetnTexImage | |
| GetnUniformdv | |
| GetnUniformfv | Fallbacks: GetnUniformfvKHR | 
| GetnUniformiv | Fallbacks: GetnUniformivKHR | 
| GetnUniformuiv | Fallbacks: GetnUniformuivKHR | 
| Hint | |
| InvalidateBufferData | |
| InvalidateBufferSubData | |
| InvalidateFramebuffer | |
| InvalidateNamedFramebufferData | |
| InvalidateNamedFramebufferSubData | |
| InvalidateSubFramebuffer | |
| InvalidateTexImage | |
| InvalidateTexSubImage | |
| IsBuffer | Fallbacks: IsBufferARB | 
| IsEnabled | |
| IsEnabledi | Fallbacks: IsEnabledIndexedEXT, IsEnablediEXT, IsEnablediNV, IsEnablediOES | 
| IsFramebuffer | Fallbacks: IsFramebufferEXT | 
| IsProgram | |
| IsProgramPipeline | |
| IsQuery | Fallbacks: IsQueryARB | 
| IsRenderbuffer | Fallbacks: IsRenderbufferEXT | 
| IsSampler | |
| IsShader | |
| IsSync | Fallbacks: IsSyncAPPLE | 
| IsTexture | |
| IsTransformFeedback | Fallbacks: IsTransformFeedbackNV | 
| IsVertexArray | Fallbacks: IsVertexArrayAPPLE, IsVertexArrayOES | 
| LineWidth | |
| LinkProgram | Fallbacks: LinkProgramARB | 
| LogicOp | |
| MapBuffer | Fallbacks: MapBufferARB, MapBufferOES | 
| MapBufferRange | Fallbacks: MapBufferRangeEXT | 
| MapNamedBuffer | |
| MapNamedBufferRange | |
| MemoryBarrier | Fallbacks: MemoryBarrierEXT | 
| MemoryBarrierByRegion | |
| MinSampleShading | Fallbacks: MinSampleShadingARB, MinSampleShadingOES | 
| MultiDrawArrays | Fallbacks: MultiDrawArraysEXT | 
| MultiDrawArraysIndirect | Fallbacks: MultiDrawArraysIndirectAMD, MultiDrawArraysIndirectEXT | 
| MultiDrawElements | Fallbacks: MultiDrawElementsEXT | 
| MultiDrawElementsBaseVertex | Fallbacks: MultiDrawElementsBaseVertexEXT, MultiDrawElementsBaseVertexOES | 
| MultiDrawElementsIndirect | Fallbacks: MultiDrawElementsIndirectAMD, MultiDrawElementsIndirectEXT | 
| MultiTexCoordP1ui | |
| MultiTexCoordP1uiv | |
| MultiTexCoordP2ui | |
| MultiTexCoordP2uiv | |
| MultiTexCoordP3ui | |
| MultiTexCoordP3uiv | |
| MultiTexCoordP4ui | |
| MultiTexCoordP4uiv | |
| NamedBufferData | |
| NamedBufferStorage | Fallbacks: NamedBufferStorageEXT | 
| NamedBufferSubData | Fallbacks: NamedBufferSubDataEXT | 
| NamedFramebufferDrawBuffer | |
| NamedFramebufferDrawBuffers | |
| NamedFramebufferParameteri | |
| NamedFramebufferReadBuffer | |
| NamedFramebufferRenderbuffer | |
| NamedFramebufferTexture | |
| NamedFramebufferTextureLayer | |
| NamedRenderbufferStorage | |
| NamedRenderbufferStorageMultisample | |
| NormalP3ui | |
| NormalP3uiv | |
| ObjectLabel | Fallbacks: ObjectLabelKHR | 
| ObjectPtrLabel | Fallbacks: ObjectPtrLabelKHR | 
| PatchParameterfv | |
| PatchParameteri | Fallbacks: PatchParameteriEXT, PatchParameteriOES | 
| PauseTransformFeedback | Fallbacks: PauseTransformFeedbackNV | 
| PixelStoref | |
| PixelStorei | |
| PointParameterf | Fallbacks: PointParameterfARB, PointParameterfEXT, PointParameterfSGIS | 
| PointParameterfv | Fallbacks: PointParameterfvARB, PointParameterfvEXT, PointParameterfvSGIS | 
| PointParameteri | Fallbacks: PointParameteriNV | 
| PointParameteriv | Fallbacks: PointParameterivNV | 
| PointSize | |
| PolygonMode | Fallbacks: PolygonModeNV | 
| PolygonOffset | |
| PopDebugGroup | Fallbacks: PopDebugGroupKHR | 
| PrimitiveRestartIndex | |
| ProgramBinary | Fallbacks: ProgramBinaryOES | 
| ProgramParameteri | Fallbacks: ProgramParameteriARB, ProgramParameteriEXT | 
| ProgramUniform1d | |
| ProgramUniform1dv | |
| ProgramUniform1f | Fallbacks: ProgramUniform1fEXT | 
| ProgramUniform1fv | Fallbacks: ProgramUniform1fvEXT | 
| ProgramUniform1i | Fallbacks: ProgramUniform1iEXT | 
| ProgramUniform1iv | Fallbacks: ProgramUniform1ivEXT | 
| ProgramUniform1ui | Fallbacks: ProgramUniform1uiEXT | 
| ProgramUniform1uiv | Fallbacks: ProgramUniform1uivEXT | 
| ProgramUniform2d | |
| ProgramUniform2dv | |
| ProgramUniform2f | Fallbacks: ProgramUniform2fEXT | 
| ProgramUniform2fv | Fallbacks: ProgramUniform2fvEXT | 
| ProgramUniform2i | Fallbacks: ProgramUniform2iEXT | 
| ProgramUniform2iv | Fallbacks: ProgramUniform2ivEXT | 
| ProgramUniform2ui | Fallbacks: ProgramUniform2uiEXT | 
| ProgramUniform2uiv | Fallbacks: ProgramUniform2uivEXT | 
| ProgramUniform3d | |
| ProgramUniform3dv | |
| ProgramUniform3f | Fallbacks: ProgramUniform3fEXT | 
| ProgramUniform3fv | Fallbacks: ProgramUniform3fvEXT | 
| ProgramUniform3i | Fallbacks: ProgramUniform3iEXT | 
| ProgramUniform3iv | Fallbacks: ProgramUniform3ivEXT | 
| ProgramUniform3ui | Fallbacks: ProgramUniform3uiEXT | 
| ProgramUniform3uiv | Fallbacks: ProgramUniform3uivEXT | 
| ProgramUniform4d | |
| ProgramUniform4dv | |
| ProgramUniform4f | Fallbacks: ProgramUniform4fEXT | 
| ProgramUniform4fv | Fallbacks: ProgramUniform4fvEXT | 
| ProgramUniform4i | Fallbacks: ProgramUniform4iEXT | 
| ProgramUniform4iv | Fallbacks: ProgramUniform4ivEXT | 
| ProgramUniform4ui | Fallbacks: ProgramUniform4uiEXT | 
| ProgramUniform4uiv | Fallbacks: ProgramUniform4uivEXT | 
| ProgramUniformMatrix2dv | |
| ProgramUniformMatrix2fv | Fallbacks: ProgramUniformMatrix2fvEXT | 
| ProgramUniformMatrix2x3dv | |
| ProgramUniformMatrix2x3fv | Fallbacks: ProgramUniformMatrix2x3fvEXT | 
| ProgramUniformMatrix2x4dv | |
| ProgramUniformMatrix2x4fv | Fallbacks: ProgramUniformMatrix2x4fvEXT | 
| ProgramUniformMatrix3dv | |
| ProgramUniformMatrix3fv | Fallbacks: ProgramUniformMatrix3fvEXT | 
| ProgramUniformMatrix3x2dv | |
| ProgramUniformMatrix3x2fv | Fallbacks: ProgramUniformMatrix3x2fvEXT | 
| ProgramUniformMatrix3x4dv | |
| ProgramUniformMatrix3x4fv | Fallbacks: ProgramUniformMatrix3x4fvEXT | 
| ProgramUniformMatrix4dv | |
| ProgramUniformMatrix4fv | Fallbacks: ProgramUniformMatrix4fvEXT | 
| ProgramUniformMatrix4x2dv | |
| ProgramUniformMatrix4x2fv | Fallbacks: ProgramUniformMatrix4x2fvEXT | 
| ProgramUniformMatrix4x3dv | |
| ProgramUniformMatrix4x3fv | Fallbacks: ProgramUniformMatrix4x3fvEXT | 
| ProvokingVertex | Fallbacks: ProvokingVertexEXT | 
| PushDebugGroup | Fallbacks: PushDebugGroupKHR | 
| QueryCounter | Fallbacks: QueryCounterEXT | 
| ReadBuffer | |
| ReadPixels | |
| ReadnPixels | Fallbacks: ReadnPixelsARB, ReadnPixelsEXT, ReadnPixelsKHR | 
| ReleaseShaderCompiler | |
| RenderbufferStorage | Fallbacks: RenderbufferStorageEXT | 
| RenderbufferStorageMultisample | Fallbacks: RenderbufferStorageMultisampleEXT, RenderbufferStorageMultisampleNV | 
| ResumeTransformFeedback | Fallbacks: ResumeTransformFeedbackNV | 
| SampleCoverage | Fallbacks: SampleCoverageARB | 
| SampleMaski | |
| SamplerParameterIiv | Fallbacks: SamplerParameterIivEXT, SamplerParameterIivOES | 
| SamplerParameterIuiv | Fallbacks: SamplerParameterIuivEXT, SamplerParameterIuivOES | 
| SamplerParameterf | |
| SamplerParameterfv | |
| SamplerParameteri | |
| SamplerParameteriv | |
| Scissor | |
| ScissorArrayv | Fallbacks: ScissorArrayvNV | 
| ScissorIndexed | Fallbacks: ScissorIndexedNV | 
| ScissorIndexedv | Fallbacks: ScissorIndexedvNV | 
| SecondaryColorP3ui | |
| SecondaryColorP3uiv | |
| ShaderBinary | |
| ShaderSource | Fallbacks: ShaderSourceARB | 
| ShaderStorageBlockBinding | |
| StencilFunc | |
| StencilFuncSeparate | |
| StencilMask | |
| StencilMaskSeparate | |
| StencilOp | |
| StencilOpSeparate | Fallbacks: StencilOpSeparateATI | 
| TexBuffer | Fallbacks: TexBufferARB, TexBufferEXT, TexBufferOES | 
| TexBufferRange | Fallbacks: TexBufferRangeEXT, TexBufferRangeOES | 
| TexCoordP1ui | |
| TexCoordP1uiv | |
| TexCoordP2ui | |
| TexCoordP2uiv | |
| TexCoordP3ui | |
| TexCoordP3uiv | |
| TexCoordP4ui | |
| TexCoordP4uiv | |
| TexImage1D | |
| TexImage2D | |
| TexImage2DMultisample | |
| TexImage3D | Fallbacks: TexImage3DEXT, TexImage3DOES | 
| TexImage3DMultisample | |
| TexParameterIiv | Fallbacks: TexParameterIivEXT, TexParameterIivOES | 
| TexParameterIuiv | Fallbacks: TexParameterIuivEXT, TexParameterIuivOES | 
| TexParameterf | |
| TexParameterfv | |
| TexParameteri | |
| TexParameteriv | |
| TexStorage1D | Fallbacks: TexStorage1DEXT | 
| TexStorage2D | Fallbacks: TexStorage2DEXT | 
| TexStorage2DMultisample | |
| TexStorage3D | Fallbacks: TexStorage3DEXT | 
| TexStorage3DMultisample | Fallbacks: TexStorage3DMultisampleOES | 
| TexSubImage1D | Fallbacks: TexSubImage1DEXT | 
| TexSubImage2D | Fallbacks: TexSubImage2DEXT | 
| TexSubImage3D | Fallbacks: TexSubImage3DEXT, TexSubImage3DOES | 
| TextureBarrier | |
| TextureBuffer | |
| TextureBufferRange | |
| TextureParameterIiv | |
| TextureParameterIuiv | |
| TextureParameterf | |
| TextureParameterfv | |
| TextureParameteri | |
| TextureParameteriv | |
| TextureStorage1D | |
| TextureStorage2D | |
| TextureStorage2DMultisample | |
| TextureStorage3D | |
| TextureStorage3DMultisample | |
| TextureSubImage1D | |
| TextureSubImage2D | |
| TextureSubImage3D | |
| TextureView | Fallbacks: TextureViewEXT, TextureViewOES | 
| TransformFeedbackBufferBase | |
| TransformFeedbackBufferRange | |
| TransformFeedbackVaryings | Fallbacks: TransformFeedbackVaryingsEXT | 
| Uniform1d | |
| Uniform1dv | |
| Uniform1f | Fallbacks: Uniform1fARB | 
| Uniform1fv | Fallbacks: Uniform1fvARB | 
| Uniform1i | Fallbacks: Uniform1iARB | 
| Uniform1iv | Fallbacks: Uniform1ivARB | 
| Uniform1ui | Fallbacks: Uniform1uiEXT | 
| Uniform1uiv | Fallbacks: Uniform1uivEXT | 
| Uniform2d | |
| Uniform2dv | |
| Uniform2f | Fallbacks: Uniform2fARB | 
| Uniform2fv | Fallbacks: Uniform2fvARB | 
| Uniform2i | Fallbacks: Uniform2iARB | 
| Uniform2iv | Fallbacks: Uniform2ivARB | 
| Uniform2ui | Fallbacks: Uniform2uiEXT | 
| Uniform2uiv | Fallbacks: Uniform2uivEXT | 
| Uniform3d | |
| Uniform3dv | |
| Uniform3f | Fallbacks: Uniform3fARB | 
| Uniform3fv | Fallbacks: Uniform3fvARB | 
| Uniform3i | Fallbacks: Uniform3iARB | 
| Uniform3iv | Fallbacks: Uniform3ivARB | 
| Uniform3ui | Fallbacks: Uniform3uiEXT | 
| Uniform3uiv | Fallbacks: Uniform3uivEXT | 
| Uniform4d | |
| Uniform4dv | |
| Uniform4f | Fallbacks: Uniform4fARB | 
| Uniform4fv | Fallbacks: Uniform4fvARB | 
| Uniform4i | Fallbacks: Uniform4iARB | 
| Uniform4iv | Fallbacks: Uniform4ivARB | 
| Uniform4ui | Fallbacks: Uniform4uiEXT | 
| Uniform4uiv | Fallbacks: Uniform4uivEXT | 
| UniformBlockBinding | |
| UniformMatrix2dv | |
| UniformMatrix2fv | Fallbacks: UniformMatrix2fvARB | 
| UniformMatrix2x3dv | |
| UniformMatrix2x3fv | Fallbacks: UniformMatrix2x3fvNV | 
| UniformMatrix2x4dv | |
| UniformMatrix2x4fv | Fallbacks: UniformMatrix2x4fvNV | 
| UniformMatrix3dv | |
| UniformMatrix3fv | Fallbacks: UniformMatrix3fvARB | 
| UniformMatrix3x2dv | |
| UniformMatrix3x2fv | Fallbacks: UniformMatrix3x2fvNV | 
| UniformMatrix3x4dv | |
| UniformMatrix3x4fv | Fallbacks: UniformMatrix3x4fvNV | 
| UniformMatrix4dv | |
| UniformMatrix4fv | Fallbacks: UniformMatrix4fvARB | 
| UniformMatrix4x2dv | |
| UniformMatrix4x2fv | Fallbacks: UniformMatrix4x2fvNV | 
| UniformMatrix4x3dv | |
| UniformMatrix4x3fv | Fallbacks: UniformMatrix4x3fvNV | 
| UniformSubroutinesuiv | |
| UnmapBuffer | Fallbacks: UnmapBufferARB, UnmapBufferOES | 
| UnmapNamedBuffer | |
| UseProgram | Fallbacks: UseProgramObjectARB | 
| UseProgramStages | |
| ValidateProgram | Fallbacks: ValidateProgramARB | 
| ValidateProgramPipeline | |
| VertexArrayAttribBinding | |
| VertexArrayAttribFormat | |
| VertexArrayAttribIFormat | |
| VertexArrayAttribLFormat | |
| VertexArrayBindingDivisor | |
| VertexArrayElementBuffer | |
| VertexArrayVertexBuffer | |
| VertexArrayVertexBuffers | |
| VertexAttrib1d | Fallbacks: VertexAttrib1dARB, VertexAttrib1dNV | 
| VertexAttrib1dv | Fallbacks: VertexAttrib1dvARB, VertexAttrib1dvNV | 
| VertexAttrib1f | Fallbacks: VertexAttrib1fARB, VertexAttrib1fNV | 
| VertexAttrib1fv | Fallbacks: VertexAttrib1fvARB, VertexAttrib1fvNV | 
| VertexAttrib1s | Fallbacks: VertexAttrib1sARB, VertexAttrib1sNV | 
| VertexAttrib1sv | Fallbacks: VertexAttrib1svARB, VertexAttrib1svNV | 
| VertexAttrib2d | Fallbacks: VertexAttrib2dARB, VertexAttrib2dNV | 
| VertexAttrib2dv | Fallbacks: VertexAttrib2dvARB, VertexAttrib2dvNV | 
| VertexAttrib2f | Fallbacks: VertexAttrib2fARB, VertexAttrib2fNV | 
| VertexAttrib2fv | Fallbacks: VertexAttrib2fvARB, VertexAttrib2fvNV | 
| VertexAttrib2s | Fallbacks: VertexAttrib2sARB, VertexAttrib2sNV | 
| VertexAttrib2sv | Fallbacks: VertexAttrib2svARB, VertexAttrib2svNV | 
| VertexAttrib3d | Fallbacks: VertexAttrib3dARB, VertexAttrib3dNV | 
| VertexAttrib3dv | Fallbacks: VertexAttrib3dvARB, VertexAttrib3dvNV | 
| VertexAttrib3f | Fallbacks: VertexAttrib3fARB, VertexAttrib3fNV | 
| VertexAttrib3fv | Fallbacks: VertexAttrib3fvARB, VertexAttrib3fvNV | 
| VertexAttrib3s | Fallbacks: VertexAttrib3sARB, VertexAttrib3sNV | 
| VertexAttrib3sv | Fallbacks: VertexAttrib3svARB, VertexAttrib3svNV | 
| VertexAttrib4Nbv | Fallbacks: VertexAttrib4NbvARB | 
| VertexAttrib4Niv | Fallbacks: VertexAttrib4NivARB | 
| VertexAttrib4Nsv | Fallbacks: VertexAttrib4NsvARB | 
| VertexAttrib4Nub | Fallbacks: VertexAttrib4NubARB, VertexAttrib4ubNV | 
| VertexAttrib4Nubv | Fallbacks: VertexAttrib4NubvARB, VertexAttrib4ubvNV | 
| VertexAttrib4Nuiv | Fallbacks: VertexAttrib4NuivARB | 
| VertexAttrib4Nusv | Fallbacks: VertexAttrib4NusvARB | 
| VertexAttrib4bv | Fallbacks: VertexAttrib4bvARB | 
| VertexAttrib4d | Fallbacks: VertexAttrib4dARB, VertexAttrib4dNV | 
| VertexAttrib4dv | Fallbacks: VertexAttrib4dvARB, VertexAttrib4dvNV | 
| VertexAttrib4f | Fallbacks: VertexAttrib4fARB, VertexAttrib4fNV | 
| VertexAttrib4fv | Fallbacks: VertexAttrib4fvARB, VertexAttrib4fvNV | 
| VertexAttrib4iv | Fallbacks: VertexAttrib4ivARB | 
| VertexAttrib4s | Fallbacks: VertexAttrib4sARB, VertexAttrib4sNV | 
| VertexAttrib4sv | Fallbacks: VertexAttrib4svARB, VertexAttrib4svNV | 
| VertexAttrib4ubv | Fallbacks: VertexAttrib4ubvARB | 
| VertexAttrib4uiv | Fallbacks: VertexAttrib4uivARB | 
| VertexAttrib4usv | Fallbacks: VertexAttrib4usvARB | 
| VertexAttribBinding | |
| VertexAttribDivisor | Fallbacks: VertexAttribDivisorANGLE, VertexAttribDivisorARB, VertexAttribDivisorEXT, VertexAttribDivisorNV | 
| VertexAttribFormat | |
| VertexAttribI1i | Fallbacks: VertexAttribI1iEXT | 
| VertexAttribI1iv | Fallbacks: VertexAttribI1ivEXT | 
| VertexAttribI1ui | Fallbacks: VertexAttribI1uiEXT | 
| VertexAttribI1uiv | Fallbacks: VertexAttribI1uivEXT | 
| VertexAttribI2i | Fallbacks: VertexAttribI2iEXT | 
| VertexAttribI2iv | Fallbacks: VertexAttribI2ivEXT | 
| VertexAttribI2ui | Fallbacks: VertexAttribI2uiEXT | 
| VertexAttribI2uiv | Fallbacks: VertexAttribI2uivEXT | 
| VertexAttribI3i | Fallbacks: VertexAttribI3iEXT | 
| VertexAttribI3iv | Fallbacks: VertexAttribI3ivEXT | 
| VertexAttribI3ui | Fallbacks: VertexAttribI3uiEXT | 
| VertexAttribI3uiv | Fallbacks: VertexAttribI3uivEXT | 
| VertexAttribI4bv | Fallbacks: VertexAttribI4bvEXT | 
| VertexAttribI4i | Fallbacks: VertexAttribI4iEXT | 
| VertexAttribI4iv | Fallbacks: VertexAttribI4ivEXT | 
| VertexAttribI4sv | Fallbacks: VertexAttribI4svEXT | 
| VertexAttribI4ubv | Fallbacks: VertexAttribI4ubvEXT | 
| VertexAttribI4ui | Fallbacks: VertexAttribI4uiEXT | 
| VertexAttribI4uiv | Fallbacks: VertexAttribI4uivEXT | 
| VertexAttribI4usv | Fallbacks: VertexAttribI4usvEXT | 
| VertexAttribIFormat | |
| VertexAttribIPointer | Fallbacks: VertexAttribIPointerEXT | 
| VertexAttribL1d | Fallbacks: VertexAttribL1dEXT | 
| VertexAttribL1dv | Fallbacks: VertexAttribL1dvEXT | 
| VertexAttribL2d | Fallbacks: VertexAttribL2dEXT | 
| VertexAttribL2dv | Fallbacks: VertexAttribL2dvEXT | 
| VertexAttribL3d | Fallbacks: VertexAttribL3dEXT | 
| VertexAttribL3dv | Fallbacks: VertexAttribL3dvEXT | 
| VertexAttribL4d | Fallbacks: VertexAttribL4dEXT | 
| VertexAttribL4dv | Fallbacks: VertexAttribL4dvEXT | 
| VertexAttribLFormat | |
| VertexAttribLPointer | Fallbacks: VertexAttribLPointerEXT | 
| VertexAttribP1ui | |
| VertexAttribP1uiv | |
| VertexAttribP2ui | |
| VertexAttribP2uiv | |
| VertexAttribP3ui | |
| VertexAttribP3uiv | |
| VertexAttribP4ui | |
| VertexAttribP4uiv | |
| VertexAttribPointer | Fallbacks: VertexAttribPointerARB | 
| VertexBindingDivisor | |
| VertexP2ui | |
| VertexP2uiv | |
| VertexP3ui | |
| VertexP3uiv | |
| VertexP4ui | |
| VertexP4uiv | |
| Viewport | |
| ViewportArrayv | Fallbacks: ViewportArrayvNV | 
| ViewportIndexedf | Fallbacks: ViewportIndexedfNV | 
| ViewportIndexedfv | Fallbacks: ViewportIndexedfvNV | 
| WaitSync | Fallbacks: WaitSyncAPPLE | 
| load_with | Load each OpenGL symbol using a custom load function. This allows for the
use of functions like  |