blob: 3dc1b20355e722b201510912759bd75081636277 [file] [log] [blame]
<?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="eglBindAPI">
<refentryinfo>
<copyright>
<year>2003-2014</year>
<holder>The Khronos Group Inc.</holder>
</copyright>
</refentryinfo>
<refmeta>
<refentrytitle>eglBindAPI</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>eglBindAPI</refname>
<refpurpose>Set the current rendering API</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>EGLBoolean <function>eglBindAPI</function></funcdef>
<paramdef>EGLenum <parameter>api</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>api</parameter></term>
<listitem>
<para>
Specifies the client API to bind, one of
<constant>EGL_OPENGL_API</constant>,
<constant>EGL_OPENGL_ES_API</constant>, or
<constant>EGL_OPENVG_API</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>eglBindAPI</function> defines the current
rendering API for EGL in the thread it is called from. The
current rendering API is one of the client rendering APIs
supported by the EGL implementation, and affects the
behavior of other EGL commands including
<function>eglCreateContext</function>,
<function>eglGetCurrentContext</function>,
<function>eglGetCurrentDisplay</function>,
<function>eglGetCurrentSurface</function>,
<function>eglMakeCurrent</function>,
<function>eglWaitClient</function>, and
<function>eglWaitNative</function>.
</para>
<para>
If <parameter>api</parameter> is
<constant>EGL_OPENGL_API</constant>, the current rendering
API is set to the OpenGL API.
</para>
<para>
If <parameter>api</parameter> is
<constant>EGL_OPENGL_ES_API</constant>, the current
rendering API is set to the OpenGL ES API.
</para>
<para>
If <parameter>api</parameter> is
<constant>EGL_OPENVG_API</constant>, the current rendering
API is set to the OpenVG API.
</para>
<para>
If an error occurs, the current rendering API is unchanged.
</para>
</refsect1>
<refsect1 id="notes"><title>Notes</title>
<para>
<function>eglBindAPI</function> and the corresponding
<constant>EGL_OPENGL_ES_API</constant> and
<constant>EGL_OPENVG_API</constant>
<parameter>api</parameter> parameters are supported only if
the EGL version is 1.2 or greater. The
<constant>EGL_OPENGL_API</constant> parameter is supported
only if the EGL version is 1.4 or greater.
</para>
<para>
The initial value of the current rendering API is
<constant>EGL_OPENGL_ES_API</constant> unless OpenGL ES is
not supported by an implementation, in which case the
initial value is <constant>EGL_NONE</constant> (however,
<constant>EGL_NONE</constant> is not a valid
<parameter>api</parameter> parameter to
<function>eglBindAPI</function>).
</para>
<para>
The current rendering API can be queried by calling
<function>eglQueryAPI</function>.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>EGL_FALSE</constant> is returned on failure.
</para>
<para>
<constant>EGL_BAD_PARAMETER</constant> is generated if
<parameter>api</parameter> is not one of the accepted
tokens, or if the specified client API is not supported by
the EGL implementation.
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>eglCreateContext</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>eglGetCurrentContext</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>eglGetCurrentDisplay</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>eglGetCurrentSurface</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>eglMakeCurrent</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>eglQueryAPI</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>eglWaitClient</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>eglWaitNative</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>