GLAPI/glGetSubroutineIndex: Difference between revisions
4.0 API. |
→See Also: Wrong functions to link to. This queries subroutine function indices, not subroutine uniform indices. |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
== Function Definition == | == Function Definition == | ||
GLuint '''glGetSubroutineIndex'''(GLuint | GLuint '''glGetSubroutineIndex'''(GLuint {{param|program}}, GLenum {{param|shadertype}}, const GLchar *{{param|name}}); | ||
; program | ; program | ||
: Specifies the name of the program containing shader stage. | : Specifies the name of the program containing shader stage. | ||
; shadertype | ; shadertype | ||
: Specifies the shader stage from which to query for subroutine uniform index. | : Specifies the shader stage from which to query for subroutine uniform index. {{param|shadertype}} must be one of {{enum|GL_VERTEX_SHADER}}, {{enum|GL_TESS_CONTROL_SHADER}}, {{enum|GL_TESS_EVALUATION_SHADER}}, {{enum|GL_GEOMETRY_SHADER}}, {{enum|GL_FRAGMENT_SHADER}}, or {{enum|GL_COMPUTE_SHADER}}. | ||
; name | ; name | ||
: Specifies the name of the subroutine uniform whose index to query. | : Specifies the name of the subroutine uniform whose index to query. | ||
Line 20: | Line 20: | ||
== Description == | == Description == | ||
'''glGetSubroutineIndex''' returns the index of a subroutine uniform within a shader stage attached to a program object. | '''glGetSubroutineIndex''' returns the index of a subroutine uniform within a shader stage attached to a program object. {{param|program}} contains the name of the program to which the shader is attached. {{param|shadertype}} specifies the stage from which to query shader subroutine index. {{param|name}} contains the null-terminated name of the subroutine uniform whose name to query. | ||
If | If {{param|name}} is not the name of a subroutine uniform in the shader stage, {{enum|GL_INVALID_INDEX}} is returned, but no error is generated. If {{param|name}} is the name of a subroutine uniform in the shader stage, a value between zero and the value of {{enum|GL_ACTIVE_SUBROUTINES}} minus one will be returned. Subroutine indices are assigned using consecutive integers in the range from zero to the value of {{enum|GL_ACTIVE_SUBROUTINES}} minus one for the shader stage. | ||
== Errors == | == Errors == | ||
{{ | {{enum|GL_INVALID_ENUM}} is generated if {{param|shadertype}} or {{param|pname}} is not one of the accepted values. | ||
{{ | {{enum|GL_INVALID_VALUE}} is generated if {{param|program}} is not the name of an existing program object. | ||
== See Also == | == See Also == | ||
{{apifunc|glGetActiveSubroutineName}}, {{apifunc|glGetProgramResourceIndex}}, {{apifunc|glGetProgramResource}} | |||
== Copyright == | == Copyright == | ||
Line 38: | Line 38: | ||
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/ http://opencontent.org/openpub/]. | 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/ http://opencontent.org/openpub/]. | ||
[[Category:API Reference | [[Category:Core API Ref Shader Program Query|GetSubroutineIndex]] | ||
[[Category:Core API Reference|GetSubroutineIndex]] | |||
[[Category:Program Object API State Functions|GetSubroutineIndex]] |
Latest revision as of 08:43, 31 August 2013
Core in version | 4.6 | |
---|---|---|
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/.