glBindProgramPipeline.3G man page

glBindProgramPipeline — bind a program pipeline to the current context

C Specification

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

glCreateShader(), glCreateProgram(), glCompileShader(), glLinkProgram(), glGenProgramPipelines(), glDeleteProgramPipelines(), glIsProgramPipeline()