summaryrefslogtreecommitdiff
path: root/engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml')
-rw-r--r--engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml381
1 files changed, 381 insertions, 0 deletions
diff --git a/engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml b/engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml
new file mode 100644
index 0000000..14f28ec
--- /dev/null
+++ b/engine-ocean/External/glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml
@@ -0,0 +1,381 @@
+<?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.79.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.
+ </p>
+ <p>
+ For an OpenGL or OpenGL ES context, <em class="parameter"><code>draw</code></em>
+ is used for all operations except for any pixel data read back or copied
+ (<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>. Note that the same
+ <span class="type">EGLSurface</span> may be specified for both draw and read.
+ </p>
+ <p>
+ For an OpenVG context, the same <span class="type">EGLSurface</span> must be
+ specified for both <em class="parameter"><code>draw</code></em> and
+ <em class="parameter"><code>read</code></em>.
+ </p>
+ <p>
+ If the calling thread has already a current rendering context of
+ the same client API type as <em class="parameter"><code>context</code></em>, then
+ that context is flushed and marked as no longer current.
+ <em class="parameter"><code>context</code></em> is then made the current context
+ for the calling thread. For purposes of
+ <code class="function">eglMakeCurrent</code>, the client API type of all
+ OpenGL ES and OpenGL contexts is considered the same. In other
+ words, if any OpenGL ES context is currently bound and
+ <em class="parameter"><code>context</code></em> is an OpenGL context, or if any
+ OpenGL context is currently bound and
+ <em class="parameter"><code>context</code></em> is an OpenGL ES context, the
+ currently bound context will be made no longer current and
+ <em class="parameter"><code>context</code></em> will be made current.
+ </p>
+ <p>
+ OpenGL and OpenGL ES buffer mappings created by e.g.
+ <code class="function">glMapBuffer</code> are not affected by
+ <code class="function">eglMakeCurrent</code>; they persist whether the
+ context owning the buffer is current or not.
+ </p>
+ <p>
+ If <em class="parameter"><code>draw</code></em> is destroyed after
+ <code class="function">eglMakeCurrent</code> is called, then subsequent
+ rendering commands will be processed and the context state will
+ be updated, but the surface contents become undefined. If
+ <em class="parameter"><code>read</code></em> is destroyed after
+ <code class="function">eglMakeCurrent</code> then pixel values
+ <em class="parameter"><code>read</code></em> from the framebuffer (e.g., as
+ result of calling glReadPixels) are undefined. If a native
+ window or pixmap underlying the <em class="parameter"><code>draw</code></em> or
+ <em class="parameter"><code>read</code></em> surfaces is destroyed, rendering and
+ <em class="parameter"><code>read</code></em>back are handled as above.
+ </p>
+ <p>
+ To release the current context without assigning a new one, set
+ <em class="parameter"><code>context</code></em> to
+ <code class="constant">EGL_NO_CONTEXT</code> and set
+ <em class="parameter"><code>draw</code></em> and <em class="parameter"><code>read</code></em> to
+ <code class="constant">EGL_NO_SURFACE</code> . The currently bound
+ context for the client API specified by the current rendering
+ API is flushed and marked as no longer current, and there will
+ be no current context for that client API after
+ <code class="function">eglMakeCurrent</code> returns. This is the only
+ case in which <code class="function">eglMakeCurrent</code> respects the
+ current rendering API. In all other cases, the client API
+ affected is determined by <em class="parameter"><code>context</code></em>. This
+ is the only case where an uninitialized display may be passed to
+ <code class="function">eglMakeCurrent</code>.
+ </p>
+ <p>
+ If ctx is not <code class="constant">EGL_NO_CONTEXT</code>, then both
+ <em class="parameter"><code>draw</code></em> and <em class="parameter"><code>read</code></em> must
+ not be <code class="constant">EGL_NO_SURFACE</code> unless
+ <em class="parameter"><code>context</code></em> is a context which supports being
+ bound without read and draw surfaces. In this case the context
+ is made current without a default framebuffer. The meaning of
+ this is defined by the client API of the supporting context (see
+ chapter 4 of the OpenGL 3.0 Specification, and the
+ <code class="constant">GL_OES_surfaceless_context</code> OpenGL ES
+ extension.).
+ </p>
+ <p>
+ The first time a OpenGL or OpenGL ES context is made current the
+ viewport and scissor dimensions are set to the size of the
+ <em class="parameter"><code>draw</code></em> surface (as though
+ <code class="function">glViewport</code>(0,0,w,h) and
+ <code class="function">glScissor</code>(0,0,<em class="parameter"><code>w</code></em>,<em class="parameter"><code>h</code></em>)
+ were called, where <em class="parameter"><code>w</code></em> and
+ <em class="parameter"><code>h</code></em> are the width and height of the
+ surface, respectively). However, the viewport and scissor
+ dimensions are not modified when <em class="parameter"><code>context</code></em>
+ is subsequently made current. The client is responsible for
+ resetting the viewport and scissor in this case.
+ </p>
+ <p>
+ The first time <em class="parameter"><code>context</code></em> is made current,
+ if it is without a default framebuffer (e.g. both
+ <em class="parameter"><code>draw</code></em> and <em class="parameter"><code>read</code></em> are
+ <code class="constant">EGL_NO_SURFACE</code> ), then the viewport and
+ scissor regions are set as though
+ <code class="function">glViewport</code>(0,0,0,0) and
+ <code class="function">glScissor</code>(0,0,0,0) were called.
+ </p>
+ <p>
+ Implementations may delay allocation of auxiliary buffers for a
+ surface until they are required by a context (which may result
+ in the <code class="constant">EGL_BAD_ALLOC</code> error described
+ above). Once allocated, however, auxiliary buffers and their
+ contents persist until a surface is deleted.
+ </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>
+ 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>, then an
+ <code class="constant">EGL_BAD_MATCH</code> error is generated.
+ </p>
+ <p>
+ If <em class="parameter"><code>context</code></em> is current to some other
+ thread, or if either <em class="parameter"><code>draw</code></em> or
+ <em class="parameter"><code>read</code></em> are bound to contexts in another
+ thread, an <code class="constant">EGL_BAD_ACCESS</code> error is
+ generated.
+ </p>
+ <p>
+ If binding <em class="parameter"><code>context</code></em> would exceed the
+ number of current contexts of that client API type supported by
+ the implementation, an <code class="constant">EGL_BAD_ACCESS</code> error
+ is generated.
+ </p>
+ <p>
+ If either <em class="parameter"><code>draw</code></em> or
+ <em class="parameter"><code>read</code></em> are pbuffers created with
+ <code class="function">eglCreatePbufferFromClientBuffer</code>, and the
+ underlying bound client API buffers are in use by the client API
+ that created them, an <code class="constant">EGL_BAD_ACCESS</code> error
+ is generated.
+ </p>
+ <p>
+ If <em class="parameter"><code>context</code></em> is not a valid context and is
+ not <code class="constant">EGL_NO_CONTEXT</code>, an
+ <code class="constant">EGL_BAD_CONTEXT</code> error is generated.
+ </p>
+ <p>
+ If either <em class="parameter"><code>draw</code></em> or
+ <em class="parameter"><code>read</code></em> are not valid EGL surfaces and are
+ not <code class="constant">EGL_NO_SURFACE</code>, an
+ <code class="constant">EGL_BAD_SURFACE</code> error is generated.
+ </p>
+ <p>
+ If <em class="parameter"><code>context</code></em> is
+ <code class="constant">EGL_NO_CONTEXT</code> and either
+ <em class="parameter"><code>draw</code></em> or <em class="parameter"><code>read</code></em> are
+ not <code class="constant">EGL_NO_SURFACE</code>, an
+ <code class="constant">EGL_BAD_MATCH</code> error is generated.
+ </p>
+ <p>
+ If either of <em class="parameter"><code>draw</code></em> or
+ <em class="parameter"><code>read</code></em> is a valid surface and the other is
+ <code class="constant">EGL_NO_SURFACE</code>, an
+ <code class="constant">EGL_BAD_MATCH</code> error is generated.
+ </p>
+ <p>
+ If <em class="parameter"><code>context</code></em> does not support being bound
+ without <em class="parameter"><code>read</code></em> and
+ <em class="parameter"><code>draw</code></em> surfaces, and both
+ <em class="parameter"><code>draw</code></em> and <em class="parameter"><code>read</code></em> are
+ <code class="constant">EGL_NO_SURFACE</code>, an
+ <code class="constant">EGL_BAD_MATCH</code> error is generated.
+ </p>
+ <p>
+ 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, an
+ <code class="constant">EGL_BAD_NATIVE_WINDOW</code> error is generated.
+ </p>
+ <p>
+ If <em class="parameter"><code>draw</code></em> and <em class="parameter"><code>read</code></em>
+ cannot fit into graphics memory simultaneously, an
+ <code class="constant">EGL_BAD_MATCH</code> error is generated.
+ </p>
+ <p>
+ If the previous context of the calling thread has unflushed
+ commands, and the previous surface is no longer valid, an
+ <code class="constant">EGL_BAD_CURRENT_SURFACE</code> error is generated.
+ </p>
+ <p>
+ If the ancillary buffers for <em class="parameter"><code>draw</code></em> and
+ <em class="parameter"><code>read</code></em> cannot be allocated, an
+ <code class="constant">EGL_BAD_ALLOC</code> error is generated.
+ </p>
+ <p>
+ If a power management event has occurred, an
+ <code class="constant">EGL_CONTEXT_LOST</code> error is generated.
+ </p>
+ <p>
+ If any of the following are true:
+
+ </p>
+ <div class="itemizedlist">
+ <ul class="itemizedlist" style="list-style-type: disc; ">
+ <li class="listitem">
+ <p>
+ <em class="parameter"><code>context</code></em> is not
+ <code class="constant">EGL_NO_CONTEXT</code>
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ <em class="parameter"><code>read</code></em> is not
+ <code class="constant">EGL_NO_SURFACE</code>
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ <em class="parameter"><code>draw</code></em> is not
+ <code class="constant">EGL_NO_SURFACE</code>
+ </p>
+ </li>
+ </ul>
+ </div>
+ <p>
+
+ then an <code class="constant">EGL_NOT_INITIALIZED</code> error is
+ generated if <em class="parameter"><code>display</code></em> is a valid but
+ uninitialized display.
+ </p>
+ <p>
+ As with other commands taking <span class="type">EGLDisplay</span>
+ parameters, if <em class="parameter"><code>display</code></em> is not a valid
+ <span class="type">EGLDisplay</span> handle, an
+ <code class="constant">EGL_BAD_DISPLAY</code> error is generated. (Some
+ implementations have chosen to allow
+ <code class="constant">EGL_NO_DISPLAY</code> as a valid
+ <em class="parameter"><code>display</code></em> parameter for
+ <code class="function">eglMakeCurrent</code>. This behavior is not
+ portable to all EGL implementations, and should be considered as
+ an undocumented vendor extension).
+ </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>