glBindProgramPipeline

3G

glBindProgramPipeline

bind a program pipeline to the current context

# C Specification

                    void glBindProgramPipeline
                    GLuint pipeline

## Parameters

`pipeline`

- Specifies the name of the pipeline object to bind to the context.

## Description

`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.

## Errors

`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

## Copyright

Copyright 2010-2013 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. http://opencontent.org/openpub/.