GLAPI/glGetActiveSubroutineName

From OpenGL.org
Jump to: navigation, search
glGetActiveSubroutineName
Core in version 4.4
Core since version 4.0
Core ARB extension ARB_shader_subroutine

glGetActiveSubroutineName: query the name of an active shader subroutine

Function Definition

 void glGetActiveSubroutineName(GLuint program​, GLenum shadertype​, GLuint index​, GLsizei bufsize​, GLsizei *length​, GLchar *name​);
program
Specifies the name of the program containing the subroutine.
shadertype
Specifies the shader stage from which to query the subroutine name.
index
Specifies the index of the shader subroutine uniform.
bufsize
Specifies the size of the buffer whose address is given in name​.
length
Specifies the address of a variable which is to receive the length of the shader subroutine uniform name.
name
Specifies the address of an array into which the name of the shader subroutine uniform will be written.

Description

glGetActiveSubroutineName queries the name of an active shader subroutine uniform from the program object given in program​. index​ specifies the index of the shader subroutine uniform within the shader stage given by stage​, and must between zero and the value of GL_ACTIVE_SUBROUTINES​ minus one for the shader stage.

The name of the selected subroutine is returned as a null-terminated string in name​. The actual number of characters written into name​, not including the null-terminator, is is returned in length​. If length​ is NULL​, no length is returned. The maximum number of characters that may be written into name​, including the null-terminator, is given in bufsize​.

Errors

GL_INVALID_VALUE​ is generated if index​ is greater than or equal to the value of GL_ACTIVE_SUBROUTINES​.

GL_INVALID_VALUE​ is generated if program​ is not the name of an existing program object.

Associated Gets

glGetProgramStage with argument GL_ACTIVE_SUBROUTINES​ or GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH​

glGetProgramInterface with the interface set to GL_VERTEX_SUBROUTINE​, ​GL_TESS_CONTROL_SUBROUTINE​, GL_TESS_EVALUATION_SUBROUTINE​​, GL_GEOMETRY_SUBROUTINE​, ​GL_FRAGMENT_SUBROUTINE​​, or GL_COMPUTE_SUBROUTINE​​ as appropriate, and with GL_ACTIVE_RESOURCES​ or GL_MAX_NAME_LENGTH​

glGetSubroutineIndex

glGetProgramResourceIndex with GL_VERTEX_SUBROUTINE​, ​GL_TESS_CONTROL_SUBROUTINE​, GL_TESS_EVALUATION_SUBROUTINE​​, GL_GEOMETRY_SUBROUTINE​, ​GL_FRAGMENT_SUBROUTINE​​, or GL_COMPUTE_SUBROUTINE​​, as apporpriate.

See Also

glGetSubroutineIndex, glGetActiveSubroutineUniform, glGetProgramResource, glGetProgramResourceIndex, glGetProgramResourceName

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