void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
If pname is GL_ACTIVE_SUBROUTINE_UNIFORMS, the number of active subroutine variables in the stage is returned in values.
If pname is GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS, the number of active subroutine variable locations in the stage is returned in values.
If pname is GL_ACTIVE_SUBROUTINES, the number of active subroutines in the stage is returned in values.
If pname is GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH, the length of the longest subroutine uniform for the stage is returned in values.
If pname is GL_ACTIVE_SUBROUTINE_MAX_LENGTH, the length of the longest subroutine name for the stage is returned in values. The returned name length includes space for the null-terminator.
If there is no shader present of type shadertype, the returned value will be consistent with a shader containing no subroutines or subroutine uniforms.
GL_INVALID_VALUE is generated if program is not the name of an existing program object.
|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|