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