NAME¶
glUseProgramStages - bind stages of a program object to a program pipeline
C SPECIFICATION¶
void
glUseProgramStages(GLuint pipeline,
GLbitfield stages,
GLuint program);
PARAMETERS¶
pipeline
Specifies the program pipeline object to which
to bind stages from program.
stages
Specifies a set of program stages to bind to
the program pipeline object.
program
Specifies the program object containing the
shader executables to use in pipeline.
DESCRIPTION¶
glUseProgramStages binds executables from a program object associated
with a specified set of shader stages to the program pipeline object given by
pipeline.
pipeline specifies the program pipeline object to
which to bind the executables.
stages contains a logical combination of
bits indicating the shader stages to use within
program with the
program pipeline object
pipeline.
stages must be a logical
combination of
GL_VERTEX_SHADER_BIT,
GL_TESS_CONTROL_SHADER_BIT,
GL_TESS_EVALUATION_SHADER_BIT,
GL_GEOMETRY_SHADER_BIT, and
GL_FRAGMENT_SHADER_BIT. Additionally, the special value
GL_ALL_SHADER_BITS may be specified to indicate that all executables
contained in
program should be installed in
pipeline.
If
program refers to a program object with a valid shader attached for an
indicated shader stage,
glUseProgramStages installs the executable code
for that stage in the indicated program pipeline object
pipeline. If
program is zero, or refers to a program object with no valid shader
executable for a given stage, it is as if the pipeline object has no
programmable stage configured for the indicated shader stages. If
stages contains bits other than those listed above, and is not equal to
GL_ALL_SHADER_BITS, an error is generated.
ERRORS¶
GL_INVALID_VALUE is generated if
shaders contains set bits that
are not recognized, and is not the reserved value
GL_ALL_SHADER_BITS.
GL_INVALID_OPERATION is generated if
program refers to a program
object that was not linked with its
GL_PROGRAM_SEPARABLE status set.
GL_INVALID_OPERATION is generated if
program refers to a program
object that has not been successfully linked.
GL_INVALID_OPERATION is generated if
pipeline is not a name
previously returned from a call to
glGenProgramPipelines() or if such a
name has been deleted by a call to
glDeleteProgramPipelines().
SEE ALSO¶
glGenProgramPipelines(),
glDeleteProgramPipelines(),
glIsProgramPipeline()
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/.