## Name

glValidateProgramPipeline — validate a program pipeline object against current GL state

## C Specification

`void glValidateProgramPipeline(` | GLuint pipeline`)`;

## Parameters

`pipeline`

  Specifies the name of a program pipeline object to validate.

## Description

`glValidateProgramPipeline` instructs the implementation to validate the shader executables contained in `pipeline` against the current GL state. The implementation may use this as an opportunity to perform any internal shader modifications that may be required to ensure correct operation of the installed shaders given the current GL state.

After a program pipeline has been validated, its validation status is set to `GL_TRUE`. The validation status of a program pipeline object may be queried by calling glGetProgramPipeline with parameter `GL_VALIDATE_STATUS`.

If `pipeline` is a name previously returned from a call to glGenProgramPipelines but that has not yet been bound by a call to glBindProgramPipeline, a new program pipeline object is created with name `pipeline` and the default state vector.

## Errors

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

## Associated Gets

glGetProgramPipeline with parameter `GL_VALIDATE_STATUS`.

## See Also

glGenProgramPipelines, glBindProgramPipeline, glDeleteProgramPipelines

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