aboutsummaryrefslogtreecommitdiff
path: root/glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglChooseConfig.html
diff options
context:
space:
mode:
Diffstat (limited to 'glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglChooseConfig.html')
-rw-r--r--glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglChooseConfig.html1361
1 files changed, 1361 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglChooseConfig.html b/glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglChooseConfig.html
new file mode 100644
index 0000000..8a6f251
--- /dev/null
+++ b/glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglChooseConfig.html
@@ -0,0 +1,1361 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
+<!-- saved from url=(0013)about:internet -->
+<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <style xmlns="" type="text/css">
+ /* This style sets a margin around the entire page */
+ html, body {
+ margin: 10px;
+ }
+
+ p {
+ font: normal 16px verdana, sans-serif;
+ margin: 0;
+ padding-bottom:12px;
+ }
+
+ h1 {
+ font: bold 25px verdana, sans-serif;
+ margin-top: 0;
+ margin-bottom: 3px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+
+ h2 {
+ font: bold 19px verdana, sans-serif;
+ margin-top: 28px;
+ margin-bottom: 3px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+
+ h3 {
+ font: bold 19px verdana, sans-serif !important;
+ margin-top: 28px;
+ margin-bottom: 3px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+
+ li {
+ font: normal 16px verdana, sans-serif;
+ margin-top: 0;
+ margin-bottom: 18px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+
+ .pdparam {
+ font: italic 16px verdana, sans-serif;
+ }
+
+ .term {
+ font: italic 16px verdana, sans-serif;
+ font-weight: normal;
+ }
+
+ .type {
+ font: normal 16px verdana, sans-serif !important;
+ }
+
+ .parameter {
+ font-style: italic;
+ }
+
+ a:link, a:visited {
+ color: blue;
+ text-decoration: none;
+ font: normal 16px;
+ }
+
+ a:hover {
+ background-color: #FFFF99;
+ font: normal 16px;
+ }
+
+ div.funcsynopsis {
+ text-align: left;
+ background-color: #e6e6e6;
+ font: normal 16px verdana, sans-serif;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ }
+
+ div.funcsynopsis table {
+ border-collapse: separate;
+ font: normal 16px verdana, sans-serif;
+ }
+
+ div.funcsynopsis td {
+ background-color: #e6e6e6;
+ border: 0 solid #000;
+ padding: 1px;
+ font: normal 16px verdana, sans-serif;
+ }
+
+ div.refsect1 {
+ font-family: verdana, sans-serif;
+ font-size: 16px;
+ }
+
+ code.constant {
+ font: normal 16px courier new, monospace !important;
+ }
+
+ span.errorname {
+ font: normal 16px verdana, sans-serif !important;
+ }
+
+ code.function {
+ font: bold 16px verdana, sans-serif !important;
+ }
+
+ b.fsfunc {
+ font: bold 16px verdana, sans-serif !important;
+ }
+
+ code.varname {
+ font: italic 16px verdana, sans-serif;
+ }
+
+ code.replaceable {
+ font: italic 16px courier new, monospace;
+ }
+
+ code.funcdef {
+ font: normal 16px verdana, sans-serif !important;
+ }
+
+ .citerefentry {
+ font: normal 16px verdana, sans-serif !important;
+ }
+
+ .parameter {
+ font-style: italic;
+ }
+
+ code.fsfunc {
+ font: normal 16px verdana, sans-serif !important;
+ }
+
+ /* PARAMETER: This style controls spacing between the terms in Parameter section */
+ dt {
+ margin-top: 15px;
+ }
+
+ /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */
+ div.refsect1 table {
+ width: 100%;
+ margin-top: 10px;
+ background-color: #FFF;
+ border-collapse: collapse;
+ border-color: #000;
+ border-width: 1px;
+ font: normal 16px verdana, sans-serif;
+ }
+
+ div.refsect1 th {
+ border-collapse: collapse;
+ border-color: #000;
+ border-width: 1px;
+ font: bold 16px verdana, sans-serif;
+ }
+
+ div.refsect1 td {
+ background-color: #FFF;
+ padding: 5px;
+ vertical-align: text-top;
+ border-collapse: collapse;
+ border-color: #000;
+ border-width: 1px;
+ font: normal 16px verdana, sans-serif;
+ }
+
+ div.refsect1 p{
+ font: normal 16px verdana, sans-serif;
+ margin-top: 8px;
+ margin-bottom: 8px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+
+
+ /* EXAMPLE: These styles apply only to the Example section */
+ div.refsect2 {
+ font: normal 16px courier new, monospace !important;
+ }
+
+ div.refsect2 table {
+ margin-top: 0;
+ background-color: #e6e6e6;
+ width: 100%;
+ border: 0 solid #000;
+ padding: 2px;
+ font: normal 16px courier new, monospace !important;
+ }
+
+ div.refsect2 td {
+ background-color: #e6e6e6;
+ font: normal 16px courier new, monospace !important;
+ white-space:pre;
+ }
+
+ /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */
+ div.refsect3 {
+ font: normal 11px verdana, sans-serif;
+ margin-top: 50px;
+ margin-bottom: 20px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+
+</style>
+ <title>eglChooseConfig</title>
+ <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
+ </head>
+ <body>
+ <div class="refentry">
+ <a id="eglChooseConfig"></a>
+ <div class="titlepage"></div>
+ <div xmlns="" class="refnamediv">
+ <h1>eglChooseConfig</h1>
+ <p>
+ return a list of EGL frame buffer configurations that match specified attributes
+ </p>
+ </div>
+ <div class="refsynopsisdiv">
+ <h2>C Specification</h2>
+ <div class="funcsynopsis">
+ <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
+ <tr valign="bottom">
+ <td>
+ <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">EGLBoolean <strong class="fsfunc">eglChooseConfig</strong>(</code>
+ <td>EGLDisplay  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">display</var>, </td>
+ </td>
+ </tr>
+ <tr valign="top">
+ <td> </td>
+ <td>EGLint const *  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">attrib_list</var>, </td>
+ </tr>
+ <tr valign="top">
+ <td> </td>
+ <td>EGLConfig *  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">configs</var>, </td>
+ </tr>
+ <tr valign="top">
+ <td> </td>
+ <td>EGLint  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">config_size</var>, </td>
+ </tr>
+ <tr valign="top">
+ <td> </td>
+ <td>EGLint *  <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">num_config</var><code>)</code></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div class="refsect1">
+ <a id="parameters"></a>
+ <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>attrib_list</code>
+ </em>
+ </span>
+ </dt>
+ <dd>
+ <p>Specifies attributes required to match by configs.</p>
+ </dd>
+ <dt>
+ <span class="term">
+ <em class="parameter">
+ <code>configs</code>
+ </em>
+ </span>
+ </dt>
+ <dd>
+ <p>Returns an array of frame buffer configurations.</p>
+ </dd>
+ <dt>
+ <span class="term">
+ <em class="parameter">
+ <code>config_size</code>
+ </em>
+ </span>
+ </dt>
+ <dd>
+ <p>Specifies the size of the array of frame buffer configurations.</p>
+ </dd>
+ <dt>
+ <span class="term">
+ <em class="parameter">
+ <code>num_config</code>
+ </em>
+ </span>
+ </dt>
+ <dd>
+ <p>Returns the number of frame buffer configurations returned.</p>
+ </dd>
+ </dl>
+ </div>
+ </div>
+ <div class="refsect1">
+ <a id="description"></a>
+ <h2>Description</h2>
+ <p>
+ <code class="function">eglChooseConfig</code> returns in
+ <em class="parameter"><code>configs</code></em> a list of all
+ <acronym class="acronym">EGL</acronym> frame buffer configurations that
+ match the attributes specified in
+ <em class="parameter"><code>attrib_list</code></em>. The returned
+ <span class="type">EGLConfig</span>s can be used in any
+ <acronym class="acronym">EGL</acronym> function that requires an
+ <acronym class="acronym">EGL</acronym> frame buffer configuration.
+ </p>
+ <p>
+ If <em class="parameter"><code>configs</code></em> is not
+ <code class="constant">NULL</code>, up to
+ <em class="parameter"><code>config_size</code></em> configs will be returned
+ in the array pointed to by <em class="parameter"><code>configs</code></em>.
+ The number of configs actually returned will be returned in
+ *<em class="parameter"><code>num_config</code></em>.
+ </p>
+ <p>
+ If <em class="parameter"><code>configs</code></em> is
+ <code class="constant">NULL</code>, no configs will be returned in
+ <em class="parameter"><code>configs</code></em>. Instead, the total number of
+ configs matching <em class="parameter"><code>attrib_list</code></em> will be
+ returned in *<em class="parameter"><code>num_config</code></em>. In this case
+ <em class="parameter"><code>config_size</code></em> is ignored. This form of
+ <code class="function">eglChooseConfig</code> is used to determine
+ the number of matching frame buffer configurations, followed
+ by allocating an array of <span class="type">EGLConfig</span> to pass
+ into another call to <code class="function">eglChooseConfig</code>
+ with all other parameters unchanged.
+ </p>
+ <p>
+ All attributes in <em class="parameter"><code>attrib_list</code></em>,
+ including boolean attributes, are immediately followed by
+ the corresponding desired value. The list is terminated with
+ <code class="constant">EGL_NONE</code>. If an attribute is not
+ specified in <em class="parameter"><code>attrib_list</code></em> then the
+ default value (see below) is used (and the attribute is said
+ to be specified implicitly). For example, if
+ <code class="constant">EGL_DEPTH_SIZE</code> is not specified then it
+ is assumed to be zero. For some attributes, the default is
+ <code class="constant">EGL_DONT_CARE</code> meaning that any value is
+ OK for this attribute, so the attribute will not be checked.
+ </p>
+ <p>
+ Attributes are matched in an attribute-specific manner. Some
+ of the attributes, such as <code class="constant">EGL_LEVEL</code>,
+ must match the specified value exactly. Others, such as,
+ <code class="constant">EGL_RED_SIZE</code> must meet or exceed the
+ specified minimum values. If more than one EGL frame buffer
+ configuration matching all attributes is found, then a list
+ of configurations, sorted according to the ``best'' match
+ criteria, is returned. The match criteria for each attribute
+ and the exact sorting order is defined below.
+ </p>
+ <p>
+ For the bitmask attributes
+ <code class="constant">EGL_CONFORMANT</code>,
+ <code class="constant">EGL_RENDERABLE_TYPE</code>, and
+ <code class="constant">EGL_SURFACE_TYPE</code>, only the nonzero bits
+ of the mask are considered when matching. Any bits that are
+ zero in the specified bitmask attribute value may be either
+ zero or one in the resulting config's attribute value.
+ </p>
+ <p>
+ Attributes which may appear in
+ <em class="parameter"><code>attrib_list</code></em>, and their descriptions
+ and allowed values, are:
+ </p>
+ <div class="variablelist">
+ <dl class="variablelist">
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_ALPHA_MASK_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired alpha mask buffer size, in
+ bits. The smallest alpha mask buffers of at least
+ the specified size are preferred. The default value
+ is zero.
+ </p>
+ <p>
+ The alpha mask buffer is used only by OpenGL and
+ OpenGL ES client APIs.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_ALPHA_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired size of the alpha component of
+ the color buffer, in bits. If this value is zero,
+ color buffers with the smallest alpha component size
+ are preferred. Otherwise, color buffers with the
+ largest alpha component of at least the specified
+ size are preferred. The default value is zero.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_BIND_TO_TEXTURE_RGB</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by
+ <code class="constant">EGL_DONT_CARE</code>,
+ <code class="constant">EGL_TRUE</code>, or
+ <code class="constant">EGL_FALSE</code>.
+ If <code class="constant">EGL_TRUE</code> is specified, then
+ only frame buffer configurations that support
+ binding of color buffers to an OpenGL ES RGB texture
+ will be considered. Currently only frame buffer
+ configurations that support pbuffers allow this. The
+ default value is <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_BIND_TO_TEXTURE_RGBA</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by one of
+ <code class="constant">EGL_DONT_CARE</code>,
+ <code class="constant">EGL_TRUE</code>, or
+ <code class="constant">EGL_FALSE</code>.
+ If <code class="constant">EGL_TRUE</code> is specified, then
+ only frame buffer configurations that support
+ binding of color buffers to an OpenGL ES RGBA
+ texture will be considered. Currently only frame
+ buffer configurations that support pbuffers allow
+ this. The default value is
+ <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_BLUE_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired size of the blue component of
+ the color buffer, in bits. If this value is zero,
+ color buffers with the smallest blue component size
+ are preferred. Otherwise, color buffers with the
+ largest blue component of at least the specified
+ size are preferred. The default value is zero.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_BUFFER_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired color buffer size, in bits.
+ The smallest color buffers of at least the specified
+ size are preferred. The default value is zero.
+ </p>
+ <p>
+ The color buffer size is the sum of
+ <code class="constant">EGL_RED_SIZE</code>,
+ <code class="constant">EGL_GREEN_SIZE</code>,
+ <code class="constant">EGL_BLUE_SIZE</code>, and
+ <code class="constant">EGL_ALPHA_SIZE</code>, and does not
+ include any padding bits which may be present in the
+ pixel format. It is usually preferable to specify
+ desired sizes for these color components
+ individually.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_COLOR_BUFFER_TYPE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by one of
+ <code class="constant">EGL_RGB_BUFFER</code> or
+ <code class="constant">EGL_LUMINANCE_BUFFER</code>.
+ </p>
+ <p>
+ <code class="constant">EGL_RGB_BUFFER</code> indicates
+ an RGB color buffer; in this case,
+ attributes <code class="constant">EGL_RED_SIZE</code>,
+ <code class="constant">EGL_GREEN_SIZE</code> and
+ <code class="constant">EGL_BLUE_SIZE</code> must be non-zero, and
+ <code class="constant">EGL_LUMINANCE_SIZE</code> must be zero.
+ </p>
+ <p>
+ <code class="constant">EGL_LUMINANCE_BUFFER</code> indicates a luminance color
+ buffer. In this case <code class="constant">EGL_RED_SIZE</code>,
+ <code class="constant">EGL_GREEN_SIZE</code>,
+ <code class="constant">EGL_BLUE_SIZE</code> must be zero, and
+ <code class="constant">EGL_LUMINANCE_SIZE</code> must be non-zero.
+ </p>
+ <p>
+ For both RGB and luminance color buffers,
+ <code class="constant">EGL_ALPHA_SIZE</code> may be zero or
+ non-zero.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_CONFIG_CAVEAT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by
+ <code class="constant">EGL_DONT_CARE</code>,
+ <code class="constant">EGL_NONE</code>,
+ <code class="constant">EGL_SLOW_CONFIG</code>, or
+ <code class="constant">EGL_NON_CONFORMANT_CONFIG</code>.
+ </p>
+ <p>
+ If <code class="constant">EGL_DONT_CARE</code> is specified,
+ then configs are not matched for this attribute. The
+ default value is <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ <p>
+ If <code class="constant">EGL_NONE</code> is specified, then
+ configs are matched for this attribute, but only
+ configs with no caveats (neither
+ <code class="constant">EGL_SLOW_CONFIG</code> or
+ <code class="constant">EGL_NON_CONFORMANT_CONFIG</code>) will
+ be considered.
+ </p>
+ <p>
+ If <code class="constant">EGL_SLOW_CONFIG</code> is
+ specified, then only slow configs configurations
+ will be considered. The meaning of``slow'' is
+ implementation-dependent, but typically indicates a
+ non-hardware-accelerated (software) implementation.
+ </p>
+ <p>
+ If <code class="constant">EGL_NON_CONFORMANT_CONFIG</code> is
+ specified, then only configs supporting
+ non-conformant OpenGL ES contexts will be
+ considered.
+ </p>
+ <p>
+ If the EGL version is 1.3 or later, caveat
+ <code class="constant">EGL_NON_CONFORMANT_CONFIG</code> is
+ obsolete, since the same information can be
+ specified via the
+ <code class="constant">EGL_CONFORMANT</code> attribute on a
+ per-client-API basis, not just for OpenGL ES.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_CONFIG_ID</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a valid integer ID that
+ indicates the desired EGL frame buffer
+ configuration. When a
+ <code class="constant">EGL_CONFIG_ID</code> is specified, all
+ other attributes are ignored. The default value is
+ <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ <p>
+ The meaning of config IDs is
+ implementation-dependent. They are used only to
+ uniquely identify different frame buffer
+ configurations.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_CONFORMANT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a bitmask indicating which types
+ of client API contexts created with respect to the
+ frame buffer configuration config must pass the
+ required conformance tests for that API. Mask bits
+ include:
+ </p>
+ <div class="variablelist">
+ <dl class="variablelist">
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_OPENGL_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config supports creating OpenGL contexts.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_OPENGL_ES_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config supports creating OpenGL ES 1.0
+ and/or 1.1 contexts.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_OPENGL_ES2_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config supports creating OpenGL ES 2.0 contexts.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_OPENVG_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config supports creating OpenVG contexts.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ For example, if the bitmask is set to
+ <code class="constant">EGL_OPENGL_ES_BIT</code>, only frame
+ buffer configurations that support creating
+ conformant OpenGL ES contexts will match. The
+ default value is zero.
+ </p>
+ <p>
+ Most EGLConfigs should be conformant for all
+ supported client APIs, and it is rarely desirable to
+ select a nonconformant config. Conformance
+ requirements limit the number of non-conformant
+ configs that an implementation can define.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_DEPTH_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired depth buffer size, in bits.
+ The smallest depth buffers of at least the specified
+ size is preferred. If the desired size is zero,
+ frame buffer configurations with no depth buffer are
+ preferred. The default value is zero.
+ </p>
+ <p>
+ The depth buffer is used only by OpenGL and OpenGL
+ ES client APIs.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_GREEN_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired size of the green component of
+ the color buffer, in bits. If this value is zero,
+ color buffers with the smallest green component size
+ are preferred. Otherwise, color buffers with the
+ largest green component of at least the specified
+ size are preferred. The default value is zero.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_LEVEL</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by an integer buffer level
+ specification. This specification is honored
+ exactly. Buffer level zero corresponds to the
+ default frame buffer of the display. Buffer level
+ one is the first overlay frame buffer, level two the
+ second overlay frame buffer, and so on. Negative
+ buffer levels correspond to underlay frame buffers.
+ The default value is zero.
+ </p>
+ <p>
+ Most imlementations do not support overlay or
+ underlay planes (buffer levels other than zero).
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_LUMINANCE_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired size of the luminance
+ component of the color buffer, in bits. If this
+ value is zero, color buffers with the smallest
+ luminance component size are preferred. Otherwise,
+ color buffers with the largest luminance component
+ of at least the specified size are preferred. The
+ default value is zero.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_MATCH_NATIVE_PIXMAP</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by the handle of a valid native
+ pixmap, cast to <span class="type">EGLint</span>, or
+ <code class="constant">EGL_NONE</code>. If the value is not
+ <code class="constant">EGL_NONE</code>, only configs which
+ support creating pixmap surfaces with this pixmap
+ using
+ <a class="citerefentry" href="eglCreatePixmapSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>
+ will match this attribute. If the value is
+ <code class="constant">EGL_NONE</code>, then configs are not
+ matched for this attribute. The default value is
+ <code class="constant">EGL_NONE</code>.
+ </p>
+ <p>
+ <code class="constant">EGL_MATCH_NATIVE_PIXMAP</code> was
+ introduced due to the difficulty of determining an
+ <span class="type">EGLConfig</span> compatibile with a native
+ pixmap using only color component sizes.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_NATIVE_RENDERABLE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by
+ <code class="constant">EGL_DONT_CARE</code>,
+ <code class="constant">EGL_TRUE</code>, or
+ <code class="constant">EGL_FALSE</code>.
+ If <code class="constant">EGL_TRUE</code> is specified, then
+ only frame buffer configurations that allow native
+ rendering into the surface will be considered. The
+ default value is <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_MAX_SWAP_INTERVAL</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a integer that indicates the
+ maximum value that can be passed to
+ <a class="citerefentry" href="eglSwapInterval.html"><span class="citerefentry"><span class="refentrytitle">eglSwapInterval</span></span></a>.
+ The default value is
+ <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_MIN_SWAP_INTERVAL</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a integer that indicates the
+ minimum value that can be passed to eglSwapInterval.
+ The default value is <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_RED_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired size of the red component of
+ the color buffer, in bits. If this value is zero,
+ color buffers with the smallest red component size
+ are preferred. Otherwise, color buffers with the
+ largest red component of at least the specified size
+ are preferred. The default value is zero.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_SAMPLE_BUFFERS</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by the minimum acceptable number of
+ multisample buffers. Configurations with the
+ smallest number of multisample buffers that meet or
+ exceed this minimum number are preferred. Currently
+ operation with more than one multisample buffer is
+ undefined, so only values of zero or one will
+ produce a match. The default value is zero.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_SAMPLES</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by the minimum number of
+ samples required in multisample buffers.
+ Configurations with the smallest number of
+ samples that meet or exceed the specified
+ minimum number are preferred. Note that it is
+ possible for color samples in the multisample
+ buffer to have fewer bits than colors in the
+ main color buffers. However, multisampled
+ colors maintain at least as much color
+ resolution in aggregate as the main color
+ buffers.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_STENCIL_SIZE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a nonnegative integer that
+ indicates the desired stencil buffer size, in bits.
+ The smallest stencil buffers of at least the
+ specified size are preferred. If the desired size is
+ zero, frame buffer configurations with no stencil
+ buffer are preferred. The default value is zero.
+ </p>
+ <p>
+ The stencil buffer is used only by OpenGL and
+ OpenGL ES client APIs.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_RENDERABLE_TYPE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a bitmask indicating which types
+ of client API contexts the frame buffer
+ configuration must support creating with
+ <a class="citerefentry" href="eglCreateContext.html"><span class="citerefentry"><span class="refentrytitle">eglCreateContext</span></span></a>).
+ Mask bits are the same as for attribute
+ <code class="constant">EGL_CONFORMANT</code>. The default
+ value is <code class="constant">EGL_OPENGL_ES_BIT</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_SURFACE_TYPE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by a bitmask indicating which EGL
+ surface types and capabilities the frame buffer
+ configuration must support. Mask bits include:
+ </p>
+ <div class="variablelist">
+ <dl class="variablelist">
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_MULTISAMPLE_RESOLVE_BOX_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config allows specifying box filtered
+ multisample resolve behavior with
+ <a class="citerefentry" href="eglSurfaceAttrib.html"><span class="citerefentry"><span class="refentrytitle">eglSurfaceAttrib</span></span></a>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_PBUFFER_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config supports creating pixel buffer surfaces.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_PIXMAP_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config supports creating pixmap surfaces.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_SWAP_BEHAVIOR_PRESERVED_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config allows setting swap behavior for
+ color buffers with
+ <a class="citerefentry" href="eglSurfaceAttrib.html"><span class="citerefentry"><span class="refentrytitle">eglSurfaceAttrib</span></span></a>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_VG_ALPHA_FORMAT_PRE_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config allows specifying OpenVG rendering
+ with premultiplied alpha values at surface
+ creation time (see
+ <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
+ <a class="citerefentry" href="eglCreatePixmapSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>,
+ and
+ <a class="citerefentry" href="eglCreateWindowSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreateWindowSurface</span></span></a>).
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_VG_COLORSPACE_LINEAR_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config allows specifying OpenVG rendering in
+ a linear colorspace at surface creation time
+ (see
+ <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
+ <a class="citerefentry" href="eglCreatePixmapSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>,
+ and
+ <a class="citerefentry" href="eglCreateWindowSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreateWindowSurface</span></span></a>).
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_WINDOW_BIT</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Config supports creating window surfaces.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ For example, if the bitmask is set to
+ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
+ <mml:mi><code class="constant">EGL_WINDOW_BIT</code></mml:mi>
+ <mml:mo>|</mml:mo>
+ <mml:mi><code class="constant">EGL_PIXMAP_BIT</code></mml:mi>
+ </mml:math>,
+ only frame buffer configurations that support both
+ windows and pixmaps will be considered. The default
+ value is <code class="constant">EGL_WINDOW_BIT</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_TRANSPARENT_TYPE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by one of
+ <code class="constant">EGL_NONE</code> or
+ <code class="constant">EGL_TRANSPARENT_RGB</code>. If
+ <code class="constant">EGL_NONE</code> is specified, then
+ only opaque frame buffer configurations will be
+ considered. If
+ <code class="constant">EGL_TRANSPARENT_RGB</code> is
+ specified, then only transparent frame buffer
+ configurations will be considered. The default value
+ is <code class="constant">EGL_NONE</code>.
+ </p>
+ <p>
+ Most implementations support only opaque frame
+ buffer configurations.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_TRANSPARENT_RED_VALUE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by an integer value indicating the
+ transparent red value. The value must be between
+ zero and the maximum color buffer value for red.
+ Only frame buffer configurations that use the
+ specified transparent red value will be considered.
+ The default value is
+ <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ <p>
+ This attribute is ignored unless
+ <code class="constant">EGL_TRANSPARENT_TYPE</code> is included in
+ <em class="parameter"><code>attrib_list</code></em> and specified as
+ <code class="constant">EGL_TRANSPARENT_RGB</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_TRANSPARENT_GREEN_VALUE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by an integer value indicating the
+ transparent green value. The value must be between
+ zero and the maximum color buffer value for green.
+ Only frame buffer configurations that use the
+ specified transparent green value will be
+ considered. The default value is
+ <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ <p>
+ This attribute is ignored unless
+ <code class="constant">EGL_TRANSPARENT_TYPE</code> is included in
+ <em class="parameter"><code>attrib_list</code></em> and specified as
+ <code class="constant">EGL_TRANSPARENT_RGB</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term">
+ <code class="constant">EGL_TRANSPARENT_BLUE_VALUE</code>
+ </span>
+ </dt>
+ <dd>
+ <p>
+ Must be followed by an integer value indicating the
+ transparent blue value. The value must be between
+ zero and the maximum color buffer value for blue.
+ Only frame buffer configurations that use the
+ specified transparent blue value will be considered.
+ The default value is
+ <code class="constant">EGL_DONT_CARE</code>.
+ </p>
+ <p>
+ This attribute is ignored unless
+ <code class="constant">EGL_TRANSPARENT_TYPE</code> is included in
+ <em class="parameter"><code>attrib_list</code></em> and specified as
+ <code class="constant">EGL_TRANSPARENT_RGB</code>.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ When more than one EGL frame buffer configuration matches
+ the specified attributes, a list of matching configurations
+ is returned. The list is sorted according to the following
+ precedence rules, which are applied in ascending order
+ (i.e., configurations that are considered equal by a lower
+ numbered rule are sorted by the higher numbered rule):
+ </p>
+ <div class="orderedlist">
+ <ol class="orderedlist" type="1">
+ <li class="listitem">
+ <p>
+ Special: by <code class="constant">EGL_CONFIG_CAVEAT</code>,
+ where the precedence is <code class="constant">EGL_NONE</code>,
+ <code class="constant">EGL_SLOW_CONFIG</code>, and
+ <code class="constant">EGL_NON_CONFORMANT_CONFIG</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Special: by <code class="constant">EGL_COLOR_BUFFER_TYPE</code>,
+ where the precedence is
+ <code class="constant">EGL_RGB_BUFFER</code>,
+ <code class="constant">EGL_LUMINANCE_BUFFER</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Special: by larger total number of color bits (for an
+ RGB color buffer, this is the sum of
+ <code class="constant">EGL_RED_SIZE</code>,
+ <code class="constant">EGL_GREEN_SIZE</code>,
+ <code class="constant">EGL_BLUE_SIZE</code>, and
+ <code class="constant">EGL_ALPHA_SIZE</code>; for a luminance
+ color buffer, the sum of
+ <code class="constant">EGL_LUMINANCE_SIZE</code> and
+ <code class="constant">EGL_ALPHA_SIZE</code>). If the requested
+ number of bits in <em class="parameter"><code>attrib_list</code></em> is
+ <code class="constant">0</code> or
+ <code class="constant">EGL_DONT_CARE</code> for a particular
+ color component, then the number of bits for that
+ component is not considered.
+ </p>
+ <p>
+ This sort rule places configs with deeper color buffers
+ before configs with shallower color buffers, which may
+ be counterintuitive.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Smaller <code class="constant">EGL_BUFFER_SIZE</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Smaller <code class="constant">EGL_SAMPLE_BUFFERS</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Smaller <code class="constant">EGL_SAMPLES</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Smaller <code class="constant">EGL_DEPTH_SIZE</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Smaller <code class="constant">EGL_STENCIL_SIZE</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Smaller <code class="constant">EGL_ALPHA_MASK_SIZE</code>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Special: <code class="constant">EGL_NATIVE_VISUAL_TYPE</code>
+ (the actual sort order is implementation-defined,
+ depending on the meaning of native visual types).
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Smaller <code class="constant">EGL_CONFIG_ID</code> (this is
+ always the last sorting rule, and guarantees a unique
+ ordering).
+ </p>
+ </li>
+ </ol>
+ </div>
+ <p>
+ <span class="type">EGLConfigs</span> are not sorted with respect to the
+ attributes <code class="constant">EGL_BIND_TO_TEXTURE_RGB</code>,
+ <code class="constant">EGL_BIND_TO_TEXTURE_RGBA</code>,
+ <code class="constant">EGL_CONFORMANT</code>,
+ <code class="constant">EGL_LEVEL</code>,
+ <code class="constant">EGL_NATIVE_RENDERABLE</code>,
+ <code class="constant">EGL_MAX_SWAP_INTERVAL</code>,
+ <code class="constant">EGL_MIN_SWAP_INTERVAL</code>,
+ <code class="constant">EGL_RENDERABLE_TYPE</code>,
+ <code class="constant">EGL_SURFACE_TYPE</code>,
+ <code class="constant">EGL_TRANSPARENT_TYPE</code>,
+ <code class="constant">EGL_TRANSPARENT_RED_VALUE</code>,
+ <code class="constant">EGL_TRANSPARENT_GREEN_VALUE</code>, and
+ <code class="constant">EGL_TRANSPARENT_BLUE_VALUE</code>.
+ </p>
+ </div>
+ <div class="refsect1">
+ <a id="examples"></a>
+ <h2>Examples</h2>
+ <p>
+ The following example specifies a frame buffer configuration
+ in the normal frame buffer (not an overlay or underlay). The
+ returned frame buffer configuration supports a color buffer
+ with at least 4 bits each of red, green and blue, and
+ possibly no alpha bits. The code shown in the example may or
+ may not have a depth buffer, or a stencil buffer.
+ </p>
+ <pre class="programlisting">EGLint const attrib_list[] = {
+ EGL_RED_SIZE, 4,
+ EGL_GREEN_SIZE, 4,
+ EGL_BLUE_SIZE, 4,
+ EGL_NONE
+};</pre>
+ </div>
+ <div class="refsect1">
+ <a id="notes"></a>
+ <h2>Notes</h2>
+ <p>
+ <code class="constant">EGL_RENDERABLE_TYPE</code> bit
+ <code class="constant">EGL_OPENGL_BIT</code>, and
+ <code class="constant">EGL_SURFACE_TYPE</code> bits
+ <code class="constant">EGL_MULTISAMPLE_RESOLVE_BOX_BIT</code> and
+ <code class="constant">EGL_SWAP_BEHAVIOR_PRESERVED_BIT</code> are
+ supported only if the EGL version is 1.4 or greater.
+ </p>
+ <p>
+ <code class="constant">EGL_CONFORMANT</code>,
+ <code class="constant">EGL_MATCH_NATIVE_PIXMAP</code>,
+ <code class="constant">EGL_RENDERABLE_TYPE</code> bit
+ <code class="constant">EGL_OPENGL_ES2_BIT</code>, and
+ <code class="constant">EGL_SURFACE_TYPE</code> bits
+ <code class="constant">EGL_VG_ALPHA_FORMAT_PRE_BIT</code> and
+ <code class="constant">EGL_VG_COLORSPACE_LINEAR_BIT</code> are
+ supported only if the EGL version is 1.3 or greater.
+ </p>
+ <p>
+ <code class="constant">EGL_ALPHA_MASK_SIZE</code>,
+ <code class="constant">EGL_COLOR_BUFFER_TYPE</code>,
+ <code class="constant">EGL_LUMINANCE_SIZE</code>,
+ <code class="constant">EGL_RENDERABLE_TYPE</code>, and
+ <code class="constant">EGL_RENDERABLE_TYPE</code> bits
+ <code class="constant">EGL_OPENGL_ES_BIT</code> and
+ <code class="constant">EGL_OPENVG_BIT</code> are supported only if
+ the EGL version is 1.2 or greater.
+ </p>
+ <p>
+ If OpenGL or OpenGL ES rendering is supported for a
+ luminance color buffer, it is treated as RGB rendering with
+ the value of <code class="constant">GL_RED_BITS</code> equal to
+ <code class="constant">EGL_LUMINANCE_SIZE</code> and the values of
+ <code class="constant">GL_GREEN_BITS</code> and
+ <code class="constant">GL_BLUE_BITS</code> equal to zero. The red
+ component of fragments is written to the luminance channel
+ of the color buffer while the green and blue components are
+ discarded.
+ </p>
+ <p>
+ <a class="citerefentry" href="eglGetConfigs.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>
+ and
+ <a class="citerefentry" href="eglGetConfigAttrib.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigAttrib</span></span></a>
+ can be used to implement selection algorithms other than the
+ generic one implemented by
+ <code class="function">eglChooseConfig</code>. Call
+ <a class="citerefentry" href="eglGetConfigs.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>
+ to retrieve all the frame buffer configurations, or
+ alternatively, all the frame buffer configurations with a
+ particular set of attributes. Next call
+ <a class="citerefentry" href="eglGetConfigAttrib.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigAttrib</span></span></a>
+ to retrieve additional attributes for the frame buffer
+ configurations and then select between them.
+ </p>
+ <p>
+ EGL implementors are strongly discouraged, but not
+ proscribed, from changing the selection algorithm used by
+ <code class="function">eglChooseConfig</code>. Therefore, selections
+ may change from release to release of the client-side
+ library.
+ </p>
+ </div>
+ <div class="refsect1">
+ <a id="errors"></a>
+ <h2>Errors</h2>
+ <p>
+ <code class="constant">EGL_FALSE</code> is returned on failure,
+ <code class="constant">EGL_TRUE</code> otherwise.
+ <em class="parameter"><code>configs</code></em> and
+ <em class="parameter"><code>num_config</code></em> are not modified when
+ <code class="constant">EGL_FALSE</code> is returned.
+ </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_BAD_ATTRIBUTE</code> is generated if
+ <em class="parameter"><code>attribute_list</code></em> contains an invalid frame buffer
+ configuration attribute or an
+ attribute value that is unrecognized or out of range.
+ </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_PARAMETER</code> is generated if
+ <em class="parameter"><code>num_config</code></em> is <code class="constant">NULL</code>.
+ </p>
+ </div>
+ <div class="refsect1">
+ <a id="seealso"></a>
+ <h2>See Also</h2>
+ <p>
+ <a class="citerefentry" href="eglCreateContext.html"><span class="citerefentry"><span class="refentrytitle">eglCreateContext</span></span></a>,
+ <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
+ <a class="citerefentry" href="eglCreatePixmapSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>,
+ <a class="citerefentry" href="eglCreateWindowSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreateWindowSurface</span></span></a>,
+ <a class="citerefentry" href="eglGetConfigs.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>,
+ <a class="citerefentry" href="eglGetConfigAttrib.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigAttrib</span></span></a>,
+ <a class="citerefentry" href="eglSurfaceAttrib.html"><span class="citerefentry"><span class="refentrytitle">eglSurfaceAttrib</span></span></a>,
+ <a class="citerefentry" href="eglSwapInterval.html"><span class="citerefentry"><span class="refentrytitle">eglSwapInterval</span></span></a>
+ </p>
+ </div>
+ <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4><img xmlns="http://www.w3.org/1999/xhtml" src="KhronosLogo.jpg" /><p xmlns="http://www.w3.org/1999/xhtml"></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.
+</div>
+ </div>
+ </body>
+</html>