<?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 xml:base="" id="eglReleaseTexImage">
    <refentryinfo>
         <copyright>
             <year>2003-2014</year>
             <holder>The Khronos Group Inc.</holder>
         </copyright>
    </refentryinfo>
    <refmeta>
        <refentrytitle>eglReleaseTexImage</refentrytitle>
        <manvolnum>3G</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>eglReleaseTexImage</refname>
        <refpurpose>
            Releases a color buffer that is being used as a texture
        </refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>C Specification</title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>EGLBoolean <function>eglReleaseTexImage</function></funcdef>
                <paramdef>EGLDisplay <parameter>display</parameter></paramdef>
                <paramdef>EGLSurface <parameter>surface</parameter></paramdef>
                <paramdef>EGLint <parameter>buffer</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <refsect1 id="parameters"><title>Parameters</title>
        <variablelist>
            <varlistentry>
                <term><parameter>display</parameter></term>
                <listitem><para>Specifies the EGL display connection.</para></listitem>
            </varlistentry>
            <varlistentry>
                <term><parameter>surface</parameter></term>
                <listitem>
                    <para>
                        Specifies the EGL surface.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term><parameter>buffer</parameter></term>
                <listitem><para>Specifies the texture image data.</para></listitem>
            </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 id="description"><title>Description</title>
        <para>
            The specified color buffer is released back to the surface. The surface is made
            available for reading and writing when it no longer has any color buffers bound as
            textures.
        </para>
    </refsect1>
    <refsect1 id="notes"><title>Notes</title>
        <para>
            If the specified color buffer is no longer bound to a texture (e.g., because the
            texture object was deleted) then eglReleaseTexImage has no effect. No error is
            generated.
        </para>
        <para>
            The contents of the color buffer are undefined when it is first released. In particular,
            there is no guarantee that the texture image is still present. However, the contents of
            other color buffers are unaffected by this call. Also, the contents of the depth and stencil buffers
            are not affected by <citerefentry><refentrytitle>eglBindTexImage</refentrytitle></citerefentry>
            and <function>eglReleaseTexImage</function>.
        </para>
        <para>
            After a color buffer is released from a texture (either explicitly by calling
            <function>eglReleaseTexImage</function> or implicitly by calling a routine such as
            <citerefentry><refentrytitle>glTexImage2D</refentrytitle></citerefentry>),
            all texture images that were defined by the color buffer become <constant>NULL</constant>
            (it is as if <citerefentry><refentrytitle>glTexImage</refentrytitle></citerefentry> was called with an image of zero width).
        </para>
    </refsect1>
    <refsect1 id="errors"><title>Errors</title>
        <para>
            <constant>EGL_BAD_MATCH</constant> is generated if the
            surface attribute <constant>EGL_TEXTURE_FORMAT</constant> is
            set to <constant>EGL_NO_TEXTURE</constant>.
        </para>
        <para>
            <constant>EGL_BAD_MATCH</constant> is generated if
            <parameter>buffer</parameter> is not a valid buffer
            (currently only <constant>EGL_BACK_BUFFER</constant> may be
            specified).
        </para>
        <para>
            <constant>EGL_BAD_SURFACE</constant> is generated if
            <parameter>surface</parameter> is not an EGL surface, or is
            not a bound pbuffer surface.
        </para>
    </refsect1>
    <refsect1 id="seealso"><title>See Also</title>
        <para>
            <citerefentry><refentrytitle>eglBindTexImage</refentrytitle></citerefentry>
        </para>
    </refsect1>
    <refsect3 id="Copyright"><title></title>
        <!-- Content included from copyright.inc.xsl -->
        <imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
        <para />
    </refsect3>
</refentry>
