glUseProgramStages — bind stages of a program object to a program pipeline
void glUseProgramStages(
|
GLuint pipeline, |
GLbitfield stages, | |
GLuint program) ; |
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
.
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.
The GL_COMPUTE_SHADER_BIT
bit is available only if the GL version is 4.3 or greater.
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.
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glUseProgramStages
|
- | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ |
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/.