NAME¶
glGetProgramStage - retrieve properties of a program object corresponding to a
specified shader stage
C SPECIFICATION¶
void
glGetProgramStageiv(GLuint program,
GLenum shadertype, GLenum pname,
GLint *values);
PARAMETERS¶
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.
DESCRIPTION¶
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.
ERRORS¶
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.
SEE ALSO¶
glGetProgram()
COPYRIGHT¶
Copyright © 2010 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/.