# glProgramParameter

## Name

glProgramParameter — specify a parameter for a program object

## C Specification

 void glProgramParameteri( GLuint program, GLenum pname, GLint value);

## Parameters

program

Specifies the name of a program object whose parameter to modify.

pname

Specifies the name of the parameter to modify.

value

Specifies the new value of the parameter specified by pname for program.

## Description

glProgramParameter specifies a new value for the parameter nameed by pname for the program object program.

If pname is GL_PROGRAM_BINARY_RETRIEVABLE_HINT, value should be GL_FALSE or GL_TRUE to indicate to the implementation the intention of the application to retrieve the program's binary representation with glGetProgramBinary. The implementation may use this information to store information that may be useful for a future query of the program's binary. It is recommended to set GL_PROGRAM_BINARY_RETRIEVABLE_HINT for the program to GL_TRUE before calling glLinkProgram, and using the program at run-time if the binary is to be retrieved later.

If pname is GL_PROGRAM_SEPARABLE, value must be GL_TRUE or GL_FALSE and indicates whether program can be bound to individual pipeline stages via glUseProgramStages. A program's GL_PROGRAM_SEPARABLE parameter must be set to GL_TRUE before glLinkProgram is called in order for it to be usable with a program pipeline object. The initial state of GL_PROGRAM_SEPARABLE is GL_FALSE.

## Errors

GL_INVALID_OPERATION is generated if program is not the name of an existing program object.

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

GL_INVALID_VALUE is generated if value is not a valid value for the parameter named by pname.

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