Provided by: opengl-4-man-doc_1.0~svn22917-1_all bug

NAME

       glValidateProgram - Validates a program object

C SPECIFICATION

       void glValidateProgram(GLuint program);

PARAMETERS

       program
           Specifies the handle of the program object to be validated.

DESCRIPTION

       glValidateProgram checks to see whether the executables contained in program can execute given the
       current OpenGL state. The information generated by the validation process will be stored in program's
       information log. The validation information may consist of an empty string, or it may be a string
       containing information about how the current program object interacts with the rest of current OpenGL
       state. This provides a way for OpenGL implementers to convey more information about why the current
       program is inefficient, suboptimal, failing to execute, and so on.

       The status of the validation operation will be stored as part of the program object's state. This value
       will be set to GL_TRUE if the validation succeeded, and GL_FALSE otherwise. It can be queried by calling
       glGetProgram() with arguments program and GL_VALIDATE_STATUS. If validation is successful, program is
       guaranteed to execute given the current state. Otherwise, program is guaranteed to not execute.

       This function is typically useful only during application development. The informational string stored in
       the information log is completely implementation dependent; therefore, an application should not expect
       different OpenGL implementations to produce identical information strings.

NOTES

       This function mimics the validation operation that OpenGL implementations must perform when rendering
       commands are issued while programmable shaders are part of current state. The error GL_INVALID_OPERATION
       will be generated by any command that triggers the rendering of geometry if:

       •   any two active samplers in the current program object are of different types, but refer to the same
           texture image unit,

       •   the number of active samplers in the program exceeds the maximum number of texture image units
           allowed.

       It may be difficult or cause a performance degradation for applications to catch these errors when
       rendering commands are issued. Therefore, applications are advised to make calls to glValidateProgram to
       detect these issues during application development.

ERRORS

       GL_INVALID_VALUE is generated if program is not a value generated by OpenGL.

       GL_INVALID_OPERATION is generated if program is not a program object.

ASSOCIATED GETS

       glGetProgram() with arguments program and GL_VALIDATE_STATUS

       glGetProgramInfoLog() with argument program

       glIsProgram()

SEE ALSO

       glLinkProgram(), glUseProgram()

COPYRIGHT

       Copyright © 2003-2005 3Dlabs Inc. Ltd. 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/.

AUTHORS

       opengl.org