GLGETSUBROUTINEINDEX(3G)

    .SH "NAME" glGetSubroutineIndex - retrieve the index of a subroutine uniform of a given shader stage within a program
    .SH "C SPECIFICATION"

            .HP u GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);

    .SH "PARAMETERS"

        .PP program

                    Specifies the name of the program containing shader stage.

            .RE
            .PP 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.

                .RE
                .PP name

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

                    .RE

                .SH "DESCRIPTION"
                    .PP 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.
                    .PP 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.

                .SH "ERRORS"
                    .PP GL_INVALID_ENUM is generated if shadertype or pname is not one of the accepted values.
                    .PP GL_INVALID_VALUE is generated if program is not the name of an existing program object.

                .SH "VERSION SUPPORT"
                    .TS allbox tab(:); l l l l l l l l l l l l l. T{ glGetSubroutineIndex T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}:T{ T}

                .SH "SEE ALSO"
                    .PP glGetProgram(), glGetActiveSubroutineUniform(), glGetActiveSubroutineUniformName()

                .SH "COPYRIGHT"
                    .PP Copyright © 2010-2014 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/.

COPYRIGHT
Copyright © 2010-2014 Khronos Group.