Provided by: opengl-4-man-doc_1.0~svn22917-1_all bug

NAME

       glGetSubroutineUniformLocation - retrieve the location of a subroutine uniform of a given
       shader stage within a program

C SPECIFICATION

       GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype,
                                            const GLchar *name);

PARAMETERS

       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 or GL_FRAGMENT_SHADER.

       name
           Specifies the name of the subroutine uniform whose index to query.

DESCRIPTION

       glGetSubroutineUniformLocation returns the location of the subroutine uniform variable
       name in the shader stage of type shadertype attached to program, with behavior otherwise
       identical to glGetUniformLocation().

       If name is not the name of a subroutine uniform in the shader stage, -1 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_SUBROUTINE_LOCATIONS minus one will be
       returned. Subroutine locations are assigned using consecutive integers in the range from
       zero to the value of GL_ACTIVE_SUBROUTINE_LOCATIONS minus one for the shader stage. For
       active subroutine uniforms declared as arrays, the declared array elements are assigned
       consecutive locations.

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(), glGetActiveSubroutineUniform(), glGetActiveSubroutineUniformName(),
       glGetUniformLocation()

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

AUTHORS

       opengl.org