Light | Dark

# docs.GL

OpenGL 4
OpenGL ES 3
OpenGL ES 2

# glReleaseShaderCompiler

## Name

glReleaseShaderCompiler — release resources allocated by the shader compiler

## C Specification

`void glReleaseShaderCompiler(` | void`)`;

## Description

For implementations that support a shader compiler, `glReleaseShaderCompiler` frees resources allocated by the shader compiler. This is a hint from the application that additional shader compilations are unlikely to occur, at least for some period of time, and that the resources consumed by the shader compiler may be released and put to better use elsewhere.

However, if a call to glCompileShader is made after a call to `glReleaseShaderCompiler`, the shader compiler must be restored to service the compilation request as if `glReleaseShaderCompiler` had never been called.

## Notes

Shader compiler support is optional, and thus must be queried before use by calling glGet with argument `GL_SHADER_COMPILER`. glShaderSource, glCompileShader, glGetShaderPrecisionFormat, and `glReleaseShaderCompiler` will each generate `GL_INVALID_OPERATION` on implementations that do not support a shader compiler. Such implementations instead offer the glShaderBinary alternative for supplying a pre-compiled shader binary.

## Errors

`GL_INVALID_OPERATION` is generated if a shader compiler is not supported.

## Associated Gets

glGet with argument `GL_SHADER_COMPILER`

## See Also

glCompileShader, glShaderSource

## Copyright

Copyright © 2008 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. https://opencontent.org/openpub/.

Think you can improve this page? Edit this page on GitHub.