<?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">eglSwapBuffers - 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="eglSwapBuffers">
      <div class="titlepage"/>
      <div class="refnamediv">
        <h2>Name</h2>
        <p>eglSwapBuffers — 
            post <abbr class="acronym">EGL</abbr> surface color buffer to a native window
        </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">eglSwapBuffers</strong>(</code>
              </td>
              <td>EGLDisplay <var class="pdparam">display</var>, </td>
            </tr>
            <tr>
              <td> </td>
              <td>EGLSurface <var class="pdparam">surface</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 EGL display connection.
                    </p>
            </dd>
            <dt>
              <span class="term">
                <em class="parameter">
                  <code>surface</code>
                </em>
              </span>
            </dt>
            <dd>
              <p>
                        Specifies the EGL drawing surface whose buffers are to be swapped.
                    </p>
            </dd>
          </dl>
        </div>
      </div>
      <div class="refsect1" id="description">
        <h2>Description</h2>
        <p>
            If <em class="parameter"><code>surface</code></em> is a back-buffered window
            surface, <code class="function">eglSwapBuffers</code> then the color
            buffer is copied (posted) native window associated with that
            surface. If <em class="parameter"><code>surface</code></em> is a single-buffered
            window, pixmap, or pixel buffer surface,
            <code class="function">eglSwapBuffers</code> has no effect.
        </p>
        <p>
            The contents of ancillary buffers are always undefined after
            calling <code class="function">eglSwapBuffers</code>. The contents of the
            color buffer are undefined if the value of the
            <code class="constant">EGL_SWAP_BEHAVIOR</code> attribute of
            <em class="parameter"><code>surface</code></em> is not
            <code class="constant">EGL_BUFFER_PRESERVED</code>. The value of
            <code class="constant">EGL_SWAP_BEHAVIOR</code> can be set for some
            surfaces using
            <a class="citerefentry" href="eglSurfaceAttrib.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSurfaceAttrib</span></span></a>.
            <code class="constant">EGL_SWAP_BEHAVIOR</code> applies only to the color
            buffer. EGL has no way to specify or query whether or not
            ancillary buffers are preserved, and applications should not
            rely on this behavior.
        </p>
        <p>
            <code class="function">eglSwapBuffers</code> performs an implicit
            flush operation on the context (<code class="function">glFlush</code>
            for an OpenGL ES or OpenGL context,
            <code class="function">vgFlush</code> for an OpenVG context) bound to
            <em class="parameter"><code>surface</code></em> before swapping. Subsequent
            client API commands may be issued on that context
            immediately after calling
            <code class="function">eglSwapBuffers</code>, but are not executed
            until the buffer exchange is completed.
        </p>
      </div>
      <div class="refsect1" id="resize">
        <h2>Native Window Resizing</h2>
        <p>
            If the native window corresponding to
            <em class="parameter"><code>surface</code></em> has been resized prior to the
            swap, <em class="parameter"><code>surface</code></em> must be resized to match.
            <em class="parameter"><code>surface</code></em> will normally be resized by the
            EGL implementation at the time the native window is resized. If
            the implementation cannot do this transparently to the client,
            then <code class="function">eglSwapBuffers</code> must detect the change
            and resize surface prior to copying its pixels to the native
            window. If <em class="parameter"><code>surface</code></em> shrinks as a result of
            resizing, some rendered pixels are lost. If
            <em class="parameter"><code>surface</code></em> grows, the newly allocated buffer
            contents are undefined. The resizing behavior described here
            only maintains consistency of EGL surfaces and native windows;
            clients are still responsible for detecting window size changes
            (using platform-specific means) and changing their viewport and
            scissor regions accordingly.
        </p>
      </div>
      <div class="refsect1" id="notes">
        <h2>Notes</h2>
        <p>
            Attribute <code class="constant">EGL_SWAP_BEHAVIOR</code> is supported
            only if the EGL version is 1.2 or greater. In earlier versions,
            behavior is as though the attribute exists, and always has the
            value <code class="constant">EGL_BUFFER_DESTROYED</code>.
        </p>
        <p>
            The EGL 1.4 specification was updated to acknowledge that
            ancillary buffers are not necessarily preserved after a swap,
            and that the <code class="constant">EGL_SWAP_BEHAVIOR</code> attribute
            applies only to the color buffer. This change in the
            specification acknowledged the behavior of many shipping
            implementations, and is not intended to result in behavior
            changes in any existing implementation.
        </p>
      </div>
      <div class="refsect1" id="errors">
        <h2>Errors</h2>
        <p>
            <code class="constant">EGL_FALSE</code> is returned if swapping of the
            surface buffers fails, <code class="constant">EGL_TRUE</code> otherwise.
        </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>surface</code></em> is not an EGL drawing surface.
        </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>
            <code class="function">glFlush</code>,
            <a class="citerefentry" href="eglCopyBuffers.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCopyBuffers</span></span></a>,
            <code class="function">vgFlush</code>
        </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>
