'\" t .\" Title: glProgramBinary .\" 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 "GLPROGRAMBINARY" "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" glProgramBinary \- load a program object with a program binary .SH "C SPECIFICATION" .HP \w'void\ glProgramBinary('u .BI "void glProgramBinary(GLuint\ " "program" ", GLenum\ " "binaryFormat" ", const\ void\ *" "binary" ", GLsizei\ " "length" ");" .SH "PARAMETERS" .PP \fIprogram\fR .RS 4 Specifies the name of a program object into which to load a program binary\&. .RE .PP \fIbinaryFormat\fR .RS 4 Specifies the format of the binary data in binary\&. .RE .PP \fIbinary\fR .RS 4 Specifies the address an array containing the binary to be loaded into \fIprogram\fR\&. .RE .PP \fIlength\fR .RS 4 Specifies the number of bytes contained in \fIbinary\fR\&. .RE .SH "DESCRIPTION" .PP \fBglProgramBinary\fR loads a program object with a program binary previously returned from \fBglGetProgramBinary\fR()\&. \fIbinaryFormat\fR and \fIbinary\fR must be those returned by a previous call to \fBglGetProgramBinary\fR(), and \fIlength\fR must be the length returned by \fBglGetProgramBinary\fR(), or by \fBglGetProgram\fR() when called with \fIpname\fR set to \fBGL_PROGRAM_BINARY_LENGTH\fR\&. If these conditions are not met, loading the program binary will fail and \fIprogram\fR\*(Aqs \fBGL_LINK_STATUS\fR will be set to \fBGL_FALSE\fR\&. .PP A program object\*(Aqs program binary is replaced by calls to \fBglLinkProgram\fR() or \fBglProgramBinary\fR\&. When linking success or failure is concerned, \fBglProgramBinary\fR can be considered to perform an implicit linking operation\&. \fBglLinkProgram\fR() and \fBglProgramBinary\fR both set the program object\*(Aqs \fBGL_LINK_STATUS\fR to \fBGL_TRUE\fR or \fBGL_FALSE\fR\&. .PP A successful call to \fBglProgramBinary\fR will reset all uniform variables to their initial values\&. The initial value is either the value of the variable\*(Aqs initializer as specified in the original shader source, or zero if no initializer was present\&. Additionally, all vertex shader input and fragment shader output assignments that were in effect when the program was linked before saving are restored with \fBglProgramBinary\fR is called\&. .SH "ERRORS" .PP \fBGL_INVALID_OPERATION\fR is generated if \fIprogram\fR is not the name of an existing program object\&. .PP \fBGL_INVALID_ENUM\fR is generated if \fIbinaryFormat\fR is not a value recognized by the implementation\&. .SH "NOTES" .PP A program binary may fail to load if the implementation determines that there has been a change in hardware or software configuration from when the program binary was produced such as having been compiled with an incompatible or outdated version of the compiler\&. .SH "ASSOCIATED GETS" .PP \fBglGetProgram\fR() with argument \fBGL_PROGRAM_BINARY_LENGTH\fR .PP \fBglGet\fR() with argument \fBGL_NUM_PROGRAM_BINARY_FORMATS\fR .PP \fBglGet\fR() with argument \fBGL_PROGRAM_BINARY_FORMATS\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{ \fBglProgramBinary\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 \fBglGetProgram\fR(), \fBglGetProgramBinary\fR() .SH "COPYRIGHT" .PP 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 2010-2014 Khronos Group .br