GLAPI/glGetProgramBinary: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Bot: Adding better formatting.
Line 24: Line 24:
== Description ==
== Description ==


'''glGetProgramBinary''' returns a binary representation of the compiled and linked executable for {{param|program}} into the array of bytes whose address is specified in {{param|binary}}. The maximum number of bytes that may be written into {{param|binary}} is specified by {{param|bufSize}}. If the program binary is greater in size than {{param|bufSize}} bytes, then an error is generated, otherwise the actual number of bytes written into {{param|binary}} is returned in the variable whose address is given by {{param|length}}. If {{param|length}} is {{code|NULL}}, then no length is returned.
'''glGetProgramBinary''' returns a binary representation of the compiled and linked executable for {{param|program}} into the array of bytes whose address is specified in {{param|binary}}. The maximum number of bytes that may be written into {{param|binary}} is specified by {{param|bufSize}}. If the program binary is greater in size than {{param|bufSize}} bytes, then an error is generated, otherwise the actual number of bytes written into {{param|binary}} is returned in the variable whose address is given by {{param|length}}. If {{param|length}} is {{enum|NULL}}, then no length is returned.


The format of the program binary written into {{param|binary}} is returned in the variable whose address is given by {{param|binaryFormat}}, and may be implementation dependent. The binary produced by the GL may subsequently be returned to the GL by calling {{apifunc|glProgramBinary}}, with {{param|binaryFormat}} and {{param|length}} set to the values returned by '''glGetProgramBinary''', and passing the returned binary data in the {{param|binary}} parameter.
The format of the program binary written into {{param|binary}} is returned in the variable whose address is given by {{param|binaryFormat}}, and may be implementation dependent. The binary produced by the GL may subsequently be returned to the GL by calling {{apifunc|glProgramBinary}}, with {{param|binaryFormat}} and {{param|length}} set to the values returned by '''glGetProgramBinary''', and passing the returned binary data in the {{param|binary}} parameter.

Revision as of 08:27, 13 August 2012

glGetProgramBinary
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​);
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

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