From OpenGL Wiki
< GLAPI(Redirected from GlGetProgramBinary)
Jump to navigation Jump to search
Core in version 4.6
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​);
Specifies the name of a program object whose binary representation to retrieve.
Specifies the size of the buffer whose address is given by binary​.
Specifies the address of a variable to receive the number of bytes written into binary​.
Specifies the address of a variable to receive a token indicating the format of the binary data returned by the GL.
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.

Associated Gets

glGetProgram with argument GL_PROGRAM_BINARY_LENGTH

See Also

glCreateShaderProgram, glLinkProgram, glProgramBinary


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.