'\" t .\" Title: glValidateProgram .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 01/03/2018 .\" Manual: [FIXME: manual] .\" Source: [FIXME: source] .\" Language: English .\" .TH "GLVALIDATEPROGRAM" "3G" "01/03/2018" "[FIXME: source]" "[FIXME: manual]" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" glValidateProgram \- Validates a program object .SH "C SPECIFICATION" .HP \w'void\ glValidateProgram('u .BI "void glValidateProgram(GLuint\ " "program" ");" .SH "PARAMETERS" .PP \fIprogram\fR .RS 4 Specifies the handle of the program object to be validated\&. .RE .SH "DESCRIPTION" .PP \fBglValidateProgram\fR checks to see whether the executables contained in \fIprogram\fR can execute given the current OpenGL state\&. The information generated by the validation process will be stored in \fIprogram\fR\*(Aqs 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\&. .PP The status of the validation operation will be stored as part of the program object\*(Aqs state\&. This value will be set to \fBGL_TRUE\fR if the validation succeeded, and \fBGL_FALSE\fR otherwise\&. It can be queried by calling \fBglGetProgram\fR() with arguments \fIprogram\fR and \fBGL_VALIDATE_STATUS\fR\&. If validation is successful, \fIprogram\fR is guaranteed to execute given the current state\&. Otherwise, \fIprogram\fR is guaranteed to not execute\&. .PP 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\&. .SH "NOTES" .PP 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 \fBGL_INVALID_OPERATION\fR will be generated by any command that triggers the rendering of geometry if: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} any two active samplers in the current program object are of different types, but refer to the same texture image unit, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} the number of active samplers in the program exceeds the maximum number of texture image units allowed\&. .RE .PP 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 \fBglValidateProgram\fR to detect these issues during application development\&. .SH "ERRORS" .PP \fBGL_INVALID_VALUE\fR is generated if \fIprogram\fR is not a value generated by OpenGL\&. .PP \fBGL_INVALID_OPERATION\fR is generated if \fIprogram\fR is not a program object\&. .SH "ASSOCIATED GETS" .PP \fBglGetProgram\fR() with arguments \fIprogram\fR and \fBGL_VALIDATE_STATUS\fR .PP \fBglGetProgramInfoLog\fR() with argument \fIprogram\fR .PP \fBglIsProgram\fR() .SH "VERSION SUPPORT" .TS allbox tab(:); lB cB s s s s s s s s s s s lB cB cB cB cB cB cB cB cB cB cB cB cB. T{ T}:T{ \fBOpenGL Version\fR T} T{ \fBFunction / Feature Name\fR T}:T{ \fB2\&.0\fR T}:T{ \fB2\&.1\fR T}:T{ \fB3\&.0\fR T}:T{ \fB3\&.1\fR T}:T{ \fB3\&.2\fR T}:T{ \fB3\&.3\fR T}:T{ \fB4\&.0\fR T}:T{ \fB4\&.1\fR T}:T{ \fB4\&.2\fR T}:T{ \fB4\&.3\fR T}:T{ \fB4\&.4\fR T}:T{ \fB4\&.5\fR T} .T& l c c c c c c c c c c c c. T{ \fBglValidateProgram\fR T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} .TE .sp 1 .SH "SEE ALSO" .PP \fBglLinkProgram\fR(), \fBglUseProgram\fR() .SH "COPYRIGHT" .PP Copyright \(co 2003\-2005 3Dlabs Inc\&. Ltd\&. Copyright \(co 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\&. \m[blue]\fBhttp://opencontent\&.org/openpub/\fR\m[]\&. .SH "COPYRIGHT" .br Copyright \(co 2003-2005 3Dlabs Inc. Ltd. .br Copyright \(co 2010-2014 Khronos Group .br