blob: dbf34c356fb24b936797bbd3986124e32c23e32e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html><html xmlns="">
<title xmlns:xlink="">eglBindAPI - EGL Reference Pages</title>
<link rel="stylesheet" type="text/css" href="khronos-man.css"/>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/>
<div class="refentry" id="eglBindAPI">
<div class="titlepage"/>
<div class="refnamediv">
<p>eglBindAPI — Set the current rendering API</p>
<div class="refsynopsisdiv">
<h2>C Specification</h2>
<div class="funcsynopsis">
<table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table">
<code class="funcdef">EGLBoolean <strong class="fsfunc">eglBindAPI</strong>(</code>
<td>EGLenum <var class="pdparam">api</var><code>)</code>;</td>
<div class="funcprototype-spacer"> </div>
<div class="refsect1" id="parameters">
<div class="variablelist">
<dl class="variablelist">
<span class="term">
<em class="parameter">
Specifies the client API to bind, one of
<code class="constant">EGL_OPENGL_API</code>,
<code class="constant">EGL_OPENGL_ES_API</code>, or
<code class="constant">EGL_OPENVG_API</code>.
<div class="refsect1" id="description">
<code class="function">eglBindAPI</code> 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
<code class="function">eglCreateContext</code>,
<code class="function">eglGetCurrentContext</code>,
<code class="function">eglGetCurrentDisplay</code>,
<code class="function">eglGetCurrentSurface</code>,
<code class="function">eglMakeCurrent</code>,
<code class="function">eglSwapInterval</code>,
<code class="function">eglWaitClient</code>, and
<code class="function">eglWaitNative</code>.
If <em class="parameter"><code>api</code></em> is
<code class="constant">EGL_OPENGL_API</code>, the current rendering
API is set to the OpenGL API.
If <em class="parameter"><code>api</code></em> is
<code class="constant">EGL_OPENGL_ES_API</code>, the current
rendering API is set to the OpenGL ES API.
If <em class="parameter"><code>api</code></em> is
<code class="constant">EGL_OPENVG_API</code>, the current rendering
API is set to the OpenVG API.
If an error occurs, the current rendering API is unchanged.
<div class="refsect1" id="notes">
<code class="function">eglBindAPI</code> and the corresponding
<code class="constant">EGL_OPENGL_ES_API</code> and
<code class="constant">EGL_OPENVG_API</code>
<em class="parameter"><code>api</code></em> parameters are supported only if
the EGL version is 1.2 or greater. The
<code class="constant">EGL_OPENGL_API</code> parameter is supported
only if the EGL version is 1.4 or greater.
The initial value of the current rendering API is
<code class="constant">EGL_OPENGL_ES_API</code> unless OpenGL ES is
not supported by an implementation, in which case the
initial value is <code class="constant">EGL_NONE</code> (however,
<code class="constant">EGL_NONE</code> is not a valid
<em class="parameter"><code>api</code></em> parameter to
<code class="function">eglBindAPI</code>).
The current rendering API can be queried by calling
<code class="function">eglQueryAPI</code>.
<div class="refsect1" id="errors">
<code class="constant">EGL_FALSE</code> is returned on failure.
<code class="constant">EGL_BAD_PARAMETER</code> is generated if
<em class="parameter"><code>api</code></em> is not one of the accepted
tokens, or if the specified client API is not supported by
the EGL implementation.
<div class="refsect1" id="seealso">
<h2>See Also</h2>
<a class="citerefentry" href="eglCreateContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateContext</span></span></a>,
<a class="citerefentry" href="eglGetCurrentContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentContext</span></span></a>,
<a class="citerefentry" href="eglGetCurrentDisplay.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentDisplay</span></span></a>,
<a class="citerefentry" href="eglGetCurrentSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentSurface</span></span></a>,
<a class="citerefentry" href="eglMakeCurrent.xhtml"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>,
<a class="citerefentry" href="eglQueryAPI.xhtml"><span class="citerefentry"><span class="refentrytitle">eglQueryAPI</span></span></a>,
<a class="citerefentry" href="eglSwapInterval.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSwapInterval</span></span></a>,
<a class="citerefentry" href="eglWaitClient.xhtml"><span class="citerefentry"><span class="refentrytitle">eglWaitClient</span></span></a>,
<a class="citerefentry" href="eglWaitNative.xhtml"><span class="citerefentry"><span class="refentrytitle">eglWaitNative</span></span></a>
<div class="refsect3" id="copyright">
<img src="KhronosLogo.jpg"/>
Copyright © 2003-2014 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.