Opentk/Source/Bind/Specifications/Docs/ES20/glReleaseShaderCompiler.xml

65 lines
3.5 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glReleaseShaderCompiler">
<refmeta>
<refentrytitle>glReleaseShaderCompiler</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glReleaseShaderCompiler</refname>
<refpurpose>release resources allocated by the shader compiler</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glReleaseShaderCompiler</function></funcdef>
<paramdef> <parameter>void</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="description"><title>Description</title>
<para>For implementations that support a shader compiler,
<function>glReleaseShaderCompiler</function>
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.</para>
<para>However, if a call to <citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>
is made after a call to <function>glReleaseShaderCompiler</function>, the shader compiler must be restored
to service the compilation request as if <function>glReleaseShaderCompiler</function> had never been called.</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>Shader compiler support is optional, and thus must be queried
before use by calling <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
with argument <constant>GL_SHADER_COMPILER</constant>. <citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glGetShaderPrecisionFormat</refentrytitle></citerefentry>, and
<function>glReleaseShaderCompiler</function> will
each generate <constant>GL_INVALID_OPERATION</constant> on implementations
that do not support a shader compiler. Such implementations instead offer the
<citerefentry><refentrytitle>glShaderBinary</refentrytitle></citerefentry>
alternative for supplying a pre-compiled shader binary.</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para><constant>GL_INVALID_OPERATION</constant> is generated if
a shader compiler is not supported.</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para><citerefentry><refentrytitle>glGet</refentrytitle></citerefentry>
with argument <constant>GL_SHADER_COMPILER</constant></para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para><citerefentry><refentrytitle>glCompileShader</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glShaderSource</refentrytitle></citerefentry></para>
</refsect1>
<refsect1 id="copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
</para>
</refsect1>
</refentry>