From OpenGL Wiki
Jump to: navigation, search
Core in version 4.6
Core since version 4.1
Core ARB extension ARB_separate_shader_objects

glBindProgramPipeline: bind a program pipeline to the current context

Function Definition

 void glBindProgramPipeline(GLuint pipeline​);
Specifies the name of the pipeline object to bind to the context.


glBindProgramPipeline binds a program pipeline object to the current context. pipeline​ must be a name previously returned from a call to glGenProgramPipelines. If no program pipeline exists with name pipeline​ then a new pipeline object is created with that name and initialized to the default state vector.

When a program pipeline object is bound using glBindProgramPipeline, any previous binding is broken and is replaced with a binding to the specified pipeline object. If pipeline​ is zero, the previous binding is broken and is not replaced, leaving no pipeline object bound. If no current program object has been established by glUseProgram, the program objects used for each stage and for uniform updates are taken from the bound program pipeline object, if any. If there is a current program object established by glUseProgram, the bound program pipeline object has no effect on rendering or uniform updates. When a bound program pipeline object is used for rendering, individual shader executables are taken from its program objects.


GL_INVALID_OPERATION is generated if pipeline​ is not zero or a name previously returned from a call to glGenProgramPipelines or if such a name has been deleted by a call to glDeleteProgramPipelines.

See Also

glActiveShaderProgram, glGenProgramPipelines, glDeleteProgramPipelines, glIsProgramPipeline, glUseProgramStages


Copyright © 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999.