## Name

glActiveShaderProgram — set the active program object for a program pipeline object

## C Specification

`void glActiveShaderProgram(` | GLuint pipeline,
| GLuint program`)`;

## Parameters

`pipeline`

  Specifies the program pipeline object to set the active program object for.

`program`

  Specifies the program object to set as the active program pipeline object `pipeline`.

## Description

`glActiveShaderProgram` sets the linked program named by `program` to be the active program for the program pipeline object `pipeline`. The active program in the active program pipeline object is the target of calls to glUniform when no program has been made current through a call to glUseProgram.

## Errors

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

`GL_INVALID_OPERATION` is generated if `program` refers to a program object that has not been successfully linked.

## Version Support

| OpenGL Version
--- | ---
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5
`glActiveShaderProgram` | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

glGenProgramPipelines, glDeleteProgramPipelines, glIsProgramPipeline, glUseProgram, glUniform

## Copyright

Copyright © 2010-2014 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/.