<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.2//EN" "DTD/docbook/docbookx.dtd">
<!--
  Copyright 2003-2010 Khronos Group.
  This material may be distributed subject to the terms and conditions set forth in
  the Open Publication License, v 1.0, 8 June 1999.
  http://opencontent.org/openpub/
-->
<book xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>
    EGL Reference Manual
  </title>
  <subtitle>
    Version 1.5
  </subtitle>
  <bookinfo>
    <author>
      <firstname>Claude</firstname>
      <surname>Knaus</surname>
    </author>
    <author>
      <firstname>Jon</firstname>
      <surname>Leech</surname>
    </author>
    <date>October 2010</date>
    <releaseinfo>Draft Version 20101012</releaseinfo>
    <subjectset>
      <subject>EGL</subject>
    </subjectset>
    <keywordset>
      <keyword>EGL</keyword>
      <keyword>man</keyword>
      <keyword>reference</keyword>
    </keywordset>
    <xi:include href="legal-notice.xml"/>
  </bookinfo>
  <toc>
    <title>Contents</title>
    <!-- generated by LaTeX -->
  </toc>
  <chapter>
    <title>Preface</title>
    <sect1>
      <title>Style Conventions</title>
      <para>
        The following style conventions apply to this document:
      </para>
      <variablelist>
        <varlistentry>
          <term><function>Bold</function></term>
          <listitem><para>Command and function names</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter>Italics</parameter></term>
          <listitem>Variables and parameters</listitem>
        </varlistentry>
        <varlistentry>
          <term>Regular</term>
          <listitem><para>Ordinary text</para></listitem>
        </varlistentry>
        <varlistentry>
          <term><constant>Monospace</constant></term>
          <listitem><para>Constants and source code</para></listitem>
        </varlistentry>
      </variablelist>
    </sect1>
  </chapter>
  <chapter>
    <title>Summary of Commands and Routines</title>
    <sect1>
      <title>EGL Functions</title>
      <para>Manage or query display connections:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglGetDisplay</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglInitialize</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglQueryString</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglTerminate</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Request EGL and client API extension functions:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglGetProcAddress</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Query errors:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglGetError</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Request or query frame buffer configurations:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglGetConfigs</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglChooseConfig</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglGetConfigAttrib</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Manage or query the current rendering API:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglBindAPI</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglQueryAPI</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Manage or query EGL rendering contexts:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglCreateContext</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglDestroyContext</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglQueryContext</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglMakeCurrent</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglGetCurrentContext</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglGetCurrentSurface</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglGetCurrentDisplay</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Manage or query EGL surfaces:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglCreateWindowSurface</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglCreatePixmapSurface</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglCreatePbufferSurface</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglDestroySurface</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglSurfaceAttrib</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglQuerySurface</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Synchronize execution:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglSwapInterval</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglWaitClient</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglWaitGL</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglWaitNative</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Post and copy buffers:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglCopyBuffers</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglSwapBuffers</refentrytitle></citerefentry></member>
      </simplelist>
      <para>Bind pixel buffer surfaces to OpenGL ES textures:</para>
      <simplelist type="vert">
        <member><citerefentry><refentrytitle>eglBindTexImage</refentrytitle></citerefentry></member>
        <member><citerefentry><refentrytitle>eglReleaseTexImage</refentrytitle></citerefentry></member>
      </simplelist>
    </sect1>
  </chapter>
  <chapter>
    <title>EGL Reference Pages</title>
    <xi:include href="eglBindAPI.xml"/>
    <xi:include href="eglBindTexImage.xml"/>
    <xi:include href="eglChooseConfig.xml"/>
    <xi:include href="eglClientWaitSync.xml"/>
    <xi:include href="eglCopyBuffers.xml"/>
    <xi:include href="eglCreateContext.xml"/>
    <xi:include href="eglCreateImage.xml"/>
    <xi:include href="eglCreatePbufferSurface.xml"/>
    <xi:include href="eglCreatePixmapSurface.xml"/>
    <xi:include href="eglCreateSync.xml"/>
    <xi:include href="eglCreateWindowSurface.xml"/>
    <xi:include href="eglDestroyContext.xml"/>
    <xi:include href="eglDestroyImage.xml"/>
    <xi:include href="eglDestroySurface.xml"/>
    <xi:include href="eglDestroySync.xml"/>
    <xi:include href="eglGetConfigAttrib.xml"/>
    <xi:include href="eglGetConfigs.xml"/>
    <xi:include href="eglGetCurrentContext.xml"/>
    <xi:include href="eglGetCurrentDisplay.xml"/>
    <xi:include href="eglGetCurrentSurface.xml"/>
    <xi:include href="eglGetDisplay.xml"/>
    <xi:include href="eglGetError.xml"/>
    <xi:include href="eglGetPlatformDisplay.xml"/>
    <xi:include href="eglGetProcAddress.xml"/>
    <xi:include href="eglGetSyncAttrib.xml"/>
    <xi:include href="eglInitialize.xml"/>
    <xi:include href="eglIntro.xml"/>
    <xi:include href="eglMakeCurrent.xml"/>
    <xi:include href="eglQueryAPI.xml"/>
    <xi:include href="eglQueryContext.xml"/>
    <xi:include href="eglQueryString.xml"/>
    <xi:include href="eglQuerySurface.xml"/>
    <xi:include href="eglReleaseTexImage.xml"/>
    <xi:include href="eglReleaseThread.xml"/>
    <xi:include href="eglSurfaceAttrib.xml"/>
    <xi:include href="eglSwapBuffers.xml"/>
    <xi:include href="eglSwapInterval.xml"/>
    <xi:include href="eglTerminate.xml"/>
    <xi:include href="eglWaitClient.xml"/>
    <xi:include href="eglWaitGL.xml"/>
    <xi:include href="eglWaitNative.xml"/>
    <xi:include href="eglWaitSync.xml"/>
  </chapter>
  <xi:include href="license-full.xml"/>
</book>
