## Name

glGetProgramPipeline — retrieve properties of a program pipeline object

## C Specification

`void glGetProgramPipelineiv(` | GLuint pipeline,
| GLenum pname,
| GLint *params`)`;

## Parameters

`pipeline`

  Specifies the name of a program pipeline object whose parameter retrieve.

`pname`

  Specifies the name of the parameter to retrieve.

`params`

  Specifies the address of a variable into which will be written the value or values of `pname` for `pipeline`.

## Description

`glGetProgramPipelineiv` retrieves the value of a property of the program pipeline object `pipeline`. `pname` specifies the name of the parameter whose value to retrieve. The value of the parameter is written to the variable whose address is given by `params`.

If `pname` is `GL_ACTIVE_PROGRAM`, the name of the active program object of the program pipeline object is returned in `params`.

If `pname` is `GL_VERTEX_SHADER`, the name of the current program object for the vertex shader type of the program pipeline object is returned in `params`.

If `pname` is `GL_TESS_CONTROL_SHADER`, the name of the current program object for the tessellation control shader type of the program pipeline object is returned in `params`.

If `pname` is `GL_TESS_EVALUATION_SHADER`, the name of the current program object for the tessellation evaluation shader type of the program pipeline object is returned in `params`.

If `pname` is `GL_GEOMETRY_SHADER`, the name of the current program object for the geometry shader type of the program pipeline object is returned in `params`.

If `pname` is `GL_FRAGMENT_SHADER`, the name of the current program object for the fragment shader type of the program pipeline object is returned in `params`.

If `pname` is `GL_INFO_LOG_LENGTH`, the length of the info log, including the null terminator, is returned in `params`. If there is no info log, zero is returned.

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

`GL_INVALID_ENUM` is generated if `pname` is not one of the accepted values.

## 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
`glGetProgramPipelineiv` | - | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

glGenProgramPipelines, glBindProgramPipeline, glDeleteProgramPipelines

## 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/.