Difference between revisions of "GLAPI/glGetSubroutineIndex"

From OpenGL.org
Jump to: navigation, search
m (Bot: Adding better formatting.)
(See Also: Wrong functions to link to. This queries subroutine function indices, not subroutine uniform indices.)
 
Line 32: Line 32:
 
== See Also ==
 
== See Also ==
  
{{apifunc|glGetActiveSubroutineUniform}}, {{apifunc|glGetActiveSubroutineUniformName}}, {{apifunc|glGetProgramResourceIndex}}, {{apifunc|glGetProgramResource}}
+
{{apifunc|glGetActiveSubroutineName}}, {{apifunc|glGetProgramResourceIndex}}, {{apifunc|glGetProgramResource}}
  
 
== Copyright ==
 
== Copyright ==

Latest revision as of 04:43, 31 August 2013

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

glGetSubroutineIndex: retrieve the index of a subroutine uniform of a given shader stage within a program

Function Definition

 GLuint glGetSubroutineIndex(GLuint program​, GLenum shadertype​, const GLchar *name​);
program
Specifies the name of the program containing shader stage.
shadertype
Specifies the shader stage from which to query for subroutine uniform index. shadertype​ must be one of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER, GL_FRAGMENT_SHADER, or GL_COMPUTE_SHADER.
name
Specifies the name of the subroutine uniform whose index to query.

Description

glGetSubroutineIndex returns the index of a subroutine uniform within 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 shader subroutine index. name​ contains the null-terminated name of the subroutine uniform whose name to query.

If name​ is not the name of a subroutine uniform in the shader stage, GL_INVALID_INDEX is returned, but no error is generated. If name​ is the name of a subroutine uniform in the shader stage, a value between zero and the value of GL_ACTIVE_SUBROUTINES minus one will be returned. Subroutine indices are assigned using consecutive integers in the range from zero to the value of GL_ACTIVE_SUBROUTINES minus one for the shader stage.

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

glGetActiveSubroutineName, glGetProgramResourceIndex, glGetProgramResource

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