GLUNIFORMSUBROUTINES(3G)

    .SH "NAME" glUniformSubroutines - load active subroutine uniforms
    .SH "C SPECIFICATION"

            .HP u void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);

    .SH "PARAMETERS"

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

                        Specifies the number of uniform indices stored in indices.

                .RE
                .PP indices

                            Specifies the address of an array holding the indices to load into the shader subroutine variables.

                    .RE

                .SH "DESCRIPTION"
                    .PP glUniformSubroutines loads all active subroutine uniforms for shader stage shadertype of the current program with subroutine indices from indices, storing indices[i] into the uniform at location i. count must be equal to the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS for the program currently in use at shader stage shadertype. Furthermore, all values in indices must be less than the value of GL_ACTIVE_SUBROUTINES for the shader stage.

                .SH "ERRORS"
                    .PP GL_INVALID_OPERATION is generated if no program object is current.
                    .PP GL_INVALID_VALUE is generated if count is not equal to the value of GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS for the shader stage shadertype of the current program.
                    .PP GL_INVALID_VALUE is generated if any value in indices is geater than or equal to the value of GL_ACTIVE_SUBROUTINES for the shader stage shadertype of the current program.
                    .PP GL_INVALID_ENUM is generated if shadertype is not one of the accepted values.

                .SH "ASSOCIATED GETS"
                    .PP glGetProgramStage() with argument GL_ACTIVE_SUBROUTINES
                    .PP glGetProgramStage() with argument GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS

                .SH "VERSION SUPPORT"
                    .TS allbox tab(:); l l l l l l l l l l l l l. T{ glUniformSubroutinesuiv 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(), glGetProgramStage()

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