Signature
Parameters
Variables | Description |
---|---|
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
,
GL_FRAGMENT_SHADER_BIT
and
GL_COMPUTE_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.
Notes
The
GL_COMPUTE_SHADER_BIT
bit is available only if the GL version is 4.3 or greater.
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
.
Version Support
glUseProgramStages |
See Also
Copyright
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/
.