GLAPI/glGetProgramBinary

From OpenGL.org
Jump to: navigation, search
glGetProgramBinary
Core in version 4.4
Core since version 4.1
Core ARB extension ARB_get_program_binary

glGetProgramBinary: return a binary representation of a program object's compiled and linked executable source

Function Definition

 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.

Description

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.

Errors

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.

Associated Gets

glGetProgram with argument GL_PROGRAM_BINARY_LENGTH​

See Also

glCreateShaderProgram, glLinkProgram, glProgramBinary

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