| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <title xmlns:xlink="http://www.w3.org/1999/xlink">eglMakeCurrent - EGL Reference Pages</title> |
| <link rel="stylesheet" type="text/css" href="khronos-man.css"/> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.78.1"/> |
| </head> |
| <body> |
| <header/> |
| <div class="refentry" id="eglMakeCurrent"> |
| <div class="titlepage"/> |
| <div class="refnamediv"> |
| <h2>Name</h2> |
| <p>eglMakeCurrent — |
| attach an EGL rendering context to EGL surfaces |
| </p> |
| </div> |
| <div class="refsynopsisdiv"> |
| <h2>C Specification</h2> |
| <div class="funcsynopsis"> |
| <table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table"> |
| <tr> |
| <td> |
| <code class="funcdef">EGLBoolean <strong class="fsfunc">eglMakeCurrent</strong>(</code> |
| </td> |
| <td>EGLDisplay <var class="pdparam">display</var>, </td> |
| </tr> |
| <tr> |
| <td> </td> |
| <td>EGLSurface <var class="pdparam">draw</var>, </td> |
| </tr> |
| <tr> |
| <td> </td> |
| <td>EGLSurface <var class="pdparam">read</var>, </td> |
| </tr> |
| <tr> |
| <td> </td> |
| <td>EGLContext <var class="pdparam">context</var><code>)</code>;</td> |
| </tr> |
| </table> |
| <div class="funcprototype-spacer"> </div> |
| </div> |
| </div> |
| <div class="refsect1" id="parameters"> |
| <h2>Parameters</h2> |
| <div class="variablelist"> |
| <dl class="variablelist"> |
| <dt> |
| <span class="term"> |
| <em class="parameter"> |
| <code>display</code> |
| </em> |
| </span> |
| </dt> |
| <dd> |
| <p>Specifies the <abbr class="acronym">EGL</abbr> display connection.</p> |
| </dd> |
| <dt> |
| <span class="term"> |
| <em class="parameter"> |
| <code>draw</code> |
| </em> |
| </span> |
| </dt> |
| <dd> |
| <p>Specifies the <abbr class="acronym">EGL</abbr> draw surface.</p> |
| </dd> |
| <dt> |
| <span class="term"> |
| <em class="parameter"> |
| <code>read</code> |
| </em> |
| </span> |
| </dt> |
| <dd> |
| <p>Specifies the <abbr class="acronym">EGL</abbr> read surface.</p> |
| </dd> |
| <dt> |
| <span class="term"> |
| <em class="parameter"> |
| <code>context</code> |
| </em> |
| </span> |
| </dt> |
| <dd> |
| <p>Specifies the <abbr class="acronym">EGL</abbr> rendering context |
| to be attached to the surfaces. |
| </p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="refsect1" id="description"> |
| <h2>Description</h2> |
| <p> |
| <code class="function">eglMakeCurrent</code> binds <em class="parameter"><code>context</code></em> |
| to the current rendering thread and to the <em class="parameter"><code>draw</code></em> |
| and <em class="parameter"><code>read</code></em> surfaces. <em class="parameter"><code>draw</code></em> |
| is used for all GL operations except for any pixel data read back |
| (<a class="citerefentry" href="glReadPixels.xhtml"><span class="citerefentry"><span class="refentrytitle">glReadPixels</span></span></a>, |
| <a class="citerefentry" href="glCopyTexImage2D.xhtml"><span class="citerefentry"><span class="refentrytitle">glCopyTexImage2D</span></span></a>, and |
| <a class="citerefentry" href="glCopyTexSubImage2D.xhtml"><span class="citerefentry"><span class="refentrytitle">glCopyTexSubImage2D</span></span></a>), |
| which is taken from the frame buffer values of |
| <em class="parameter"><code>read</code></em>. |
| </p> |
| <p> |
| If the calling thread has already a current rendering context, that |
| context is flushed and marked as no longer current. |
| </p> |
| <p> |
| The first time that <em class="parameter"><code>context</code></em> is made current, |
| the viewport and scissor dimensions are set to the size of the |
| <em class="parameter"><code>draw</code></em> surface. The viewport and |
| scissor are not modified when <em class="parameter"><code>context</code></em> is |
| subsequently made current. |
| </p> |
| <p> |
| To release the current context without assigning a new one, call |
| <code class="function">eglMakeCurrent</code> with <em class="parameter"><code>draw</code></em> |
| and <em class="parameter"><code>read</code></em> set to |
| <code class="constant">EGL_NO_SURFACE</code> and <em class="parameter"><code>context</code></em> |
| set to <code class="constant">EGL_NO_CONTEXT</code>. |
| </p> |
| <p> |
| Use |
| <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>, and |
| <a class="citerefentry" href="eglGetCurrentSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentSurface</span></span></a> |
| to query the current rendering context and associated display connection and surfaces. |
| </p> |
| </div> |
| <div class="refsect1" id="errors"> |
| <h2>Errors</h2> |
| <p> |
| <code class="constant">EGL_FALSE</code> is returned on failure, |
| <code class="constant">EGL_TRUE</code> otherwise. If <code class="constant">EGL_FALSE</code> |
| is returned, the previously current rendering context and |
| surfaces (if any) remain unchanged. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_DISPLAY</code> is generated if |
| <em class="parameter"><code>display</code></em> is not an EGL display connection. |
| </p> |
| <p> |
| <code class="constant">EGL_NOT_INITIALIZED</code> is generated if |
| <em class="parameter"><code>display</code></em> has not been initialized. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_SURFACE</code> is generated if |
| <em class="parameter"><code>draw</code></em> or <em class="parameter"><code>read</code></em> is not an |
| EGL surface. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_CONTEXT</code> is generated if |
| <em class="parameter"><code>context</code></em> is not an EGL rendering context. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_MATCH</code> is generated if |
| <em class="parameter"><code>draw</code></em> or |
| <em class="parameter"><code>read</code></em> |
| are not compatible with |
| <em class="parameter"><code>context</code></em>, or if |
| <em class="parameter"><code>context</code></em> is set to |
| <code class="constant">EGL_NO_CONTEXT</code> and |
| <em class="parameter"><code>draw</code></em> or |
| <em class="parameter"><code>read</code></em> |
| are not set to |
| <code class="constant">EGL_NO_SURFACE</code>, or if |
| <em class="parameter"><code>draw</code></em> or |
| <em class="parameter"><code>read</code></em> are set to |
| <code class="constant">EGL_NO_SURFACE</code> and |
| <em class="parameter"><code>context</code></em> is not set to |
| <code class="constant">EGL_NO_CONTEXT</code>. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_ACCESS</code> is generated if |
| <em class="parameter"><code>context</code></em> |
| is current to some other thread. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_NATIVE_PIXMAP</code> may be generated if |
| a native pixmap underlying either |
| <em class="parameter"><code>draw</code></em> or |
| <em class="parameter"><code>read</code></em> |
| is no longer valid. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_NATIVE_WINDOW</code> may be generated if |
| a native window underlying either |
| <em class="parameter"><code>draw</code></em> or |
| <em class="parameter"><code>read</code></em> |
| is no longer valid. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_CURRENT_SURFACE</code> is generated if |
| the previous context has unflushed commands and the previous surface |
| is no longer valid. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_ALLOC</code> may be generated if |
| allocation of ancillary buffers for <em class="parameter"><code>draw</code></em> or |
| <em class="parameter"><code>read</code></em> were delayed until |
| <code class="function">eglMakeCurrent</code> is called, and there are not |
| enough resources to allocate them. |
| </p> |
| <p> |
| <code class="constant">EGL_CONTEXT_LOST</code> is generated if a power management |
| event has occurred. The application must destroy all contexts and |
| reinitialise OpenGL ES state and objects to continue rendering. |
| </p> |
| </div> |
| <div class="refsect1" id="seealso"> |
| <h2>See Also</h2> |
| <p> |
| <a class="citerefentry" href="glReadPixels.xhtml"><span class="citerefentry"><span class="refentrytitle">glReadPixels</span></span></a>, |
| <a class="citerefentry" href="glCopyTexImage2D.xhtml"><span class="citerefentry"><span class="refentrytitle">glCopyTexImage2D</span></span></a>, |
| <a class="citerefentry" href="glCopyTexSubImage2D.xhtml"><span class="citerefentry"><span class="refentrytitle">glCopyTexSubImage2D</span></span></a>, |
| <a class="citerefentry" href="eglCreateContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateContext</span></span></a>, |
| <a class="citerefentry" href="eglCreatePbufferSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>, |
| <a class="citerefentry" href="eglCreatePixmapSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>, |
| <a class="citerefentry" href="eglCreateWindowSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateWindowSurface</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="eglGetDisplay.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetDisplay</span></span></a>, |
| <a class="citerefentry" href="eglInitialize.xhtml"><span class="citerefentry"><span class="refentrytitle">eglInitialize</span></span></a> |
| </p> |
| </div> |
| <p> |
| </p> |
| <div class="refsect3" id="copyright"> |
| <img src="KhronosLogo.jpg"/> |
| <p> |
| 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. |
| </p> |
| </div> |
| <p> |
| </p> |
| </div> |
| <footer/> |
| </body> |
| </html> |