|Core in version||4.6|
|Core since version||4.0|
|Core ARB extension||ARB_shader_subroutine|
glGetActiveSubroutineName: query the name of an active shader subroutine
void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
- Specifies the name of the program containing the subroutine.
- Specifies the shader stage from which to query the subroutine name.
- Specifies the index of the shader subroutine uniform.
- Specifies the size of the buffer whose address is given in name.
- Specifies the address of a variable which is to receive the length of the shader subroutine uniform name.
- Specifies the address of an array into which the name of the shader subroutine uniform will be written.
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.
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.
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
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.
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/.