Difference between revisions of "GLAPI/glGetProgramStage"

From OpenGL.org
Jump to: navigation, search
m (Bot: Adding better formatting.)
(See Also)
 
Line 44: Line 44:
 
== See Also ==
 
== See Also ==
  
{{apifunc|glGetProgram}}, {{apifunc|glGetProgramInterface}}
+
{{apifunc|glGetProgram}}, {{apifunc|glGetProgramInterface}}, {{apifunc|glGetSubroutineIndex}}
  
 
== Copyright ==
 
== Copyright ==

Latest revision as of 04:32, 31 August 2013

glGetProgramStage
Core in version 4.5
Core since version 4.0
Core ARB extension ARB_shader_subroutine

glGetProgramStage: retrieve properties of a program object corresponding to a specified shader stage

Function Definition

 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.

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, glGetProgramInterface, glGetSubroutineIndex

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