glGetProgramStage — retrieve properties of a program object corresponding to a specified shader stage
void glGetProgramStageiv( | GLuint program, |
GLenum shadertype, | |
GLenum pname, | |
GLint *values) ; |
program
Specifies the name of the program containing shader stage.
shadertype
Specifies the shader stage from which to query for the subroutine parameter. shadertype
must be one of GL_VERTEX_SHADER
, GL_TESS_CONTROL_SHADER
, GL_TESS_EVALUATION_SHADER
, GL_GEOMETRY_SHADER
or GL_FRAGMENT_SHADER
.
pname
Specifies the parameter of the shader to query. pname
must be GL_ACTIVE_SUBROUTINE_UNIFORMS
, GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
, GL_ACTIVE_SUBROUTINES
, GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH
, or GL_ACTIVE_SUBROUTINE_MAX_LENGTH
.
values
Specifies the address of a variable into which the queried value or values will be placed.
glGetProgramStage
queries a parameter of a shader stage attached to a program object. program
contains the name of the program to which the shader is attached. shadertype
specifies the stage from which to query the parameter. pname
specifies which parameter should be queried. The value or values of the parameter to be queried is returned in the variable whose address is given in 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_ENUM
is generated if shadertype
or pname
is not one of the accepted values.
GL_INVALID_VALUE
is generated if program
is not the name of an existing program object.
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 |
glGetProgramStageiv | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
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. https://opencontent.org/openpub/.