glGetProgramBinary — return a binary representation of a program object's compiled and linked executable source
void glGetProgramBinary( | GLuint program, |
GLsizei bufsize, | |
GLsizei *length, | |
GLenum *binaryFormat, | |
void *binary) ; |
program
Specifies the name of a program object whose binary representation to retrieve.
bufSize
Specifies the size of the buffer whose address is given by binary
.
length
Specifies the address of a variable to receive the number of bytes written into binary
.
binaryFormat
Specifies the address of a variable to receive a token indicating the format of the binary data returned by the GL.
binary
Specifies the address an array into which the GL will return program
's binary representation.
glGetProgramBinary
returns a binary representation of the compiled
and linked executable for program
into the array of bytes whose
address is specified in binary
. The maximum number of bytes that
may be written into binary
is specified by bufSize
.
If the program binary is greater in size than bufSize
bytes,
then an error is generated, otherwise the actual number of bytes written into binary
is returned in the variable whose address is given by length
. If
length
is NULL
, then no length is returned.
The format of the program binary written into binary
is returned in
the variable whose address is given by binaryFormat
, and may be implementation dependent. The binary produced
by the GL may subsequently be returned to the GL by calling glProgramBinary,
with binaryFormat
and length
set to the values
returned by glGetProgramBinary
, and passing the returned binary data
in the binary
parameter.
GL_INVALID_OPERATION
is generated if bufSize
is less than
the size of GL_PROGRAM_BINARY_LENGTH
for program
.
GL_INVALID_OPERATION
is generated if GL_LINK_STATUS
for the
program object is false.
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/.