GLAPI/glShaderBinary

From OpenGL Wiki
< GLAPI(Redirected from GlShaderBinary)
Jump to navigation Jump to search
glShaderBinary
Core in version 4.6
Core since version 4.1
Core ARB extension ARB_ES2_compatibility

glShaderBinary: load pre-compiled shader binaries

Function Definition[edit]

 void glShaderBinary(GLsizei count​, const GLuint *shaders​, GLenum binaryFormat​, const void *binary​, GLsizei length​);
count
Specifies the number of shader object handles contained in shaders​.
shaders
Specifies the address of an array of shader handles into which to load pre-compiled shader binaries.
binaryFormat
Specifies the format of the shader binaries contained in binary​.
binary
Specifies the address of an array of bytes containing pre-compiled binary shader code.
length
Specifies the length of the array whose address is given in binary​.

Description[edit]

glShaderBinary loads pre-compiled shader binary code into the count​ shader objects whose handles are given in shaders​. binary​ points to length​ bytes of binary shader code stored in client memory. binaryFormat​ specifies the format of the pre-compiled code.

The binary image contained in binary​ will be decoded according to the extension specification defining the specified binaryFormat​ token. OpenGL does not define any specific binary formats, but it does provide a mechanism to obtain token vaues for such formats provided by such extensions.

Depending on the types of the shader objects in shaders​, glShaderBinary will individually load binary vertex or fragment shaders, or load an executable binary that contains an optimized pair of vertex and fragment shaders stored in the same binary.

Errors[edit]

GL_INVALID_OPERATION is generated if more than one of the handles in shaders​ refers to the same shader object.

GL_INVALID_ENUM is generated if binaryFormat​ is not an accepted value.

GL_INVALID_VALUE is generated if the data pointed to by binary​ does not match the format specified by binaryFormat​.

Associated Gets[edit]

glGet with parameter GL_NUM_SHADER_BINARY_FORMATS.

glGet with parameter GL_SHADER_BINARY_FORMATS.

See Also[edit]

glGetProgramBinary, glProgramBinary, glShaderSource

Copyright[edit]

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