<!DOCTYPE html>
<html lang="en"> <head><meta charset="utf-8"><title>glValidateProgram - OpenGL ES 2 - docs.gl</title><link rel="shortcut icon" href="/favicon.ico"><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><link rel="stylesheet" href="../jquery-ui.css"><script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script><script src="../jquery-bonsai/jquery.bonsai.js"></script><link href="../jquery-bonsai/jquery.bonsai.css" rel="stylesheet" type="text/css"><script src="../jquery-cookie/jquery.cookie.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=MML_HTMLorMML"></script><link href="../style.css" rel="stylesheet" type="text/css"><link id="pagestyle" href="../style_light.css" rel="stylesheet" type="text/css"><script>
    window.current_api = "es20";
    window.base_directory = "../";
  </script><script src="../docs.gl.search.js"></script><script src="../docs.gl.js"></script></head> <body> <div class="header-bg"> <div class="toggle-container"><a href="#" id="style_light">Light</a> | <a href="#" id="style_dark">Dark</a></div> <div class="header-container"> <div class="header-inner"> <a href="/"><h1 class="header-logo">docs.<span class="thicken">GL</span></h1></a> <input id="search" placeholder="search" size="50"><input id="search_button" type="submit" value="Go"> <span style="clear:both;"></span> </div> </div> </div> <div id="everything"> <div id="toc"> <div id="versions_container"> <select id="versions_dropdown"><option class="versions_option" value="gl21">OpenGL 2.1</option><option class="versions_option" value="gl30">OpenGL 3.0</option><option class="versions_option" value="gl31">OpenGL 3.1</option><option class="versions_option" value="gl32">OpenGL 3.2</option><option class="versions_option" value="gl33">OpenGL 3.3</option><option class="versions_option" value="gl40">OpenGL 4.0</option><option class="versions_option" value="gl41">OpenGL 4.1</option><option class="versions_option" value="gl42">OpenGL 4.2</option><option class="versions_option" value="gl43">OpenGL 4.3</option><option class="versions_option" value="gl44">OpenGL 4.4</option><option class="versions_option" value="gl45">OpenGL 4.5</option><option class="versions_option" value="es20" selected>OpenGL ES 2.0</option><option class="versions_option" value="es30">OpenGL ES 3.0</option><option class="versions_option" value="es31">OpenGL ES 3.1</option><option class="versions_option" value="sl40">GLSL 4.0</option><option class="versions_option" value="sl41">GLSL 4.1</option><option class="versions_option" value="sl42">GLSL 4.2</option><option class="versions_option" value="sl43">GLSL 4.3</option><option class="versions_option" value="sl44">GLSL 4.4</option><option class="versions_option" value="sl45">GLSL 4.5</option><option class="versions_option" value="el30">GLSL ES 3.0</option><option class="versions_option" value="el31">GLSL ES 3.1</option></select> </div> <input id="hide_deprecated" type="checkbox"> <label id="hide_label" for="hide_deprecated">Hide unavailable</label> <ul id="command_categories"><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Textures<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glActiveTexture</a></li><li><a class="rewritelink command es31 gl42 gl43 gl44 gl45">glBindImageTexture</a></li><li><a class="rewritelink command gl44 gl45">glBindImageTextures</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindTexture</a></li><li><a class="rewritelink command gl45">glBindTextureUnit</a></li><li><a class="rewritelink command gl44 gl45">glBindTextures</a></li><li><a class="rewritelink command gl44 gl45">glClearTexImage</a></li><li><a class="rewritelink command gl44 gl45">glClearTexSubImage</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompressedTexImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompressedTexImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompressedTexImage3D</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCompressedTexSubImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCompressedTexSubImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCompressedTexSubImage3D</a></li><li><a class="rewritelink command gl43 gl44 gl45">glCopyImageSubData</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCopyTexImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCopyTexImage2D</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyTexSubImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyTexSubImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyTexSubImage3D</a></li><li><a class="rewritelink command gl45">glCreateTextures</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteTextures</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenTextures</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45 gl45">glGetCompressedTexImage</a></li><li><a class="rewritelink command gl45">glGetCompressedTextureSubImage</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45 gl45">glGetTexImage</a></li><li><a class="rewritelink command es31 es31 gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45 gl45 gl45">glGetTexLevelParameter</a></li><li><a class="rewritelink command es20 es20 es30 es30 es31 es31 gl20 gl20 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glGetTexParameter</a></li><li><a class="rewritelink command gl45">glGetTextureSubImage</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateTexImage</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateTexSubImage</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsTexture</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexBuffer</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glTexBufferRange</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage2D</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage2DMultisample</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage3D</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTexImage3DMultisample</a></li><li><a class="rewritelink command es20 es20 es20 es20 es30 es30 es30 es30 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glTexParameter</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45 gl45">glTexStorage1D</a></li><li><a class="rewritelink command es30 es31 gl42 gl43 gl44 gl45 gl45">glTexStorage2D</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glTexStorage2DMultisample</a></li><li><a class="rewritelink command es30 es31 gl42 gl43 gl44 gl45 gl45">glTexStorage3D</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glTexStorage3DMultisample</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexSubImage1D</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexSubImage2D</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glTexSubImage3D</a></li><li><a class="rewritelink command gl43 gl44 gl45">glTextureView</a></li></ul></li><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Rendering<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClear</a></li><li><a class="rewritelink command es30 es30 es30 es30 es31 es31 es31 es31 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glClearBuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClearColor</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glClearDepth</a></li><li><a class="rewritelink command es20 es30 es31">glClearDepthf</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClearStencil</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glDrawBuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFinish</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFlush</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glReadBuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glReadPixels</a></li></ul></li><li class="category es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl20 gl21">Frame Buffers<ul><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindRenderbuffer</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glBlitFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCheckFramebufferStatus</a></li><li><a class="rewritelink command gl45">glCreateFramebuffers</a></li><li><a class="rewritelink command gl45">glCreateRenderbuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteFramebuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteRenderbuffers</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glDrawBuffers</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glFramebufferParameteri</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glFramebufferRenderbuffer</a></li><li><a class="rewritelink command gl30 gl30 gl30 gl31 gl31 gl31 gl32 gl32 gl32 gl33 gl33 gl33 gl40 gl40 gl40 gl41 gl41 gl41 gl42 gl42 gl42 gl43 gl43 gl43 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glFramebufferTexture</a></li><li><a class="rewritelink command es20 es30 es31">glFramebufferTexture2D</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glFramebufferTextureLayer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenFramebuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenRenderbuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGenerateMipmap</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetFramebufferAttachmentParameter</a></li><li><a class="rewritelink command es20 es30 es31">glGetFramebufferAttachmentParameteriv</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetFramebufferParameter</a></li><li><a class="rewritelink command es31">glGetFramebufferParameteriv</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetRenderbufferParameter</a></li><li><a class="rewritelink command es20 es30 es31">glGetRenderbufferParameteriv</a></li><li><a class="rewritelink command es30 es31 gl43 gl44 gl45 gl45 gl45">glInvalidateFramebuffer</a></li><li><a class="rewritelink command es30 es31 gl43 gl44 gl45">glInvalidateSubFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsFramebuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsRenderbuffer</a></li><li><a class="rewritelink command es20 es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glRenderbufferStorage</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glRenderbufferStorageMultisample</a></li><li><a class="rewritelink command es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glSampleMaski</a></li></ul></li><li class="category open_me es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Shaders<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glAttachShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindAttribLocation</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindFragDataLocation</a></li><li><a class="rewritelink command gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindFragDataLocationIndexed</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCompileShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCreateProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCreateShader</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glCreateShaderProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDetachShader</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glGetActiveAtomicCounterBufferiv</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveAttrib</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveSubroutineName</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveSubroutineUniform</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveSubroutineUniformName</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniform</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformBlock</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformBlockName</a></li><li><a class="rewritelink command es30 es31">glGetActiveUniformBlockiv</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformName</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetActiveUniformsiv</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetAttachedShaders</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetAttribLocation</a></li><li><a class="rewritelink command gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetFragDataIndex</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetFragDataLocation</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetProgram</a></li><li><a class="rewritelink command es30 es31 gl41 gl42 gl43 gl44 gl45">glGetProgramBinary</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetProgramInfoLog</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResource</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResourceIndex</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResourceLocation</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetProgramResourceLocationIndex</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramResourceName</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetProgramStage</a></li><li><a class="rewritelink command es20 es30 es31">glGetProgramiv</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetShaderInfoLog</a></li><li><a class="rewritelink command es20 es30 es31 gl41 gl42 gl43 gl44 gl45">glGetShaderPrecisionFormat</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetShaderSource</a></li><li><a class="rewritelink command es20 es30 es31">glGetShaderiv</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetSubroutineIndex</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetSubroutineUniformLocation</a></li><li><a class="rewritelink command es20 es20 es30 es30 es30 es31 es31 es31 gl20 gl20 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31 gl32 gl32 gl32 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glGetUniform</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformBlockIndex</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformIndices</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformLocation</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetUniformSubroutine</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsProgram</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsShader</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glLinkProgram</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glMinSampleShading</a></li><li><a class="rewritelink command es30 es31 gl41 gl42 gl43 gl44 gl45">glProgramBinary</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glProgramParameter</a></li><li><a class="rewritelink command es30 es31">glProgramParameteri</a></li><li><a class="rewritelink command es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glProgramUniform</a></li><li><a class="rewritelink command es20 es30 es31 gl41 gl42 gl43 gl44 gl45">glReleaseShaderCompiler</a></li><li><a class="rewritelink command es20 es30 es31 gl41 gl42 gl43 gl44 gl45">glShaderBinary</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glShaderSource</a></li><li><a class="rewritelink command gl43 gl44 gl45">glShaderStorageBlockBinding</a></li><li><a class="rewritelink command es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es20 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glUniform</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glUniformBlockBinding</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glUniformSubroutines</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glUseProgram</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glUseProgramStages</a></li><li><a class="rewritelink command current es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glValidateProgram</a></li></ul></li><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Buffer Objects<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindBuffer</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindBufferBase</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindBufferRange</a></li><li><a class="rewritelink command gl44 gl45">glBindBuffersBase</a></li><li><a class="rewritelink command gl44 gl45">glBindBuffersRange</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glBindVertexBuffer</a></li><li><a class="rewritelink command gl44 gl45 gl45">glBindVertexBuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glBufferData</a></li><li><a class="rewritelink command gl44 gl45 gl45">glBufferStorage</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glBufferSubData</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glClearBufferData</a></li><li><a class="rewritelink command gl43 gl44 gl45 gl45">glClearBufferSubData</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glCopyBufferSubData</a></li><li><a class="rewritelink command gl45">glCreateBuffers</a></li><li><a class="rewritelink command gl45">glCreateVertexArrays</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteBuffers</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glDisableVertexAttribArray</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawArrays</a></li><li><a class="rewritelink command es31 gl40 gl41 gl42 gl43 gl44 gl45">glDrawArraysIndirect</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawArraysInstanced</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawArraysInstancedBaseInstance</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElements</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsBaseVertex</a></li><li><a class="rewritelink command es31 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsIndirect</a></li><li><a class="rewritelink command es30 es31 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsInstanced</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawElementsInstancedBaseInstance</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawElementsInstancedBaseVertex</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawElementsInstancedBaseVertexBaseInstance</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawRangeElements</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDrawRangeElementsBaseVertex</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glEnableVertexAttribArray</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glFlushMappedBufferRange</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenBuffers</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45 gl45">glGetBufferParameter</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetBufferParameteriv</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetBufferPointerv</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glGetBufferSubData</a></li><li><a class="rewritelink command gl45 gl45">glGetVertexArrayIndexed</a></li><li><a class="rewritelink command gl45">glGetVertexArrayiv</a></li><li><a class="rewritelink command es20 es20 es30 es30 es30 es30 es31 es31 es31 es31 gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45">glGetVertexAttrib</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetVertexAttribPointerv</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateBufferData</a></li><li><a class="rewritelink command gl43 gl44 gl45">glInvalidateBufferSubData</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsBuffer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glMapBuffer</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glMapBufferRange</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glMultiDrawArrays</a></li><li><a class="rewritelink command gl43 gl44 gl45">glMultiDrawArraysIndirect</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glMultiDrawElements</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glMultiDrawElementsBaseVertex</a></li><li><a class="rewritelink command gl43 gl44 gl45">glMultiDrawElementsIndirect</a></li><li><a class="rewritelink command gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glPatchParameter</a></li><li><a class="rewritelink command gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPrimitiveRestartIndex</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glProvokingVertex</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 gl45">glUnmapBuffer</a></li><li><a class="rewritelink command gl45">glVertexArrayElementBuffer</a></li><li><a class="rewritelink command es20 es20 es20 es20 es20 es20 es20 es20 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es30 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glVertexAttrib</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glVertexAttribBinding</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glVertexAttribDivisor</a></li><li><a class="rewritelink command es31 es31 gl43 gl43 gl43 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45">glVertexAttribFormat</a></li><li><a class="rewritelink command es20 es30 es30 es31 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl41 gl42 gl42 gl42 gl43 gl43 gl43 gl44 gl44 gl44 gl45 gl45 gl45">glVertexAttribPointer</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45 gl45">glVertexBindingDivisor</a></li></ul></li><li class="category es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">State Management<ul><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBlendColor</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendEquation</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendEquationSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendFunc</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glBlendFuncSeparate</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClampColor</a></li><li><a class="rewritelink command gl45">glClipControl</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glColorMask</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glCullFace</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDepthFunc</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDepthMask</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glDepthRange</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glDepthRangeArray</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glDepthRangeIndexed</a></li><li><a class="rewritelink command es20 es30 es31">glDepthRangef</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glDisable</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glEnable</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFrontFace</a></li><li><a class="rewritelink command es20 es20 es20 es30 es30 es30 es30 es30 es30 es31 es31 es31 es31 es31 es31 es31 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45 gl45">glGet</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetError</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glHint</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glIsEnabled</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glLineWidth</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glLogicOp</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glPixelStore</a></li><li><a class="rewritelink command es20 es30 es31">glPixelStorei</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl32 gl32 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glPointParameter</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPointSize</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPolygonMode</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glPolygonOffset</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glSampleCoverage</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glScissor</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glScissorArray</a></li><li><a class="rewritelink command gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glScissorIndexed</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilFunc</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilFuncSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilMask</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilMaskSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilOp</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glStencilOpSeparate</a></li><li><a class="rewritelink command es20 es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glViewport</a></li><li><a class="rewritelink command gl41 gl42 gl43 gl44 gl45">glViewportArray</a></li><li><a class="rewritelink command gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glViewportIndexed</a></li></ul></li><li class="category es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Transform Feedback<ul><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBeginTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glBindTransformFeedback</a></li><li><a class="rewritelink command gl45">glCreateTransformFeedbacks</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteTransformFeedbacks</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glDrawTransformFeedback</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawTransformFeedbackInstanced</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glDrawTransformFeedbackStream</a></li><li><a class="rewritelink command gl42 gl43 gl44 gl45">glDrawTransformFeedbackStreamInstanced</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glEndTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glGenTransformFeedbacks</a></li><li><a class="rewritelink command gl45 gl45 gl45">glGetTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetTransformFeedbackVarying</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glIsTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glPauseTransformFeedback</a></li><li><a class="rewritelink command es30 es31 gl40 gl41 gl42 gl43 gl44 gl45">glResumeTransformFeedback</a></li><li><a class="rewritelink command gl45">glTransformFeedbackBufferBase</a></li><li><a class="rewritelink command gl45">glTransformFeedbackBufferRange</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glTransformFeedbackVaryings</a></li></ul></li><li class="category es31 gl43 gl44 gl45 gl42 es30 gl32 gl33 gl40 gl41 es20 gl20 gl21 gl30 gl31">Utility<ul><li><a class="rewritelink command es31 gl43 gl44 gl45">glDispatchCompute</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glDispatchComputeIndirect</a></li><li><a class="rewritelink command gl45">glGetGraphicsResetStatus</a></li><li><a class="rewritelink command gl42 gl43 gl43 gl44 gl44 gl45 gl45">glGetInternalformat</a></li><li><a class="rewritelink command es30 es31">glGetInternalformativ</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetMultisample</a></li><li><a class="rewritelink command es31">glGetMultisamplefv</a></li><li><a class="rewritelink command es20 es30 es30 es31 es31 gl20 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl40 gl40 gl41 gl41 gl42 gl42 gl43 gl43 gl44 gl44 gl45 gl45">glGetString</a></li><li><a class="rewritelink command es31 es31 gl42 gl43 gl44 gl45 gl45">glMemoryBarrier</a></li></ul></li><li class="category gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45 es30 es31 gl20 gl21">Queries<ul><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBeginConditionalRender</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBeginQuery</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glBeginQueryIndexed</a></li><li><a class="rewritelink command gl45">glCreateQueries</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteQueries</a></li><li><a class="rewritelink command gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glEndConditionalRender</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glEndQuery</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glEndQueryIndexed</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenQueries</a></li><li><a class="rewritelink command gl40 gl41 gl42 gl43 gl44 gl45">glGetQueryIndexed</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31 gl32 gl32 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glGetQueryObject</a></li><li><a class="rewritelink command es30 es31">glGetQueryObjectuiv</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetQueryiv</a></li><li><a class="rewritelink command es30 es31 gl20 gl21 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsQuery</a></li><li><a class="rewritelink command gl33 gl40 gl41 gl42 gl43 gl44 gl45">glQueryCounter</a></li></ul></li><li class="category es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Syncing<ul><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glClientWaitSync</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteSync</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glFenceSync</a></li><li><a class="rewritelink command gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGetSync</a></li><li><a class="rewritelink command es30 es31">glGetSynciv</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsSync</a></li><li><a class="rewritelink command gl45">glTextureBarrier</a></li><li><a class="rewritelink command es30 es31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glWaitSync</a></li></ul></li><li class="category es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Vertex Array Objects<ul><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindVertexArray</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteVertexArrays</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenVertexArrays</a></li><li><a class="rewritelink command es30 es31 gl30 gl31 gl32 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsVertexArray</a></li></ul></li><li class="category es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">Samplers<ul><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glBindSampler</a></li><li><a class="rewritelink command gl44 gl45">glBindSamplers</a></li><li><a class="rewritelink command gl45">glCreateSamplers</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glDeleteSamplers</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glGenSamplers</a></li><li><a class="rewritelink command es30 es30 es31 es31 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45">glGetSamplerParameter</a></li><li><a class="rewritelink command es30 es31 gl33 gl40 gl41 gl42 gl43 gl44 gl45">glIsSampler</a></li><li><a class="rewritelink command es30 es30 es30 es30 es31 es31 es31 es31 gl33 gl33 gl33 gl33 gl33 gl33 gl40 gl40 gl40 gl40 gl40 gl40 gl41 gl41 gl41 gl41 gl41 gl41 gl42 gl42 gl42 gl42 gl42 gl42 gl43 gl43 gl43 gl43 gl43 gl43 gl44 gl44 gl44 gl44 gl44 gl44 gl45 gl45 gl45 gl45 gl45 gl45">glSamplerParameter</a></li></ul></li><li class="category es31 gl41 gl42 gl43 gl44 gl45">Program Pipelines<ul><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glActiveShaderProgram</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glBindProgramPipeline</a></li><li><a class="rewritelink command gl45">glCreateProgramPipelines</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glDeleteProgramPipelines</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glGenProgramPipelines</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glGetProgramPipeline</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glGetProgramPipelineInfoLog</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glIsProgramPipeline</a></li><li><a class="rewritelink command es31 gl41 gl42 gl43 gl44 gl45">glValidateProgramPipeline</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Immediate Mode<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glArrayElement</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glBegin</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glColor</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEnd</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glEvalCoord</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glEvalMesh</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glEvalPoint</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glFogCoord</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glIndex</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glMaterial</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glMultiTexCoord</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glNormal</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glSecondaryColor</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glTexCoord</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glVertex</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">GL2 Rasterization<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glBitmap</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClearIndex</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClipPlane</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glCopyPixels</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glDrawPixels</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glFeedbackBuffer</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glFog</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glGetClipPlane</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glGetMap</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glGetPixelMap</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glGetPolygonStipple</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glInitNames</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glLineStipple</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glLoadName</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMap1</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMap2</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glMapGrid</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPassThrough</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPixelZoom</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPolygonStipple</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopName</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushName</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glRasterPos</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glRect</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glRenderMode</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glSelectBuffer</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31 gl31">glWindowPos</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Client Arrays<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glColorPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glDisableClientState</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEnableClientState</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glFogCoordPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glIndexPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glInterleavedArrays</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glNormalPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopClientAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushClientAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glSecondaryColorPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glTexCoordPointer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glVertexPointer</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Fixed Function<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glAccum</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glAlphaFunc</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClearAccum</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glColorMaterial</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glEdgeFlag</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEdgeFlagPointer</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glGetLight</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glGetMaterial</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glGetTexEnv</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glGetTexGen</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glIndexMask</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glLight</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glLightModel</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushAttrib</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glShadeModel</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31">glTexEnv</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl20 gl20 gl20 gl21 gl21 gl21 gl21 gl21 gl21 gl30 gl30 gl30 gl30 gl30 gl30 gl31 gl31 gl31 gl31 gl31 gl31">glTexGen</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Matrix State<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glFrustum</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glLoadIdentity</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glLoadMatrix</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glLoadTransposeMatrix</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glMatrixMode</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMultMatrix</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glMultTransposeMatrix</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glOrtho</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPopMatrix</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPushMatrix</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glRotate</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glScale</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glTranslate</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">GL2 Textures<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glAreTexturesResident</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glClientActiveTexture</a></li><li><a class="rewritelink command gl20 gl20 gl20 gl21 gl21 gl21 gl30 gl30 gl30 gl31 gl31 gl31">glPixelMap</a></li><li><a class="rewritelink command gl20 gl20 gl21 gl21 gl30 gl30 gl31 gl31">glPixelTransfer</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glPrioritizeTextures</a></li></ul></li><li class="category gl20 gl21 gl30 gl31">Call Lists<ul><li><a class="rewritelink command gl20 gl21 gl30 gl31">glCallList</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glCallLists</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glDeleteLists</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glEndList</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glGenLists</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glIsList</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glListBase</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31">glNewList</a></li></ul></li><li class="category gl43 gl44 gl45 gl20 gl21 gl30 gl31 es31">Debug<ul><li><a class="rewritelink command gl43 gl44 gl45">glDebugMessageCallback</a></li><li><a class="rewritelink command gl43 gl44 gl45">glDebugMessageControl</a></li><li><a class="rewritelink command gl43 gl44 gl45">glDebugMessageInsert</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetDebugMessageLog</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetObjectLabel</a></li><li><a class="rewritelink command gl43 gl44 gl45">glGetObjectPtrLabel</a></li><li><a class="rewritelink command gl20 gl21 gl30 gl31 gl43 gl44 gl45">glGetPointerv</a></li><li><a class="rewritelink command es31 gl43 gl44 gl45">glGetProgramInterface</a></li><li><a class="rewritelink command gl43 gl44 gl45">glObjectLabel</a></li><li><a class="rewritelink command gl43 gl44 gl45">glObjectPtrLabel</a></li><li><a class="rewritelink command gl43 gl44 gl45">glPopDebugGroup</a></li><li><a class="rewritelink command gl43 gl44 gl45">glPushDebugGroup</a></li></ul></li></ul> <ul id="glsl_command_categories"><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Trigonometry<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">acos</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">acosh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">asin</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">asinh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">atan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">atanh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">cos</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">cosh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">degrees</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">radians</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sin</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sinh</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">tan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">tanh</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Mathematics<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">abs</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">ceil</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">clamp</a></li><li><a class="rewritelink command el30 el30 el30 el31 el31 el31 sl33 sl33 sl33 sl40 sl40 sl40 sl41 sl41 sl41 sl42 sl42 sl42 sl43 sl43 sl43 sl44 sl44 sl44 sl45 sl45 sl45">dFdx</a></li><li><a class="rewritelink command el30 el30 el30 el31 el31 el31 sl33 sl33 sl33 sl40 sl40 sl40 sl41 sl41 sl41 sl42 sl42 sl42 sl43 sl43 sl43 sl44 sl44 sl44 sl45 sl45 sl45">dFdy</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">exp</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">exp2</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">floor</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">floor</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">fma</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">fract</a></li><li><a class="rewritelink command el30 el30 el30 el31 el31 el31 sl33 sl33 sl33 sl40 sl40 sl40 sl41 sl41 sl41 sl42 sl42 sl42 sl43 sl43 sl43 sl44 sl44 sl44 sl45 sl45 sl45">fwidth</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">inversesqrt</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">isinf</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">isnan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">log</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">log2</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">max</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">min</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">mix</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">mod</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">modf</a></li><li><a class="rewritelink command sl33 sl33 sl33 sl33 sl33 sl40 sl40 sl40 sl40 sl40 sl41 sl41 sl41 sl41 sl41 sl42 sl42 sl42 sl42 sl42 sl43 sl43 sl43 sl43 sl43 sl44 sl44 sl44 sl44 sl44 sl45 sl45 sl45 sl45 sl45">noise</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">pow</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">round</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">roundEven</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sign</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">smoothstep</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">sqrt</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">step</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">trunc</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Floating-Point<ul><li><a class="rewritelink command el30 el30 el31 el31 sl33 sl33 sl40 sl40 sl41 sl41 sl42 sl42 sl43 sl43 sl44 sl44 sl45 sl45">floatBitsToInt</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">frexp</a></li><li><a class="rewritelink command el30 el30 el31 el31 sl33 sl33 sl40 sl40 sl41 sl41 sl42 sl42 sl43 sl43 sl44 sl44 sl45 sl45">intBitsToFloat</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">ldexp</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">packDouble2x32</a></li><li><a class="rewritelink command el30 el31 sl42 sl43 sl44 sl45">packHalf2x16</a></li><li><a class="rewritelink command el30 el30 el30 el30 el31 el31 el31 el31 sl41 sl41 sl41 sl41 sl42 sl42 sl42 sl42 sl43 sl43 sl43 sl43 sl44 sl44 sl44 sl44 sl45 sl45 sl45 sl45">packUnorm</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">unpackDouble2x32</a></li><li><a class="rewritelink command el30 el31 sl42 sl43 sl44 sl45">unpackHalf2x16</a></li><li><a class="rewritelink command el30 el30 el30 el30 el31 el31 el31 el31 sl41 sl41 sl41 sl41 sl42 sl42 sl42 sl42 sl43 sl43 sl43 sl43 sl44 sl44 sl44 sl44 sl45 sl45 sl45 sl45">unpackUnorm</a></li></ul></li><li class="category sl33 sl40 sl41 sl42 sl43 sl44 sl45 el30 el31">Built-In Variables<ul><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_ClipDistance</a></li><li><a class="rewritelink command sl45">gl_CullDistance</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_FragCoord</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_FragDepth</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_FrontFacing</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_GlobalInvocationID</a></li><li><a class="rewritelink command sl45">gl_HelperInvocation</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_InstanceID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_InvocationID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_Layer</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_LocalInvocationID</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_LocalInvocationIndex</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_NumSamples</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_NumWorkGroups</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_PatchVerticesIn</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PointCoord</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PointSize</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_Position</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PrimitiveID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_PrimitiveIDIn</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SampleID</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SampleMask</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SampleMaskIn</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_SamplePosition</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_TessCoord</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_TessLevelInner</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">gl_TessLevelOuter</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_VertexID</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">gl_ViewportIndex</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_WorkGroupID</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">gl_WorkGroupSize</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Vector<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">cross</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">distance</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">dot</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">equal</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">faceforward</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">length</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">normalize</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">notEqual</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">reflect</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">refract</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Component Comparison<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">all</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">any</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">greaterThan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">greaterThanEqual</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">lessThan</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">lessThanEqual</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">not</a></li></ul></li><li class="category sl40 sl41 sl42 sl43 sl44 sl45 sl33">Geometry Shader<ul><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">EmitStreamVertex</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">EmitVertex</a></li><li><a class="rewritelink command sl33 sl40 sl41 sl42 sl43 sl44 sl45">EndPrimitive</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">EndStreamPrimitive</a></li></ul></li><li class="category sl40 sl41 sl42 sl43 sl44 sl45 el30 el31 sl33">Texture Sampling<ul><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">interpolateAtCentroid</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">interpolateAtOffset</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">interpolateAtSample</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">texelFetch</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">texelFetchOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">texture</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">textureGather</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">textureGatherOffset</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">textureGatherOffsets</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureGrad</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureGradOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureLod</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureLodOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProj</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjGrad</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjGradOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjLod</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjLodOffset</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureProjOffset</a></li><li><a class="rewritelink command sl43 sl44 sl45">textureQueryLevels</a></li><li><a class="rewritelink command sl40 sl41 sl42 sl43 sl44 sl45">textureQueryLod</a></li><li><a class="rewritelink command sl45">textureSamples</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">textureSize</a></li></ul></li><li class="category el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">Matrix<ul><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">determinant</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">groupMemoryBarrier</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">inverse</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">matrixCompMult</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">outerProduct</a></li><li><a class="rewritelink command el30 el31 sl33 sl40 sl41 sl42 sl43 sl44 sl45">transpose</a></li></ul></li><li class="category el31 sl40 sl41 sl42 sl43 sl44 sl45">Integer<ul><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitCount</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitfieldExtract</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitfieldInsert</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">bitfieldReverse</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">findLSB</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">findMSB</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">uaddCarry</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">umulExtended</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">usubBorrow</a></li></ul></li><li class="category el31 sl42 sl43 sl44 sl45">Image<ul><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicAdd</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicAnd</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicCompSwap</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicExchange</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicMax</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicMin</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicOr</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageAtomicXor</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageLoad</a></li><li><a class="rewritelink command sl45">imageSamples</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">imageSize</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">imageStore</a></li></ul></li><li class="category el31 sl43 sl44 sl45 sl42">Atomic<ul><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicAdd</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicAnd</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicCompSwap</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">atomicCounter</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">atomicCounterDecrement</a></li><li><a class="rewritelink command el31 sl42 sl43 sl44 sl45">atomicCounterIncrement</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicExchange</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicMax</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicMin</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicOr</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">atomicXor</a></li></ul></li><li class="category el31 sl40 sl41 sl42 sl43 sl44 sl45">Memory Barrier<ul><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">barrier</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">groupMemoryBarrier</a></li><li><a class="rewritelink command el31 sl40 sl41 sl42 sl43 sl44 sl45">memoryBarrier</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierAtomicCounter</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierBuffer</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierImage</a></li><li><a class="rewritelink command el31 sl43 sl44 sl45">memoryBarrierShared</a></li></ul></li></ul> </div> <div id="khronos"> <div id="command_versions"><a href="../gl4/glValidateProgram">OpenGL 4</a><br><a href="../gl3/glValidateProgram">OpenGL 3</a><br><a href="../gl2/glValidateProgram">OpenGL 2</a><br><a href="../es3/glValidateProgram">OpenGL ES 3</a><br><a class="current" href="../es2/glValidateProgram">OpenGL ES 2</a><br></div> <h1 id="command_title">glValidateProgram</h1> <div class="refentry"><a id="glValidateProgram"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glValidateProgram &#8212; validate a program object</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table class="funcprototype-table" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <strong class="fsfunc">glValidateProgram</strong>(</code></td><td>GLuint <var class="pdparam">program</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>program</code></em></span></dt><dd><p>Specifies the handle of the program object to be validated.</p></dd></dl></div></div><div class="refsect1"><a id="description"></a><h2>Description</h2><p><code class="function">glValidateProgram</code> checks to see whether the executables contained in <em class="parameter"><code>program</code></em> can execute given the current OpenGL state. The information generated by the validation process will be stored in <em class="parameter"><code>program</code></em>'s information log. The validation information may consist of an empty string, or it may be a string containing information about how the current program object interacts with the rest of current OpenGL state. This provides a way for OpenGL implementers to convey more information about why the current program is inefficient, suboptimal, failing to execute, and so on.</p><p>The status of the validation operation will be stored as part of the program object's state. This value will be set to <code class="constant">GL_TRUE</code> if the validation succeeded, and <code class="constant">GL_FALSE</code> otherwise. It can be queried by calling <a class="citerefentry" href="glGetProgramiv"><span class="citerefentry"><span class="refentrytitle">glGetProgramiv</span></span></a> with arguments <em class="parameter"><code>program</code></em> and <code class="constant">GL_VALIDATE_STATUS</code>. If validation is successful, <em class="parameter"><code>program</code></em> is guaranteed to execute given the current state. Otherwise, <em class="parameter"><code>program</code></em> is guaranteed to not execute.</p><p>This function is typically useful only during application development. The informational string stored in the information log is completely implementation dependent; therefore, an application should not expect different OpenGL implementations to produce identical information strings.</p></div><div class="refsect1"><a id="notes"></a><h2>Notes</h2><p>This function mimics the validation operation that OpenGL implementations must perform when rendering commands are issued while programmable shaders are part of current state. The error <code class="constant">GL_INVALID_OPERATION</code> will be generated by <a class="citerefentry" href="glDrawArrays"><span class="citerefentry"><span class="refentrytitle">glDrawArrays</span></span></a> or <a class="citerefentry" href="glDrawElements"><span class="citerefentry"><span class="refentrytitle">glDrawElements</span></span></a> if any two active samplers in the current program object are of different types, but refer to the same texture image unit.</p><p>It may be difficult or cause a performance degradation for applications to catch these errors when rendering commands are issued. Therefore, applications are advised to make calls to <code class="function">glValidateProgram</code> to detect these issues during application development.</p></div><div class="refsect1"><a id="errors"></a><h2>Errors</h2><p><code class="constant">GL_INVALID_VALUE</code> is generated if <em class="parameter"><code>program</code></em> is not a value generated by OpenGL.</p><p><code class="constant">GL_INVALID_OPERATION</code> is generated if <em class="parameter"><code>program</code></em> is not a program object.</p></div><div class="refsect1"><a id="associatedgets"></a><h2>Associated Gets</h2><p><a class="citerefentry" href="glGetProgramiv"><span class="citerefentry"><span class="refentrytitle">glGetProgramiv</span></span></a> with arguments <em class="parameter"><code>program</code></em> and <code class="constant">GL_VALIDATE_STATUS</code></p><p><a class="citerefentry" href="glGetProgramInfoLog"><span class="citerefentry"><span class="refentrytitle">glGetProgramInfoLog</span></span></a> with argument <em class="parameter"><code>program</code></em></p><p><a class="citerefentry" href="glIsProgram"><span class="citerefentry"><span class="refentrytitle">glIsProgram</span></span></a></p></div> <div class="refsect1" id="tutorials"><h2>Tutorials</h2><p></p></div> <div class="refsect1"><a id="seealso"></a><h2>See Also</h2><p><a class="citerefentry" href="glLinkProgram"><span class="citerefentry"><span class="refentrytitle">glLinkProgram</span></span></a>, <a class="citerefentry" href="glUseProgram"><span class="citerefentry"><span class="refentrytitle">glUseProgram</span></span></a></p></div><div class="refsect1"><div id="Copyright"><h2>Copyright</h2><p> Copyright &#169; 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. <a class="ulink" href="https://opencontent.org/openpub/" target="_top">https://opencontent.org/openpub/</a>. </p></div></div></div> </div> <div id="improvepage">Think you can improve this page? <a href="https://github.com/BSVino/docs.gl/blob/mainline/es2/glValidateProgram.xhtml">Edit this page</a> on <a href="https://github.com/BSVino/docs.gl/">GitHub</a>.</div> </div> <div id="footer"> <div id="credits"><a href="https://docs.gl/">docs.gl</a> was written by <a href="https://twitter.com/VinoBS">Jorge Rodr&#237;guez</a>. Each entry is under individual copyright displayed at the bottom of that entry. All other content is in the public domain.<br> docs.gl is completely unaffiliated with OpenGL and Khronos.<br> These pages were last compiled on 12 April 2026 at 14:17:30 GMT.</div> </div> <script async src="../docs.gl.search.js"></script> </body> </html> 