102f4aeb0Sopenharmony_ci<?xml version="1.0" encoding="UTF-8" standalone="no"?>
202f4aeb0Sopenharmony_ci<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
302f4aeb0Sopenharmony_ci  <head>
402f4aeb0Sopenharmony_ci    <title xmlns:xlink="http://www.w3.org/1999/xlink">eglChooseConfig - EGL Reference Pages</title>
502f4aeb0Sopenharmony_ci    <link rel="stylesheet" type="text/css" href="khronos-man.css"/>
602f4aeb0Sopenharmony_ci    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/>
702f4aeb0Sopenharmony_ci  </head>
802f4aeb0Sopenharmony_ci  <body>
902f4aeb0Sopenharmony_ci    <header/>
1002f4aeb0Sopenharmony_ci    <div class="refentry" id="eglChooseConfig">
1102f4aeb0Sopenharmony_ci      <div class="titlepage"/>
1202f4aeb0Sopenharmony_ci      <div class="refnamediv">
1302f4aeb0Sopenharmony_ci        <h2>Name</h2>
1402f4aeb0Sopenharmony_ci        <p>eglChooseConfig — 
1502f4aeb0Sopenharmony_ci            return a list of EGL frame buffer configurations that match specified attributes
1602f4aeb0Sopenharmony_ci        </p>
1702f4aeb0Sopenharmony_ci      </div>
1802f4aeb0Sopenharmony_ci      <div class="refsynopsisdiv">
1902f4aeb0Sopenharmony_ci        <h2>C Specification</h2>
2002f4aeb0Sopenharmony_ci        <div class="funcsynopsis">
2102f4aeb0Sopenharmony_ci          <table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table">
2202f4aeb0Sopenharmony_ci            <tr>
2302f4aeb0Sopenharmony_ci              <td>
2402f4aeb0Sopenharmony_ci                <code class="funcdef">EGLBoolean <strong class="fsfunc">eglChooseConfig</strong>(</code>
2502f4aeb0Sopenharmony_ci              </td>
2602f4aeb0Sopenharmony_ci              <td>EGLDisplay <var class="pdparam">display</var>, </td>
2702f4aeb0Sopenharmony_ci            </tr>
2802f4aeb0Sopenharmony_ci            <tr>
2902f4aeb0Sopenharmony_ci              <td> </td>
3002f4aeb0Sopenharmony_ci              <td>EGLint const * <var class="pdparam">attrib_list</var>, </td>
3102f4aeb0Sopenharmony_ci            </tr>
3202f4aeb0Sopenharmony_ci            <tr>
3302f4aeb0Sopenharmony_ci              <td> </td>
3402f4aeb0Sopenharmony_ci              <td>EGLConfig * <var class="pdparam">configs</var>, </td>
3502f4aeb0Sopenharmony_ci            </tr>
3602f4aeb0Sopenharmony_ci            <tr>
3702f4aeb0Sopenharmony_ci              <td> </td>
3802f4aeb0Sopenharmony_ci              <td>EGLint <var class="pdparam">config_size</var>, </td>
3902f4aeb0Sopenharmony_ci            </tr>
4002f4aeb0Sopenharmony_ci            <tr>
4102f4aeb0Sopenharmony_ci              <td> </td>
4202f4aeb0Sopenharmony_ci              <td>EGLint * <var class="pdparam">num_config</var><code>)</code>;</td>
4302f4aeb0Sopenharmony_ci            </tr>
4402f4aeb0Sopenharmony_ci          </table>
4502f4aeb0Sopenharmony_ci          <div class="funcprototype-spacer"> </div>
4602f4aeb0Sopenharmony_ci        </div>
4702f4aeb0Sopenharmony_ci      </div>
4802f4aeb0Sopenharmony_ci      <div class="refsect1" id="parameters">
4902f4aeb0Sopenharmony_ci        <h2>Parameters</h2>
5002f4aeb0Sopenharmony_ci        <div class="variablelist">
5102f4aeb0Sopenharmony_ci          <dl class="variablelist">
5202f4aeb0Sopenharmony_ci            <dt>
5302f4aeb0Sopenharmony_ci              <span class="term">
5402f4aeb0Sopenharmony_ci                <em class="parameter">
5502f4aeb0Sopenharmony_ci                  <code>display</code>
5602f4aeb0Sopenharmony_ci                </em>
5702f4aeb0Sopenharmony_ci              </span>
5802f4aeb0Sopenharmony_ci            </dt>
5902f4aeb0Sopenharmony_ci            <dd>
6002f4aeb0Sopenharmony_ci              <p>Specifies the EGL display connection.</p>
6102f4aeb0Sopenharmony_ci            </dd>
6202f4aeb0Sopenharmony_ci            <dt>
6302f4aeb0Sopenharmony_ci              <span class="term">
6402f4aeb0Sopenharmony_ci                <em class="parameter">
6502f4aeb0Sopenharmony_ci                  <code>attrib_list</code>
6602f4aeb0Sopenharmony_ci                </em>
6702f4aeb0Sopenharmony_ci              </span>
6802f4aeb0Sopenharmony_ci            </dt>
6902f4aeb0Sopenharmony_ci            <dd>
7002f4aeb0Sopenharmony_ci              <p>Specifies attributes required to match by configs.</p>
7102f4aeb0Sopenharmony_ci            </dd>
7202f4aeb0Sopenharmony_ci            <dt>
7302f4aeb0Sopenharmony_ci              <span class="term">
7402f4aeb0Sopenharmony_ci                <em class="parameter">
7502f4aeb0Sopenharmony_ci                  <code>configs</code>
7602f4aeb0Sopenharmony_ci                </em>
7702f4aeb0Sopenharmony_ci              </span>
7802f4aeb0Sopenharmony_ci            </dt>
7902f4aeb0Sopenharmony_ci            <dd>
8002f4aeb0Sopenharmony_ci              <p>Returns an array of frame buffer configurations.</p>
8102f4aeb0Sopenharmony_ci            </dd>
8202f4aeb0Sopenharmony_ci            <dt>
8302f4aeb0Sopenharmony_ci              <span class="term">
8402f4aeb0Sopenharmony_ci                <em class="parameter">
8502f4aeb0Sopenharmony_ci                  <code>config_size</code>
8602f4aeb0Sopenharmony_ci                </em>
8702f4aeb0Sopenharmony_ci              </span>
8802f4aeb0Sopenharmony_ci            </dt>
8902f4aeb0Sopenharmony_ci            <dd>
9002f4aeb0Sopenharmony_ci              <p>Specifies the size of the array of frame buffer configurations.</p>
9102f4aeb0Sopenharmony_ci            </dd>
9202f4aeb0Sopenharmony_ci            <dt>
9302f4aeb0Sopenharmony_ci              <span class="term">
9402f4aeb0Sopenharmony_ci                <em class="parameter">
9502f4aeb0Sopenharmony_ci                  <code>num_config</code>
9602f4aeb0Sopenharmony_ci                </em>
9702f4aeb0Sopenharmony_ci              </span>
9802f4aeb0Sopenharmony_ci            </dt>
9902f4aeb0Sopenharmony_ci            <dd>
10002f4aeb0Sopenharmony_ci              <p>Returns the number of frame buffer configurations returned.</p>
10102f4aeb0Sopenharmony_ci            </dd>
10202f4aeb0Sopenharmony_ci          </dl>
10302f4aeb0Sopenharmony_ci        </div>
10402f4aeb0Sopenharmony_ci      </div>
10502f4aeb0Sopenharmony_ci      <div class="refsect1" id="description">
10602f4aeb0Sopenharmony_ci        <h2>Description</h2>
10702f4aeb0Sopenharmony_ci        <p>
10802f4aeb0Sopenharmony_ci            <code class="function">eglChooseConfig</code> returns in
10902f4aeb0Sopenharmony_ci            <em class="parameter"><code>configs</code></em> a list of all
11002f4aeb0Sopenharmony_ci            <abbr class="acronym">EGL</abbr> frame buffer configurations that
11102f4aeb0Sopenharmony_ci            match the attributes specified in
11202f4aeb0Sopenharmony_ci            <em class="parameter"><code>attrib_list</code></em>. The returned
11302f4aeb0Sopenharmony_ci            <span class="type">EGLConfig</span>s can be used in any
11402f4aeb0Sopenharmony_ci            <abbr class="acronym">EGL</abbr> function that requires an
11502f4aeb0Sopenharmony_ci            <abbr class="acronym">EGL</abbr> frame buffer configuration.
11602f4aeb0Sopenharmony_ci        </p>
11702f4aeb0Sopenharmony_ci        <p>
11802f4aeb0Sopenharmony_ci            If <em class="parameter"><code>configs</code></em> is not
11902f4aeb0Sopenharmony_ci            <code class="constant">NULL</code>, up to
12002f4aeb0Sopenharmony_ci            <em class="parameter"><code>config_size</code></em> configs will be returned
12102f4aeb0Sopenharmony_ci            in the array pointed to by <em class="parameter"><code>configs</code></em>.
12202f4aeb0Sopenharmony_ci            The number of configs actually returned will be returned in
12302f4aeb0Sopenharmony_ci            *<em class="parameter"><code>num_config</code></em>.
12402f4aeb0Sopenharmony_ci        </p>
12502f4aeb0Sopenharmony_ci        <p>
12602f4aeb0Sopenharmony_ci            If <em class="parameter"><code>configs</code></em> is
12702f4aeb0Sopenharmony_ci            <code class="constant">NULL</code>, no configs will be returned in
12802f4aeb0Sopenharmony_ci            <em class="parameter"><code>configs</code></em>. Instead, the total number of
12902f4aeb0Sopenharmony_ci            configs matching <em class="parameter"><code>attrib_list</code></em> will be
13002f4aeb0Sopenharmony_ci            returned in *<em class="parameter"><code>num_config</code></em>. In this case
13102f4aeb0Sopenharmony_ci            <em class="parameter"><code>config_size</code></em> is ignored. This form of
13202f4aeb0Sopenharmony_ci            <code class="function">eglChooseConfig</code> is used to determine
13302f4aeb0Sopenharmony_ci            the number of matching frame buffer configurations, followed
13402f4aeb0Sopenharmony_ci            by allocating an array of <span class="type">EGLConfig</span> to pass
13502f4aeb0Sopenharmony_ci            into another call to <code class="function">eglChooseConfig</code>
13602f4aeb0Sopenharmony_ci            with all other parameters unchanged.
13702f4aeb0Sopenharmony_ci        </p>
13802f4aeb0Sopenharmony_ci        <p>
13902f4aeb0Sopenharmony_ci            All attributes in <em class="parameter"><code>attrib_list</code></em>,
14002f4aeb0Sopenharmony_ci            including boolean attributes, are immediately followed by
14102f4aeb0Sopenharmony_ci            the corresponding desired value. The list is terminated with
14202f4aeb0Sopenharmony_ci            <code class="constant">EGL_NONE</code>. If an attribute is not
14302f4aeb0Sopenharmony_ci            specified in <em class="parameter"><code>attrib_list</code></em> then the
14402f4aeb0Sopenharmony_ci            default value (see below) is used (and the attribute is said
14502f4aeb0Sopenharmony_ci            to be specified implicitly). For example, if
14602f4aeb0Sopenharmony_ci            <code class="constant">EGL_DEPTH_SIZE</code> is not specified then it
14702f4aeb0Sopenharmony_ci            is assumed to be zero. For some attributes, the default is
14802f4aeb0Sopenharmony_ci            <code class="constant">EGL_DONT_CARE</code> meaning that any value is
14902f4aeb0Sopenharmony_ci            OK for this attribute, so the attribute will not be checked.
15002f4aeb0Sopenharmony_ci        </p>
15102f4aeb0Sopenharmony_ci        <p>
15202f4aeb0Sopenharmony_ci            Attributes are matched in an attribute-specific manner. Some
15302f4aeb0Sopenharmony_ci            of the attributes, such as <code class="constant">EGL_LEVEL</code>,
15402f4aeb0Sopenharmony_ci            must match the specified value exactly. Others, such as,
15502f4aeb0Sopenharmony_ci            <code class="constant">EGL_RED_SIZE</code> must meet or exceed the
15602f4aeb0Sopenharmony_ci            specified minimum values. If more than one EGL frame buffer
15702f4aeb0Sopenharmony_ci            configuration matching all attributes is found, then a list
15802f4aeb0Sopenharmony_ci            of configurations, sorted according to the ``best'' match
15902f4aeb0Sopenharmony_ci            criteria, is returned. The match criteria for each attribute
16002f4aeb0Sopenharmony_ci            and the exact sorting order is defined below.
16102f4aeb0Sopenharmony_ci        </p>
16202f4aeb0Sopenharmony_ci        <p>
16302f4aeb0Sopenharmony_ci            For the bitmask attributes
16402f4aeb0Sopenharmony_ci            <code class="constant">EGL_CONFORMANT</code>,
16502f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code>, and
16602f4aeb0Sopenharmony_ci            <code class="constant">EGL_SURFACE_TYPE</code>, only the nonzero bits
16702f4aeb0Sopenharmony_ci            of the mask are considered when matching. Any bits that are
16802f4aeb0Sopenharmony_ci            zero in the specified bitmask attribute value may be either
16902f4aeb0Sopenharmony_ci            zero or one in the resulting config's attribute value.
17002f4aeb0Sopenharmony_ci        </p>
17102f4aeb0Sopenharmony_ci        <p>
17202f4aeb0Sopenharmony_ci            Attributes which may appear in
17302f4aeb0Sopenharmony_ci            <em class="parameter"><code>attrib_list</code></em>, and their descriptions
17402f4aeb0Sopenharmony_ci            and allowed values, are:
17502f4aeb0Sopenharmony_ci        </p>
17602f4aeb0Sopenharmony_ci        <div class="variablelist">
17702f4aeb0Sopenharmony_ci          <dl class="variablelist">
17802f4aeb0Sopenharmony_ci            <dt>
17902f4aeb0Sopenharmony_ci              <span class="term">
18002f4aeb0Sopenharmony_ci                <code class="constant">EGL_ALPHA_MASK_SIZE</code>
18102f4aeb0Sopenharmony_ci              </span>
18202f4aeb0Sopenharmony_ci            </dt>
18302f4aeb0Sopenharmony_ci            <dd>
18402f4aeb0Sopenharmony_ci              <p>
18502f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
18602f4aeb0Sopenharmony_ci                    indicates the desired alpha mask buffer size, in
18702f4aeb0Sopenharmony_ci                    bits. The smallest alpha mask buffers of at least
18802f4aeb0Sopenharmony_ci                    the specified size are preferred. The default value
18902f4aeb0Sopenharmony_ci                    is zero.
19002f4aeb0Sopenharmony_ci                </p>
19102f4aeb0Sopenharmony_ci              <p>
19202f4aeb0Sopenharmony_ci                    The alpha mask buffer is used only by OpenVG.
19302f4aeb0Sopenharmony_ci                </p>
19402f4aeb0Sopenharmony_ci            </dd>
19502f4aeb0Sopenharmony_ci            <dt>
19602f4aeb0Sopenharmony_ci              <span class="term">
19702f4aeb0Sopenharmony_ci                <code class="constant">EGL_ALPHA_SIZE</code>
19802f4aeb0Sopenharmony_ci              </span>
19902f4aeb0Sopenharmony_ci            </dt>
20002f4aeb0Sopenharmony_ci            <dd>
20102f4aeb0Sopenharmony_ci              <p>
20202f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
20302f4aeb0Sopenharmony_ci                    indicates the desired size of the alpha component of
20402f4aeb0Sopenharmony_ci                    the color buffer, in bits. If this value is zero,
20502f4aeb0Sopenharmony_ci                    color buffers with the smallest alpha component size
20602f4aeb0Sopenharmony_ci                    are preferred. Otherwise, color buffers with the
20702f4aeb0Sopenharmony_ci                    largest alpha component of at least the specified
20802f4aeb0Sopenharmony_ci                    size are preferred. The default value is zero.
20902f4aeb0Sopenharmony_ci                </p>
21002f4aeb0Sopenharmony_ci            </dd>
21102f4aeb0Sopenharmony_ci            <dt>
21202f4aeb0Sopenharmony_ci              <span class="term">
21302f4aeb0Sopenharmony_ci                <code class="constant">EGL_BIND_TO_TEXTURE_RGB</code>
21402f4aeb0Sopenharmony_ci              </span>
21502f4aeb0Sopenharmony_ci            </dt>
21602f4aeb0Sopenharmony_ci            <dd>
21702f4aeb0Sopenharmony_ci              <p>
21802f4aeb0Sopenharmony_ci                    Must be followed by
21902f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>,
22002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRUE</code>, or
22102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_FALSE</code>.
22202f4aeb0Sopenharmony_ci                    If <code class="constant">EGL_TRUE</code> is specified, then
22302f4aeb0Sopenharmony_ci                    only frame buffer configurations that support
22402f4aeb0Sopenharmony_ci                    binding of color buffers to an OpenGL ES RGB texture
22502f4aeb0Sopenharmony_ci                    will be considered. Currently only frame buffer
22602f4aeb0Sopenharmony_ci                    configurations that support pbuffers allow this. The
22702f4aeb0Sopenharmony_ci                    default value is <code class="constant">EGL_DONT_CARE</code>.
22802f4aeb0Sopenharmony_ci                </p>
22902f4aeb0Sopenharmony_ci            </dd>
23002f4aeb0Sopenharmony_ci            <dt>
23102f4aeb0Sopenharmony_ci              <span class="term">
23202f4aeb0Sopenharmony_ci                <code class="constant">EGL_BIND_TO_TEXTURE_RGBA</code>
23302f4aeb0Sopenharmony_ci              </span>
23402f4aeb0Sopenharmony_ci            </dt>
23502f4aeb0Sopenharmony_ci            <dd>
23602f4aeb0Sopenharmony_ci              <p>
23702f4aeb0Sopenharmony_ci                    Must be followed by one of
23802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>,
23902f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRUE</code>, or
24002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_FALSE</code>.
24102f4aeb0Sopenharmony_ci                    If <code class="constant">EGL_TRUE</code> is specified, then
24202f4aeb0Sopenharmony_ci                    only frame buffer configurations that support
24302f4aeb0Sopenharmony_ci                    binding of color buffers to an OpenGL ES RGBA
24402f4aeb0Sopenharmony_ci                    texture will be considered. Currently only frame
24502f4aeb0Sopenharmony_ci                    buffer configurations that support pbuffers allow
24602f4aeb0Sopenharmony_ci                    this. The default value is
24702f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>.
24802f4aeb0Sopenharmony_ci                </p>
24902f4aeb0Sopenharmony_ci            </dd>
25002f4aeb0Sopenharmony_ci            <dt>
25102f4aeb0Sopenharmony_ci              <span class="term">
25202f4aeb0Sopenharmony_ci                <code class="constant">EGL_BLUE_SIZE</code>
25302f4aeb0Sopenharmony_ci              </span>
25402f4aeb0Sopenharmony_ci            </dt>
25502f4aeb0Sopenharmony_ci            <dd>
25602f4aeb0Sopenharmony_ci              <p>
25702f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
25802f4aeb0Sopenharmony_ci                    indicates the desired size of the blue component of
25902f4aeb0Sopenharmony_ci                    the color buffer, in bits. If this value is zero,
26002f4aeb0Sopenharmony_ci                    color buffers with the smallest blue component size
26102f4aeb0Sopenharmony_ci                    are preferred. Otherwise, color buffers with the
26202f4aeb0Sopenharmony_ci                    largest blue component of at least the specified
26302f4aeb0Sopenharmony_ci                    size are preferred. The default value is zero.
26402f4aeb0Sopenharmony_ci                </p>
26502f4aeb0Sopenharmony_ci            </dd>
26602f4aeb0Sopenharmony_ci            <dt>
26702f4aeb0Sopenharmony_ci              <span class="term">
26802f4aeb0Sopenharmony_ci                <code class="constant">EGL_BUFFER_SIZE</code>
26902f4aeb0Sopenharmony_ci              </span>
27002f4aeb0Sopenharmony_ci            </dt>
27102f4aeb0Sopenharmony_ci            <dd>
27202f4aeb0Sopenharmony_ci              <p>
27302f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
27402f4aeb0Sopenharmony_ci                    indicates the desired color buffer size, in bits.
27502f4aeb0Sopenharmony_ci                    The smallest color buffers of at least the specified
27602f4aeb0Sopenharmony_ci                    size are preferred. The default value is zero.
27702f4aeb0Sopenharmony_ci                </p>
27802f4aeb0Sopenharmony_ci              <p>
27902f4aeb0Sopenharmony_ci                    The color buffer size is the sum of
28002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_RED_SIZE</code>,
28102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_GREEN_SIZE</code>,
28202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_BLUE_SIZE</code>, and
28302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_ALPHA_SIZE</code>, and does not
28402f4aeb0Sopenharmony_ci                    include any padding bits which may be present in the
28502f4aeb0Sopenharmony_ci                    pixel format. It is usually preferable to specify
28602f4aeb0Sopenharmony_ci                    desired sizes for these color components
28702f4aeb0Sopenharmony_ci                    individually.
28802f4aeb0Sopenharmony_ci                </p>
28902f4aeb0Sopenharmony_ci            </dd>
29002f4aeb0Sopenharmony_ci            <dt>
29102f4aeb0Sopenharmony_ci              <span class="term">
29202f4aeb0Sopenharmony_ci                <code class="constant">EGL_COLOR_BUFFER_TYPE</code>
29302f4aeb0Sopenharmony_ci              </span>
29402f4aeb0Sopenharmony_ci            </dt>
29502f4aeb0Sopenharmony_ci            <dd>
29602f4aeb0Sopenharmony_ci              <p>
29702f4aeb0Sopenharmony_ci                    Must be followed by one of
29802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_RGB_BUFFER</code> or
29902f4aeb0Sopenharmony_ci                    <code class="constant">EGL_LUMINANCE_BUFFER</code>.
30002f4aeb0Sopenharmony_ci                </p>
30102f4aeb0Sopenharmony_ci              <p>
30202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_RGB_BUFFER</code> indicates
30302f4aeb0Sopenharmony_ci                    an RGB color buffer; in this case,
30402f4aeb0Sopenharmony_ci                    attributes <code class="constant">EGL_RED_SIZE</code>,
30502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_GREEN_SIZE</code> and
30602f4aeb0Sopenharmony_ci                    <code class="constant">EGL_BLUE_SIZE</code> must be non-zero, and
30702f4aeb0Sopenharmony_ci                    <code class="constant">EGL_LUMINANCE_SIZE</code> must be zero.
30802f4aeb0Sopenharmony_ci                </p>
30902f4aeb0Sopenharmony_ci              <p>
31002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_LUMINANCE_BUFFER</code> indicates a luminance color
31102f4aeb0Sopenharmony_ci                    buffer. In this case <code class="constant">EGL_RED_SIZE</code>,
31202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_GREEN_SIZE</code>,
31302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_BLUE_SIZE</code> must be zero, and
31402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_LUMINANCE_SIZE</code> must be non-zero.
31502f4aeb0Sopenharmony_ci                </p>
31602f4aeb0Sopenharmony_ci              <p>
31702f4aeb0Sopenharmony_ci                    For both RGB and luminance color buffers,
31802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_ALPHA_SIZE</code> may be zero or
31902f4aeb0Sopenharmony_ci                    non-zero.
32002f4aeb0Sopenharmony_ci                </p>
32102f4aeb0Sopenharmony_ci            </dd>
32202f4aeb0Sopenharmony_ci            <dt>
32302f4aeb0Sopenharmony_ci              <span class="term">
32402f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONFIG_CAVEAT</code>
32502f4aeb0Sopenharmony_ci              </span>
32602f4aeb0Sopenharmony_ci            </dt>
32702f4aeb0Sopenharmony_ci            <dd>
32802f4aeb0Sopenharmony_ci              <p>
32902f4aeb0Sopenharmony_ci                    Must be followed by
33002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>,
33102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NONE</code>,
33202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_SLOW_CONFIG</code>, or
33302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NON_CONFORMANT_CONFIG</code>.
33402f4aeb0Sopenharmony_ci                </p>
33502f4aeb0Sopenharmony_ci              <p>
33602f4aeb0Sopenharmony_ci                    If <code class="constant">EGL_DONT_CARE</code> is specified,
33702f4aeb0Sopenharmony_ci                    then configs are not matched for this attribute. The
33802f4aeb0Sopenharmony_ci                    default value is <code class="constant">EGL_DONT_CARE</code>.
33902f4aeb0Sopenharmony_ci                </p>
34002f4aeb0Sopenharmony_ci              <p>
34102f4aeb0Sopenharmony_ci                    If <code class="constant">EGL_NONE</code> is specified, then
34202f4aeb0Sopenharmony_ci                    configs are matched for this attribute, but only
34302f4aeb0Sopenharmony_ci                    configs with no caveats (neither
34402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_SLOW_CONFIG</code> or
34502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NON_CONFORMANT_CONFIG</code>) will
34602f4aeb0Sopenharmony_ci                    be considered.
34702f4aeb0Sopenharmony_ci                </p>
34802f4aeb0Sopenharmony_ci              <p>
34902f4aeb0Sopenharmony_ci                    If <code class="constant">EGL_SLOW_CONFIG</code> is
35002f4aeb0Sopenharmony_ci                    specified, then only slow configs configurations
35102f4aeb0Sopenharmony_ci                    will be considered. The meaning of``slow'' is
35202f4aeb0Sopenharmony_ci                    implementation-dependent, but typically indicates a
35302f4aeb0Sopenharmony_ci                    non-hardware-accelerated (software) implementation.
35402f4aeb0Sopenharmony_ci                </p>
35502f4aeb0Sopenharmony_ci              <p>
35602f4aeb0Sopenharmony_ci                    If <code class="constant">EGL_NON_CONFORMANT_CONFIG</code> is
35702f4aeb0Sopenharmony_ci                    specified, then only configs supporting
35802f4aeb0Sopenharmony_ci                    non-conformant OpenGL ES contexts will be
35902f4aeb0Sopenharmony_ci                    considered.
36002f4aeb0Sopenharmony_ci                </p>
36102f4aeb0Sopenharmony_ci              <p>
36202f4aeb0Sopenharmony_ci                    If the EGL version is 1.3 or later, caveat
36302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NON_CONFORMANT_CONFIG</code> is
36402f4aeb0Sopenharmony_ci                    obsolete, since the same information can be
36502f4aeb0Sopenharmony_ci                    specified via the
36602f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONFORMANT</code> attribute on a
36702f4aeb0Sopenharmony_ci                    per-client-API basis, not just for OpenGL ES.
36802f4aeb0Sopenharmony_ci                </p>
36902f4aeb0Sopenharmony_ci            </dd>
37002f4aeb0Sopenharmony_ci            <dt>
37102f4aeb0Sopenharmony_ci              <span class="term">
37202f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONFIG_ID</code>
37302f4aeb0Sopenharmony_ci              </span>
37402f4aeb0Sopenharmony_ci            </dt>
37502f4aeb0Sopenharmony_ci            <dd>
37602f4aeb0Sopenharmony_ci              <p>
37702f4aeb0Sopenharmony_ci                    Must be followed by a valid integer ID that
37802f4aeb0Sopenharmony_ci                    indicates the desired EGL frame buffer
37902f4aeb0Sopenharmony_ci                    configuration. When a
38002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONFIG_ID</code> is specified, all
38102f4aeb0Sopenharmony_ci                    other attributes are ignored. The default value is
38202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>.
38302f4aeb0Sopenharmony_ci                </p>
38402f4aeb0Sopenharmony_ci              <p>
38502f4aeb0Sopenharmony_ci                    The meaning of config IDs is
38602f4aeb0Sopenharmony_ci                    implementation-dependent. They are used only to
38702f4aeb0Sopenharmony_ci                    uniquely identify different frame buffer
38802f4aeb0Sopenharmony_ci                    configurations.
38902f4aeb0Sopenharmony_ci                </p>
39002f4aeb0Sopenharmony_ci            </dd>
39102f4aeb0Sopenharmony_ci            <dt>
39202f4aeb0Sopenharmony_ci              <span class="term">
39302f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONFORMANT</code>
39402f4aeb0Sopenharmony_ci              </span>
39502f4aeb0Sopenharmony_ci            </dt>
39602f4aeb0Sopenharmony_ci            <dd>
39702f4aeb0Sopenharmony_ci              <p>
39802f4aeb0Sopenharmony_ci                    Must be followed by a bitmask indicating which types
39902f4aeb0Sopenharmony_ci                    of client API contexts created with respect to the
40002f4aeb0Sopenharmony_ci                    frame buffer configuration config must pass the
40102f4aeb0Sopenharmony_ci                    required conformance tests for that API. Mask bits
40202f4aeb0Sopenharmony_ci                    include:
40302f4aeb0Sopenharmony_ci                </p>
40402f4aeb0Sopenharmony_ci              <div class="variablelist">
40502f4aeb0Sopenharmony_ci                <dl class="variablelist">
40602f4aeb0Sopenharmony_ci                  <dt>
40702f4aeb0Sopenharmony_ci                    <span class="term">
40802f4aeb0Sopenharmony_ci                      <code class="constant">EGL_OPENGL_BIT</code>
40902f4aeb0Sopenharmony_ci                    </span>
41002f4aeb0Sopenharmony_ci                  </dt>
41102f4aeb0Sopenharmony_ci                  <dd>
41202f4aeb0Sopenharmony_ci                    <p>
41302f4aeb0Sopenharmony_ci                            Config supports creating OpenGL contexts.
41402f4aeb0Sopenharmony_ci                        </p>
41502f4aeb0Sopenharmony_ci                  </dd>
41602f4aeb0Sopenharmony_ci                  <dt>
41702f4aeb0Sopenharmony_ci                    <span class="term">
41802f4aeb0Sopenharmony_ci                      <code class="constant">EGL_OPENGL_ES_BIT</code>
41902f4aeb0Sopenharmony_ci                    </span>
42002f4aeb0Sopenharmony_ci                  </dt>
42102f4aeb0Sopenharmony_ci                  <dd>
42202f4aeb0Sopenharmony_ci                    <p>
42302f4aeb0Sopenharmony_ci                            Config supports creating OpenGL ES 1.0
42402f4aeb0Sopenharmony_ci                            and/or 1.1 contexts.
42502f4aeb0Sopenharmony_ci                        </p>
42602f4aeb0Sopenharmony_ci                  </dd>
42702f4aeb0Sopenharmony_ci                  <dt>
42802f4aeb0Sopenharmony_ci                    <span class="term">
42902f4aeb0Sopenharmony_ci                      <code class="constant">EGL_OPENGL_ES2_BIT</code>
43002f4aeb0Sopenharmony_ci                    </span>
43102f4aeb0Sopenharmony_ci                  </dt>
43202f4aeb0Sopenharmony_ci                  <dd>
43302f4aeb0Sopenharmony_ci                    <p>
43402f4aeb0Sopenharmony_ci                            Config supports creating OpenGL ES 2.0 contexts.
43502f4aeb0Sopenharmony_ci                        </p>
43602f4aeb0Sopenharmony_ci                  </dd>
43702f4aeb0Sopenharmony_ci                  <dt>
43802f4aeb0Sopenharmony_ci                    <span class="term">
43902f4aeb0Sopenharmony_ci                      <code class="constant">EGL_OPENVG_BIT</code>
44002f4aeb0Sopenharmony_ci                    </span>
44102f4aeb0Sopenharmony_ci                  </dt>
44202f4aeb0Sopenharmony_ci                  <dd>
44302f4aeb0Sopenharmony_ci                    <p>
44402f4aeb0Sopenharmony_ci                            Config supports creating OpenVG contexts.
44502f4aeb0Sopenharmony_ci                        </p>
44602f4aeb0Sopenharmony_ci                  </dd>
44702f4aeb0Sopenharmony_ci                </dl>
44802f4aeb0Sopenharmony_ci              </div>
44902f4aeb0Sopenharmony_ci              <p>
45002f4aeb0Sopenharmony_ci                    For example, if the bitmask is set to
45102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_OPENGL_ES_BIT</code>, only frame
45202f4aeb0Sopenharmony_ci                    buffer configurations that support creating
45302f4aeb0Sopenharmony_ci                    conformant OpenGL ES contexts will match. The
45402f4aeb0Sopenharmony_ci                    default value is zero.
45502f4aeb0Sopenharmony_ci                </p>
45602f4aeb0Sopenharmony_ci              <p>
45702f4aeb0Sopenharmony_ci                    Most EGLConfigs should be conformant for all
45802f4aeb0Sopenharmony_ci                    supported client APIs, and it is rarely desirable to
45902f4aeb0Sopenharmony_ci                    select a nonconformant config. Conformance
46002f4aeb0Sopenharmony_ci                    requirements limit the number of non-conformant
46102f4aeb0Sopenharmony_ci                    configs that an implementation can define.
46202f4aeb0Sopenharmony_ci                </p>
46302f4aeb0Sopenharmony_ci            </dd>
46402f4aeb0Sopenharmony_ci            <dt>
46502f4aeb0Sopenharmony_ci              <span class="term">
46602f4aeb0Sopenharmony_ci                <code class="constant">EGL_DEPTH_SIZE</code>
46702f4aeb0Sopenharmony_ci              </span>
46802f4aeb0Sopenharmony_ci            </dt>
46902f4aeb0Sopenharmony_ci            <dd>
47002f4aeb0Sopenharmony_ci              <p>
47102f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
47202f4aeb0Sopenharmony_ci                    indicates the desired depth buffer size, in bits.
47302f4aeb0Sopenharmony_ci                    The smallest depth buffers of at least the specified
47402f4aeb0Sopenharmony_ci                    size is preferred. If the desired size is zero,
47502f4aeb0Sopenharmony_ci                    frame buffer configurations with no depth buffer are
47602f4aeb0Sopenharmony_ci                    preferred. The default value is zero.
47702f4aeb0Sopenharmony_ci                </p>
47802f4aeb0Sopenharmony_ci              <p>
47902f4aeb0Sopenharmony_ci                    The depth buffer is used only by OpenGL and OpenGL
48002f4aeb0Sopenharmony_ci                    ES client APIs.
48102f4aeb0Sopenharmony_ci                </p>
48202f4aeb0Sopenharmony_ci            </dd>
48302f4aeb0Sopenharmony_ci            <dt>
48402f4aeb0Sopenharmony_ci              <span class="term">
48502f4aeb0Sopenharmony_ci                <code class="constant">EGL_GREEN_SIZE</code>
48602f4aeb0Sopenharmony_ci              </span>
48702f4aeb0Sopenharmony_ci            </dt>
48802f4aeb0Sopenharmony_ci            <dd>
48902f4aeb0Sopenharmony_ci              <p>
49002f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
49102f4aeb0Sopenharmony_ci                    indicates the desired size of the green component of
49202f4aeb0Sopenharmony_ci                    the color buffer, in bits. If this value is zero,
49302f4aeb0Sopenharmony_ci                    color buffers with the smallest green component size
49402f4aeb0Sopenharmony_ci                    are preferred. Otherwise, color buffers with the
49502f4aeb0Sopenharmony_ci                    largest green component of at least the specified
49602f4aeb0Sopenharmony_ci                    size are preferred. The default value is zero.
49702f4aeb0Sopenharmony_ci                </p>
49802f4aeb0Sopenharmony_ci            </dd>
49902f4aeb0Sopenharmony_ci            <dt>
50002f4aeb0Sopenharmony_ci              <span class="term">
50102f4aeb0Sopenharmony_ci                <code class="constant">EGL_LEVEL</code>
50202f4aeb0Sopenharmony_ci              </span>
50302f4aeb0Sopenharmony_ci            </dt>
50402f4aeb0Sopenharmony_ci            <dd>
50502f4aeb0Sopenharmony_ci              <p>
50602f4aeb0Sopenharmony_ci                    Must be followed by an integer buffer level
50702f4aeb0Sopenharmony_ci                    specification. This specification is honored
50802f4aeb0Sopenharmony_ci                    exactly. Buffer level zero corresponds to the
50902f4aeb0Sopenharmony_ci                    default frame buffer of the display. Buffer level
51002f4aeb0Sopenharmony_ci                    one is the first overlay frame buffer, level two the
51102f4aeb0Sopenharmony_ci                    second overlay frame buffer, and so on. Negative
51202f4aeb0Sopenharmony_ci                    buffer levels correspond to underlay frame buffers.
51302f4aeb0Sopenharmony_ci                    The default value is zero.
51402f4aeb0Sopenharmony_ci                </p>
51502f4aeb0Sopenharmony_ci              <p>
51602f4aeb0Sopenharmony_ci                    Most platforms do not support buffer levels other than
51702f4aeb0Sopenharmony_ci                    zero. The behavior of windows placed in overlay and
51802f4aeb0Sopenharmony_ci                    underlay planes depends on the underlying platform.
51902f4aeb0Sopenharmony_ci                </p>
52002f4aeb0Sopenharmony_ci            </dd>
52102f4aeb0Sopenharmony_ci            <dt>
52202f4aeb0Sopenharmony_ci              <span class="term">
52302f4aeb0Sopenharmony_ci                <code class="constant">EGL_LUMINANCE_SIZE</code>
52402f4aeb0Sopenharmony_ci              </span>
52502f4aeb0Sopenharmony_ci            </dt>
52602f4aeb0Sopenharmony_ci            <dd>
52702f4aeb0Sopenharmony_ci              <p>
52802f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
52902f4aeb0Sopenharmony_ci                    indicates the desired size of the luminance
53002f4aeb0Sopenharmony_ci                    component of the color buffer, in bits. If this
53102f4aeb0Sopenharmony_ci                    value is zero, color buffers with the smallest
53202f4aeb0Sopenharmony_ci                    luminance component size are preferred. Otherwise,
53302f4aeb0Sopenharmony_ci                    color buffers with the largest luminance component
53402f4aeb0Sopenharmony_ci                    of at least the specified size are preferred. The
53502f4aeb0Sopenharmony_ci                    default value is zero.
53602f4aeb0Sopenharmony_ci                </p>
53702f4aeb0Sopenharmony_ci            </dd>
53802f4aeb0Sopenharmony_ci            <dt>
53902f4aeb0Sopenharmony_ci              <span class="term">
54002f4aeb0Sopenharmony_ci                <code class="constant">EGL_MATCH_NATIVE_PIXMAP</code>
54102f4aeb0Sopenharmony_ci              </span>
54202f4aeb0Sopenharmony_ci            </dt>
54302f4aeb0Sopenharmony_ci            <dd>
54402f4aeb0Sopenharmony_ci              <p>
54502f4aeb0Sopenharmony_ci                    Must be followed by the handle of a valid native
54602f4aeb0Sopenharmony_ci                    pixmap, cast to <span class="type">EGLint</span>, or
54702f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NONE</code>. If the value is not
54802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NONE</code>, only configs which
54902f4aeb0Sopenharmony_ci                    support creating pixmap surfaces with this pixmap
55002f4aeb0Sopenharmony_ci                    using
55102f4aeb0Sopenharmony_ci                    <a class="citerefentry" href="eglCreatePixmapSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>
55202f4aeb0Sopenharmony_ci                    will match this attribute. If the value is
55302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NONE</code>, then configs are not
55402f4aeb0Sopenharmony_ci                    matched for this attribute. The default value is
55502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NONE</code>.
55602f4aeb0Sopenharmony_ci                </p>
55702f4aeb0Sopenharmony_ci              <p>
55802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_MATCH_NATIVE_PIXMAP</code> was
55902f4aeb0Sopenharmony_ci                    introduced due to the difficulty of determining an
56002f4aeb0Sopenharmony_ci                    <span class="type">EGLConfig</span> compatibile with a native
56102f4aeb0Sopenharmony_ci                    pixmap using only color component sizes.
56202f4aeb0Sopenharmony_ci                </p>
56302f4aeb0Sopenharmony_ci            </dd>
56402f4aeb0Sopenharmony_ci            <dt>
56502f4aeb0Sopenharmony_ci              <span class="term">
56602f4aeb0Sopenharmony_ci                <code class="constant">EGL_NATIVE_RENDERABLE</code>
56702f4aeb0Sopenharmony_ci              </span>
56802f4aeb0Sopenharmony_ci            </dt>
56902f4aeb0Sopenharmony_ci            <dd>
57002f4aeb0Sopenharmony_ci              <p>
57102f4aeb0Sopenharmony_ci                    Must be followed by
57202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>,
57302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRUE</code>, or
57402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_FALSE</code>.
57502f4aeb0Sopenharmony_ci                    If <code class="constant">EGL_TRUE</code> is specified, then
57602f4aeb0Sopenharmony_ci                    only frame buffer configurations that allow native
57702f4aeb0Sopenharmony_ci                    rendering into the surface will be considered. The
57802f4aeb0Sopenharmony_ci                    default value is <code class="constant">EGL_DONT_CARE</code>.
57902f4aeb0Sopenharmony_ci                </p>
58002f4aeb0Sopenharmony_ci            </dd>
58102f4aeb0Sopenharmony_ci            <dt>
58202f4aeb0Sopenharmony_ci              <span class="term">
58302f4aeb0Sopenharmony_ci                <code class="constant">EGL_MAX_SWAP_INTERVAL</code>
58402f4aeb0Sopenharmony_ci              </span>
58502f4aeb0Sopenharmony_ci            </dt>
58602f4aeb0Sopenharmony_ci            <dd>
58702f4aeb0Sopenharmony_ci              <p>
58802f4aeb0Sopenharmony_ci                    Must be followed by a integer that indicates the
58902f4aeb0Sopenharmony_ci                    maximum value that can be passed to
59002f4aeb0Sopenharmony_ci                    <a class="citerefentry" href="eglSwapInterval.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSwapInterval</span></span></a>.
59102f4aeb0Sopenharmony_ci                    The default value is
59202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>.
59302f4aeb0Sopenharmony_ci                </p>
59402f4aeb0Sopenharmony_ci            </dd>
59502f4aeb0Sopenharmony_ci            <dt>
59602f4aeb0Sopenharmony_ci              <span class="term">
59702f4aeb0Sopenharmony_ci                <code class="constant">EGL_MIN_SWAP_INTERVAL</code>
59802f4aeb0Sopenharmony_ci              </span>
59902f4aeb0Sopenharmony_ci            </dt>
60002f4aeb0Sopenharmony_ci            <dd>
60102f4aeb0Sopenharmony_ci              <p>
60202f4aeb0Sopenharmony_ci                    Must be followed by a integer that indicates the
60302f4aeb0Sopenharmony_ci                    minimum value that can be passed to eglSwapInterval.
60402f4aeb0Sopenharmony_ci                    The default value is <code class="constant">EGL_DONT_CARE</code>.
60502f4aeb0Sopenharmony_ci                </p>
60602f4aeb0Sopenharmony_ci            </dd>
60702f4aeb0Sopenharmony_ci            <dt>
60802f4aeb0Sopenharmony_ci              <span class="term">
60902f4aeb0Sopenharmony_ci                <code class="constant">EGL_RED_SIZE</code>
61002f4aeb0Sopenharmony_ci              </span>
61102f4aeb0Sopenharmony_ci            </dt>
61202f4aeb0Sopenharmony_ci            <dd>
61302f4aeb0Sopenharmony_ci              <p>
61402f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
61502f4aeb0Sopenharmony_ci                    indicates the desired size of the red component of
61602f4aeb0Sopenharmony_ci                    the color buffer, in bits. If this value is zero,
61702f4aeb0Sopenharmony_ci                    color buffers with the smallest red component size
61802f4aeb0Sopenharmony_ci                    are preferred. Otherwise, color buffers with the
61902f4aeb0Sopenharmony_ci                    largest red component of at least the specified size
62002f4aeb0Sopenharmony_ci                    are preferred. The default value is zero.
62102f4aeb0Sopenharmony_ci                </p>
62202f4aeb0Sopenharmony_ci            </dd>
62302f4aeb0Sopenharmony_ci            <dt>
62402f4aeb0Sopenharmony_ci              <span class="term">
62502f4aeb0Sopenharmony_ci                <code class="constant">EGL_SAMPLE_BUFFERS</code>
62602f4aeb0Sopenharmony_ci              </span>
62702f4aeb0Sopenharmony_ci            </dt>
62802f4aeb0Sopenharmony_ci            <dd>
62902f4aeb0Sopenharmony_ci              <p>
63002f4aeb0Sopenharmony_ci                    Must be followed by the minimum acceptable number of
63102f4aeb0Sopenharmony_ci                    multisample buffers. Configurations with the
63202f4aeb0Sopenharmony_ci                    smallest number of multisample buffers that meet or
63302f4aeb0Sopenharmony_ci                    exceed this minimum number are preferred. Currently
63402f4aeb0Sopenharmony_ci                    operation with more than one multisample buffer is
63502f4aeb0Sopenharmony_ci                    undefined, so only values of zero or one will
63602f4aeb0Sopenharmony_ci                    produce a match. The default value is zero.
63702f4aeb0Sopenharmony_ci                </p>
63802f4aeb0Sopenharmony_ci            </dd>
63902f4aeb0Sopenharmony_ci            <dt>
64002f4aeb0Sopenharmony_ci              <span class="term">
64102f4aeb0Sopenharmony_ci                <code class="constant">EGL_SAMPLES</code>
64202f4aeb0Sopenharmony_ci              </span>
64302f4aeb0Sopenharmony_ci            </dt>
64402f4aeb0Sopenharmony_ci            <dd>
64502f4aeb0Sopenharmony_ci              <p>
64602f4aeb0Sopenharmony_ci                    Must be followed by the minimum number of
64702f4aeb0Sopenharmony_ci                    samples required in multisample buffers.
64802f4aeb0Sopenharmony_ci                    Configurations with the smallest number of
64902f4aeb0Sopenharmony_ci                    samples that meet or exceed the specified
65002f4aeb0Sopenharmony_ci                    minimum number are preferred.  Note that it is
65102f4aeb0Sopenharmony_ci                    possible for color samples in the multisample
65202f4aeb0Sopenharmony_ci                    buffer to have fewer bits than colors in the
65302f4aeb0Sopenharmony_ci                    main color buffers.  However, multisampled
65402f4aeb0Sopenharmony_ci                    colors maintain at least as much color
65502f4aeb0Sopenharmony_ci                    resolution in aggregate as the main color
65602f4aeb0Sopenharmony_ci                    buffers.
65702f4aeb0Sopenharmony_ci                </p>
65802f4aeb0Sopenharmony_ci            </dd>
65902f4aeb0Sopenharmony_ci            <dt>
66002f4aeb0Sopenharmony_ci              <span class="term">
66102f4aeb0Sopenharmony_ci                <code class="constant">EGL_STENCIL_SIZE</code>
66202f4aeb0Sopenharmony_ci              </span>
66302f4aeb0Sopenharmony_ci            </dt>
66402f4aeb0Sopenharmony_ci            <dd>
66502f4aeb0Sopenharmony_ci              <p>
66602f4aeb0Sopenharmony_ci                    Must be followed by a nonnegative integer that
66702f4aeb0Sopenharmony_ci                    indicates the desired stencil buffer size, in bits.
66802f4aeb0Sopenharmony_ci                    The smallest stencil buffers of at least the
66902f4aeb0Sopenharmony_ci                    specified size are preferred. If the desired size is
67002f4aeb0Sopenharmony_ci                    zero, frame buffer configurations with no stencil
67102f4aeb0Sopenharmony_ci                    buffer are preferred. The default value is zero.
67202f4aeb0Sopenharmony_ci                </p>
67302f4aeb0Sopenharmony_ci              <p>
67402f4aeb0Sopenharmony_ci                    The stencil buffer is used only by OpenGL and
67502f4aeb0Sopenharmony_ci                    OpenGL ES client APIs.
67602f4aeb0Sopenharmony_ci                </p>
67702f4aeb0Sopenharmony_ci            </dd>
67802f4aeb0Sopenharmony_ci            <dt>
67902f4aeb0Sopenharmony_ci              <span class="term">
68002f4aeb0Sopenharmony_ci                <code class="constant">EGL_RENDERABLE_TYPE</code>
68102f4aeb0Sopenharmony_ci              </span>
68202f4aeb0Sopenharmony_ci            </dt>
68302f4aeb0Sopenharmony_ci            <dd>
68402f4aeb0Sopenharmony_ci              <p>
68502f4aeb0Sopenharmony_ci                    Must be followed by a bitmask indicating which types
68602f4aeb0Sopenharmony_ci                    of client API contexts the frame buffer
68702f4aeb0Sopenharmony_ci                    configuration must support creating with
68802f4aeb0Sopenharmony_ci                    <a class="citerefentry" href="eglCreateContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateContext</span></span></a>).
68902f4aeb0Sopenharmony_ci                    Mask bits are the same as for attribute
69002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONFORMANT</code>. The default
69102f4aeb0Sopenharmony_ci                    value is <code class="constant">EGL_OPENGL_ES_BIT</code>.
69202f4aeb0Sopenharmony_ci                </p>
69302f4aeb0Sopenharmony_ci            </dd>
69402f4aeb0Sopenharmony_ci            <dt>
69502f4aeb0Sopenharmony_ci              <span class="term">
69602f4aeb0Sopenharmony_ci                <code class="constant">EGL_SURFACE_TYPE</code>
69702f4aeb0Sopenharmony_ci              </span>
69802f4aeb0Sopenharmony_ci            </dt>
69902f4aeb0Sopenharmony_ci            <dd>
70002f4aeb0Sopenharmony_ci              <p>
70102f4aeb0Sopenharmony_ci                    Must be followed by a bitmask indicating which EGL
70202f4aeb0Sopenharmony_ci                    surface types and capabilities the frame buffer
70302f4aeb0Sopenharmony_ci                    configuration must support. Mask bits include:
70402f4aeb0Sopenharmony_ci                </p>
70502f4aeb0Sopenharmony_ci              <div class="variablelist">
70602f4aeb0Sopenharmony_ci                <dl class="variablelist">
70702f4aeb0Sopenharmony_ci                  <dt>
70802f4aeb0Sopenharmony_ci                    <span class="term">
70902f4aeb0Sopenharmony_ci                      <code class="constant">EGL_MULTISAMPLE_RESOLVE_BOX_BIT</code>
71002f4aeb0Sopenharmony_ci                    </span>
71102f4aeb0Sopenharmony_ci                  </dt>
71202f4aeb0Sopenharmony_ci                  <dd>
71302f4aeb0Sopenharmony_ci                    <p>
71402f4aeb0Sopenharmony_ci                            Config allows specifying box filtered
71502f4aeb0Sopenharmony_ci                            multisample resolve behavior with
71602f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglSurfaceAttrib.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSurfaceAttrib</span></span></a>.
71702f4aeb0Sopenharmony_ci                        </p>
71802f4aeb0Sopenharmony_ci                  </dd>
71902f4aeb0Sopenharmony_ci                  <dt>
72002f4aeb0Sopenharmony_ci                    <span class="term">
72102f4aeb0Sopenharmony_ci                      <code class="constant">EGL_PBUFFER_BIT</code>
72202f4aeb0Sopenharmony_ci                    </span>
72302f4aeb0Sopenharmony_ci                  </dt>
72402f4aeb0Sopenharmony_ci                  <dd>
72502f4aeb0Sopenharmony_ci                    <p>
72602f4aeb0Sopenharmony_ci                            Config supports creating pixel buffer surfaces.
72702f4aeb0Sopenharmony_ci                        </p>
72802f4aeb0Sopenharmony_ci                  </dd>
72902f4aeb0Sopenharmony_ci                  <dt>
73002f4aeb0Sopenharmony_ci                    <span class="term">
73102f4aeb0Sopenharmony_ci                      <code class="constant">EGL_PIXMAP_BIT</code>
73202f4aeb0Sopenharmony_ci                    </span>
73302f4aeb0Sopenharmony_ci                  </dt>
73402f4aeb0Sopenharmony_ci                  <dd>
73502f4aeb0Sopenharmony_ci                    <p>
73602f4aeb0Sopenharmony_ci                            Config supports creating pixmap surfaces.
73702f4aeb0Sopenharmony_ci                        </p>
73802f4aeb0Sopenharmony_ci                  </dd>
73902f4aeb0Sopenharmony_ci                  <dt>
74002f4aeb0Sopenharmony_ci                    <span class="term">
74102f4aeb0Sopenharmony_ci                      <code class="constant">EGL_SWAP_BEHAVIOR_PRESERVED_BIT</code>
74202f4aeb0Sopenharmony_ci                    </span>
74302f4aeb0Sopenharmony_ci                  </dt>
74402f4aeb0Sopenharmony_ci                  <dd>
74502f4aeb0Sopenharmony_ci                    <p>
74602f4aeb0Sopenharmony_ci                            Config allows setting swap behavior for
74702f4aeb0Sopenharmony_ci                            color buffers with
74802f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglSurfaceAttrib.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSurfaceAttrib</span></span></a>.
74902f4aeb0Sopenharmony_ci                        </p>
75002f4aeb0Sopenharmony_ci                  </dd>
75102f4aeb0Sopenharmony_ci                  <dt>
75202f4aeb0Sopenharmony_ci                    <span class="term">
75302f4aeb0Sopenharmony_ci                      <code class="constant">EGL_VG_ALPHA_FORMAT_PRE_BIT</code>
75402f4aeb0Sopenharmony_ci                    </span>
75502f4aeb0Sopenharmony_ci                  </dt>
75602f4aeb0Sopenharmony_ci                  <dd>
75702f4aeb0Sopenharmony_ci                    <p>
75802f4aeb0Sopenharmony_ci                            Config allows specifying OpenVG rendering
75902f4aeb0Sopenharmony_ci                            with premultiplied alpha values at surface
76002f4aeb0Sopenharmony_ci                            creation time (see
76102f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglCreatePbufferSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
76202f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglCreatePixmapSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>,
76302f4aeb0Sopenharmony_ci                            and
76402f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglCreateWindowSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateWindowSurface</span></span></a>).
76502f4aeb0Sopenharmony_ci                        </p>
76602f4aeb0Sopenharmony_ci                  </dd>
76702f4aeb0Sopenharmony_ci                  <dt>
76802f4aeb0Sopenharmony_ci                    <span class="term">
76902f4aeb0Sopenharmony_ci                      <code class="constant">EGL_VG_COLORSPACE_LINEAR_BIT</code>
77002f4aeb0Sopenharmony_ci                    </span>
77102f4aeb0Sopenharmony_ci                  </dt>
77202f4aeb0Sopenharmony_ci                  <dd>
77302f4aeb0Sopenharmony_ci                    <p>
77402f4aeb0Sopenharmony_ci                            Config allows specifying OpenVG rendering in
77502f4aeb0Sopenharmony_ci                            a linear colorspace at surface creation time
77602f4aeb0Sopenharmony_ci                            (see
77702f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglCreatePbufferSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
77802f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglCreatePixmapSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>,
77902f4aeb0Sopenharmony_ci                            and
78002f4aeb0Sopenharmony_ci                            <a class="citerefentry" href="eglCreateWindowSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateWindowSurface</span></span></a>).
78102f4aeb0Sopenharmony_ci                        </p>
78202f4aeb0Sopenharmony_ci                  </dd>
78302f4aeb0Sopenharmony_ci                  <dt>
78402f4aeb0Sopenharmony_ci                    <span class="term">
78502f4aeb0Sopenharmony_ci                      <code class="constant">EGL_WINDOW_BIT</code>
78602f4aeb0Sopenharmony_ci                    </span>
78702f4aeb0Sopenharmony_ci                  </dt>
78802f4aeb0Sopenharmony_ci                  <dd>
78902f4aeb0Sopenharmony_ci                    <p>
79002f4aeb0Sopenharmony_ci                            Config supports creating window surfaces.
79102f4aeb0Sopenharmony_ci                        </p>
79202f4aeb0Sopenharmony_ci                  </dd>
79302f4aeb0Sopenharmony_ci                </dl>
79402f4aeb0Sopenharmony_ci              </div>
79502f4aeb0Sopenharmony_ci              <p>
79602f4aeb0Sopenharmony_ci                    For example, if the bitmask is set to
79702f4aeb0Sopenharmony_ci                    <code class="constant">EGL_WINDOW_BIT</code> |
79802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_PIXMAP_BIT</code>,
79902f4aeb0Sopenharmony_ci                    only frame buffer configurations that support both
80002f4aeb0Sopenharmony_ci                    windows and pixmaps will be considered. The default
80102f4aeb0Sopenharmony_ci                    value is <code class="constant">EGL_WINDOW_BIT</code>.
80202f4aeb0Sopenharmony_ci                </p>
80302f4aeb0Sopenharmony_ci            </dd>
80402f4aeb0Sopenharmony_ci            <dt>
80502f4aeb0Sopenharmony_ci              <span class="term">
80602f4aeb0Sopenharmony_ci                <code class="constant">EGL_TRANSPARENT_TYPE</code>
80702f4aeb0Sopenharmony_ci              </span>
80802f4aeb0Sopenharmony_ci            </dt>
80902f4aeb0Sopenharmony_ci            <dd>
81002f4aeb0Sopenharmony_ci              <p>
81102f4aeb0Sopenharmony_ci                    Must be followed by one of
81202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NONE</code> or
81302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_RGB</code>. If
81402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NONE</code> is specified, then
81502f4aeb0Sopenharmony_ci                    only opaque frame buffer configurations will be
81602f4aeb0Sopenharmony_ci                    considered. If
81702f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_RGB</code> is
81802f4aeb0Sopenharmony_ci                    specified, then only transparent frame buffer
81902f4aeb0Sopenharmony_ci                    configurations will be considered. The default value
82002f4aeb0Sopenharmony_ci                    is <code class="constant">EGL_NONE</code>.
82102f4aeb0Sopenharmony_ci                </p>
82202f4aeb0Sopenharmony_ci              <p>
82302f4aeb0Sopenharmony_ci                    Most implementations support only opaque frame
82402f4aeb0Sopenharmony_ci                    buffer configurations.
82502f4aeb0Sopenharmony_ci                </p>
82602f4aeb0Sopenharmony_ci            </dd>
82702f4aeb0Sopenharmony_ci            <dt>
82802f4aeb0Sopenharmony_ci              <span class="term">
82902f4aeb0Sopenharmony_ci                <code class="constant">EGL_TRANSPARENT_RED_VALUE</code>
83002f4aeb0Sopenharmony_ci              </span>
83102f4aeb0Sopenharmony_ci            </dt>
83202f4aeb0Sopenharmony_ci            <dd>
83302f4aeb0Sopenharmony_ci              <p>
83402f4aeb0Sopenharmony_ci                    Must be followed by an integer value indicating the
83502f4aeb0Sopenharmony_ci                    transparent red value. The value must be between
83602f4aeb0Sopenharmony_ci                    zero and the maximum color buffer value for red.
83702f4aeb0Sopenharmony_ci                    Only frame buffer configurations that use the
83802f4aeb0Sopenharmony_ci                    specified transparent red value will be considered.
83902f4aeb0Sopenharmony_ci                    The default value is
84002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>.
84102f4aeb0Sopenharmony_ci                </p>
84202f4aeb0Sopenharmony_ci              <p>
84302f4aeb0Sopenharmony_ci                    This attribute is ignored unless
84402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_TYPE</code> is included in
84502f4aeb0Sopenharmony_ci                    <em class="parameter"><code>attrib_list</code></em> and specified as
84602f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_RGB</code>.
84702f4aeb0Sopenharmony_ci                </p>
84802f4aeb0Sopenharmony_ci            </dd>
84902f4aeb0Sopenharmony_ci            <dt>
85002f4aeb0Sopenharmony_ci              <span class="term">
85102f4aeb0Sopenharmony_ci                <code class="constant">EGL_TRANSPARENT_GREEN_VALUE</code>
85202f4aeb0Sopenharmony_ci              </span>
85302f4aeb0Sopenharmony_ci            </dt>
85402f4aeb0Sopenharmony_ci            <dd>
85502f4aeb0Sopenharmony_ci              <p>
85602f4aeb0Sopenharmony_ci                    Must be followed by an integer value indicating the
85702f4aeb0Sopenharmony_ci                    transparent green value. The value must be between
85802f4aeb0Sopenharmony_ci                    zero and the maximum color buffer value for green.
85902f4aeb0Sopenharmony_ci                    Only frame buffer configurations that use the
86002f4aeb0Sopenharmony_ci                    specified transparent green value will be
86102f4aeb0Sopenharmony_ci                    considered. The default value is
86202f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>.
86302f4aeb0Sopenharmony_ci                </p>
86402f4aeb0Sopenharmony_ci              <p>
86502f4aeb0Sopenharmony_ci                    This attribute is ignored unless
86602f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_TYPE</code> is included in
86702f4aeb0Sopenharmony_ci                    <em class="parameter"><code>attrib_list</code></em> and specified as
86802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_RGB</code>.
86902f4aeb0Sopenharmony_ci                </p>
87002f4aeb0Sopenharmony_ci            </dd>
87102f4aeb0Sopenharmony_ci            <dt>
87202f4aeb0Sopenharmony_ci              <span class="term">
87302f4aeb0Sopenharmony_ci                <code class="constant">EGL_TRANSPARENT_BLUE_VALUE</code>
87402f4aeb0Sopenharmony_ci              </span>
87502f4aeb0Sopenharmony_ci            </dt>
87602f4aeb0Sopenharmony_ci            <dd>
87702f4aeb0Sopenharmony_ci              <p>
87802f4aeb0Sopenharmony_ci                    Must be followed by an integer value indicating the
87902f4aeb0Sopenharmony_ci                    transparent blue value. The value must be between
88002f4aeb0Sopenharmony_ci                    zero and the maximum color buffer value for blue.
88102f4aeb0Sopenharmony_ci                    Only frame buffer configurations that use the
88202f4aeb0Sopenharmony_ci                    specified transparent blue value will be considered.
88302f4aeb0Sopenharmony_ci                    The default value is
88402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_DONT_CARE</code>.
88502f4aeb0Sopenharmony_ci                </p>
88602f4aeb0Sopenharmony_ci              <p>
88702f4aeb0Sopenharmony_ci                    This attribute is ignored unless
88802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_TYPE</code> is included in
88902f4aeb0Sopenharmony_ci                    <em class="parameter"><code>attrib_list</code></em> and specified as
89002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TRANSPARENT_RGB</code>.
89102f4aeb0Sopenharmony_ci                </p>
89202f4aeb0Sopenharmony_ci            </dd>
89302f4aeb0Sopenharmony_ci          </dl>
89402f4aeb0Sopenharmony_ci        </div>
89502f4aeb0Sopenharmony_ci        <p>
89602f4aeb0Sopenharmony_ci            When more than one EGL frame buffer configuration matches
89702f4aeb0Sopenharmony_ci            the specified attributes, a list of matching configurations
89802f4aeb0Sopenharmony_ci            is returned. The list is sorted according to the following
89902f4aeb0Sopenharmony_ci            precedence rules, which are applied in ascending order
90002f4aeb0Sopenharmony_ci            (i.e., configurations that are considered equal by a lower
90102f4aeb0Sopenharmony_ci            numbered rule are sorted by the higher numbered rule):
90202f4aeb0Sopenharmony_ci        </p>
90302f4aeb0Sopenharmony_ci        <div class="orderedlist">
90402f4aeb0Sopenharmony_ci          <ol class="orderedlist" type="1">
90502f4aeb0Sopenharmony_ci            <li class="listitem">
90602f4aeb0Sopenharmony_ci              <p>
90702f4aeb0Sopenharmony_ci                Special: by <code class="constant">EGL_CONFIG_CAVEAT</code>,
90802f4aeb0Sopenharmony_ci                where the precedence is <code class="constant">EGL_NONE</code>,
90902f4aeb0Sopenharmony_ci                <code class="constant">EGL_SLOW_CONFIG</code>, and
91002f4aeb0Sopenharmony_ci                <code class="constant">EGL_NON_CONFORMANT_CONFIG</code>.
91102f4aeb0Sopenharmony_ci            </p>
91202f4aeb0Sopenharmony_ci            </li>
91302f4aeb0Sopenharmony_ci            <li class="listitem">
91402f4aeb0Sopenharmony_ci              <p>
91502f4aeb0Sopenharmony_ci                Special: by <code class="constant">EGL_COLOR_BUFFER_TYPE</code>,
91602f4aeb0Sopenharmony_ci                where the precedence is
91702f4aeb0Sopenharmony_ci                <code class="constant">EGL_RGB_BUFFER</code>,
91802f4aeb0Sopenharmony_ci                <code class="constant">EGL_LUMINANCE_BUFFER</code>.
91902f4aeb0Sopenharmony_ci            </p>
92002f4aeb0Sopenharmony_ci            </li>
92102f4aeb0Sopenharmony_ci            <li class="listitem">
92202f4aeb0Sopenharmony_ci              <p>
92302f4aeb0Sopenharmony_ci                Special: by larger total number of color bits (for an
92402f4aeb0Sopenharmony_ci                RGB color buffer, this is the sum of
92502f4aeb0Sopenharmony_ci                <code class="constant">EGL_RED_SIZE</code>,
92602f4aeb0Sopenharmony_ci                <code class="constant">EGL_GREEN_SIZE</code>,
92702f4aeb0Sopenharmony_ci                <code class="constant">EGL_BLUE_SIZE</code>, and
92802f4aeb0Sopenharmony_ci                <code class="constant">EGL_ALPHA_SIZE</code>; for a luminance
92902f4aeb0Sopenharmony_ci                color buffer, the sum of
93002f4aeb0Sopenharmony_ci                <code class="constant">EGL_LUMINANCE_SIZE</code> and
93102f4aeb0Sopenharmony_ci                <code class="constant">EGL_ALPHA_SIZE</code>). If the requested
93202f4aeb0Sopenharmony_ci                number of bits in <em class="parameter"><code>attrib_list</code></em> is
93302f4aeb0Sopenharmony_ci                <code class="constant">0</code> or
93402f4aeb0Sopenharmony_ci                <code class="constant">EGL_DONT_CARE</code> for a particular
93502f4aeb0Sopenharmony_ci                color component, then the number of bits for that
93602f4aeb0Sopenharmony_ci                component is not considered.
93702f4aeb0Sopenharmony_ci            </p>
93802f4aeb0Sopenharmony_ci              <p>
93902f4aeb0Sopenharmony_ci                This sort rule places configs with deeper color buffers
94002f4aeb0Sopenharmony_ci                before configs with shallower color buffers, which may
94102f4aeb0Sopenharmony_ci                be counterintuitive.
94202f4aeb0Sopenharmony_ci            </p>
94302f4aeb0Sopenharmony_ci            </li>
94402f4aeb0Sopenharmony_ci            <li class="listitem">
94502f4aeb0Sopenharmony_ci              <p>
94602f4aeb0Sopenharmony_ci                Smaller <code class="constant">EGL_BUFFER_SIZE</code>.
94702f4aeb0Sopenharmony_ci            </p>
94802f4aeb0Sopenharmony_ci            </li>
94902f4aeb0Sopenharmony_ci            <li class="listitem">
95002f4aeb0Sopenharmony_ci              <p>
95102f4aeb0Sopenharmony_ci                Smaller <code class="constant">EGL_SAMPLE_BUFFERS</code>.
95202f4aeb0Sopenharmony_ci            </p>
95302f4aeb0Sopenharmony_ci            </li>
95402f4aeb0Sopenharmony_ci            <li class="listitem">
95502f4aeb0Sopenharmony_ci              <p>
95602f4aeb0Sopenharmony_ci                Smaller <code class="constant">EGL_SAMPLES</code>.
95702f4aeb0Sopenharmony_ci            </p>
95802f4aeb0Sopenharmony_ci            </li>
95902f4aeb0Sopenharmony_ci            <li class="listitem">
96002f4aeb0Sopenharmony_ci              <p>
96102f4aeb0Sopenharmony_ci                Smaller <code class="constant">EGL_DEPTH_SIZE</code>.
96202f4aeb0Sopenharmony_ci            </p>
96302f4aeb0Sopenharmony_ci            </li>
96402f4aeb0Sopenharmony_ci            <li class="listitem">
96502f4aeb0Sopenharmony_ci              <p>
96602f4aeb0Sopenharmony_ci                Smaller <code class="constant">EGL_STENCIL_SIZE</code>.
96702f4aeb0Sopenharmony_ci            </p>
96802f4aeb0Sopenharmony_ci            </li>
96902f4aeb0Sopenharmony_ci            <li class="listitem">
97002f4aeb0Sopenharmony_ci              <p>
97102f4aeb0Sopenharmony_ci                Smaller <code class="constant">EGL_ALPHA_MASK_SIZE</code>.
97202f4aeb0Sopenharmony_ci            </p>
97302f4aeb0Sopenharmony_ci            </li>
97402f4aeb0Sopenharmony_ci            <li class="listitem">
97502f4aeb0Sopenharmony_ci              <p>
97602f4aeb0Sopenharmony_ci                Special: <code class="constant">EGL_NATIVE_VISUAL_TYPE</code>
97702f4aeb0Sopenharmony_ci                (the actual sort order is implementation-defined,
97802f4aeb0Sopenharmony_ci                depending on the meaning of native visual types).
97902f4aeb0Sopenharmony_ci            </p>
98002f4aeb0Sopenharmony_ci            </li>
98102f4aeb0Sopenharmony_ci            <li class="listitem">
98202f4aeb0Sopenharmony_ci              <p>
98302f4aeb0Sopenharmony_ci                Smaller <code class="constant">EGL_CONFIG_ID</code> (this is
98402f4aeb0Sopenharmony_ci                always the last sorting rule, and guarantees a unique
98502f4aeb0Sopenharmony_ci                ordering).
98602f4aeb0Sopenharmony_ci            </p>
98702f4aeb0Sopenharmony_ci            </li>
98802f4aeb0Sopenharmony_ci          </ol>
98902f4aeb0Sopenharmony_ci        </div>
99002f4aeb0Sopenharmony_ci        <p>
99102f4aeb0Sopenharmony_ci            <span class="type">EGLConfigs</span> are not sorted with respect to the
99202f4aeb0Sopenharmony_ci            attributes <code class="constant">EGL_BIND_TO_TEXTURE_RGB</code>,
99302f4aeb0Sopenharmony_ci            <code class="constant">EGL_BIND_TO_TEXTURE_RGBA</code>,
99402f4aeb0Sopenharmony_ci            <code class="constant">EGL_CONFORMANT</code>,
99502f4aeb0Sopenharmony_ci            <code class="constant">EGL_LEVEL</code>,
99602f4aeb0Sopenharmony_ci            <code class="constant">EGL_NATIVE_RENDERABLE</code>,
99702f4aeb0Sopenharmony_ci            <code class="constant">EGL_MAX_SWAP_INTERVAL</code>,
99802f4aeb0Sopenharmony_ci            <code class="constant">EGL_MIN_SWAP_INTERVAL</code>,
99902f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code>,
100002f4aeb0Sopenharmony_ci            <code class="constant">EGL_SURFACE_TYPE</code>,
100102f4aeb0Sopenharmony_ci            <code class="constant">EGL_TRANSPARENT_TYPE</code>,
100202f4aeb0Sopenharmony_ci            <code class="constant">EGL_TRANSPARENT_RED_VALUE</code>,
100302f4aeb0Sopenharmony_ci            <code class="constant">EGL_TRANSPARENT_GREEN_VALUE</code>, and
100402f4aeb0Sopenharmony_ci            <code class="constant">EGL_TRANSPARENT_BLUE_VALUE</code>.
100502f4aeb0Sopenharmony_ci        </p>
100602f4aeb0Sopenharmony_ci      </div>
100702f4aeb0Sopenharmony_ci      <div class="refsect1" id="examples">
100802f4aeb0Sopenharmony_ci        <h2>Examples</h2>
100902f4aeb0Sopenharmony_ci        <p>
101002f4aeb0Sopenharmony_ci            The following example specifies a frame buffer configuration
101102f4aeb0Sopenharmony_ci            in the normal frame buffer (not an overlay or underlay). The
101202f4aeb0Sopenharmony_ci            returned frame buffer configuration supports a color buffer
101302f4aeb0Sopenharmony_ci            with at least 4 bits each of red, green and blue, and
101402f4aeb0Sopenharmony_ci            possibly no alpha bits. The code shown in the example may or
101502f4aeb0Sopenharmony_ci            may not have a depth buffer, or a stencil buffer.
101602f4aeb0Sopenharmony_ci        </p>
101702f4aeb0Sopenharmony_ci        <pre class="programlisting">EGLint const attrib_list[] = {
101802f4aeb0Sopenharmony_ci        EGL_RED_SIZE, 4,
101902f4aeb0Sopenharmony_ci        EGL_GREEN_SIZE, 4,
102002f4aeb0Sopenharmony_ci        EGL_BLUE_SIZE, 4,
102102f4aeb0Sopenharmony_ci        EGL_NONE
102202f4aeb0Sopenharmony_ci};</pre>
102302f4aeb0Sopenharmony_ci      </div>
102402f4aeb0Sopenharmony_ci      <div class="refsect1" id="notes">
102502f4aeb0Sopenharmony_ci        <h2>Notes</h2>
102602f4aeb0Sopenharmony_ci        <p>
102702f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code> bit
102802f4aeb0Sopenharmony_ci            <code class="constant">EGL_OPENGL_BIT</code>, and
102902f4aeb0Sopenharmony_ci            <code class="constant">EGL_SURFACE_TYPE</code> bits
103002f4aeb0Sopenharmony_ci            <code class="constant">EGL_MULTISAMPLE_RESOLVE_BOX_BIT</code> and
103102f4aeb0Sopenharmony_ci            <code class="constant">EGL_SWAP_BEHAVIOR_PRESERVED_BIT</code> are
103202f4aeb0Sopenharmony_ci            supported only if the EGL version is 1.4 or greater.
103302f4aeb0Sopenharmony_ci        </p>
103402f4aeb0Sopenharmony_ci        <p>
103502f4aeb0Sopenharmony_ci            <code class="constant">EGL_CONFORMANT</code>,
103602f4aeb0Sopenharmony_ci            <code class="constant">EGL_MATCH_NATIVE_PIXMAP</code>,
103702f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code> bit
103802f4aeb0Sopenharmony_ci            <code class="constant">EGL_OPENGL_ES2_BIT</code>, and
103902f4aeb0Sopenharmony_ci            <code class="constant">EGL_SURFACE_TYPE</code> bits
104002f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_ALPHA_FORMAT_PRE_BIT</code> and
104102f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_COLORSPACE_LINEAR_BIT</code> are
104202f4aeb0Sopenharmony_ci            supported only if the EGL version is 1.3 or greater.
104302f4aeb0Sopenharmony_ci        </p>
104402f4aeb0Sopenharmony_ci        <p>
104502f4aeb0Sopenharmony_ci            <code class="constant">EGL_ALPHA_MASK_SIZE</code>,
104602f4aeb0Sopenharmony_ci            <code class="constant">EGL_COLOR_BUFFER_TYPE</code>,
104702f4aeb0Sopenharmony_ci            <code class="constant">EGL_LUMINANCE_SIZE</code>,
104802f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code>, and
104902f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code> bits
105002f4aeb0Sopenharmony_ci            <code class="constant">EGL_OPENGL_ES_BIT</code> and
105102f4aeb0Sopenharmony_ci            <code class="constant">EGL_OPENVG_BIT</code> are supported only if
105202f4aeb0Sopenharmony_ci            the EGL version is 1.2 or greater.
105302f4aeb0Sopenharmony_ci        </p>
105402f4aeb0Sopenharmony_ci        <p>
105502f4aeb0Sopenharmony_ci            If OpenGL or OpenGL ES rendering is supported for a
105602f4aeb0Sopenharmony_ci            luminance color buffer, it is treated as RGB rendering with
105702f4aeb0Sopenharmony_ci            the value of <code class="constant">GL_RED_BITS</code> equal to
105802f4aeb0Sopenharmony_ci            <code class="constant">EGL_LUMINANCE_SIZE</code> and the values of
105902f4aeb0Sopenharmony_ci            <code class="constant">GL_GREEN_BITS</code> and
106002f4aeb0Sopenharmony_ci            <code class="constant">GL_BLUE_BITS</code> equal to zero. The red
106102f4aeb0Sopenharmony_ci            component of fragments is written to the luminance channel
106202f4aeb0Sopenharmony_ci            of the color buffer while the green and blue components are
106302f4aeb0Sopenharmony_ci            discarded.
106402f4aeb0Sopenharmony_ci        </p>
106502f4aeb0Sopenharmony_ci        <p>
106602f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetConfigs.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>
106702f4aeb0Sopenharmony_ci            and
106802f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetConfigAttrib.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigAttrib</span></span></a>
106902f4aeb0Sopenharmony_ci            can be used to implement selection algorithms other than the
107002f4aeb0Sopenharmony_ci            generic one implemented by
107102f4aeb0Sopenharmony_ci            <code class="function">eglChooseConfig</code>. Call
107202f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetConfigs.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>
107302f4aeb0Sopenharmony_ci            to retrieve all the frame buffer configurations, or
107402f4aeb0Sopenharmony_ci            alternatively, all the frame buffer configurations with a
107502f4aeb0Sopenharmony_ci            particular set of attributes. Next call
107602f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetConfigAttrib.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigAttrib</span></span></a>
107702f4aeb0Sopenharmony_ci            to retrieve additional attributes for the frame buffer
107802f4aeb0Sopenharmony_ci            configurations and then select between them.
107902f4aeb0Sopenharmony_ci        </p>
108002f4aeb0Sopenharmony_ci        <p>
108102f4aeb0Sopenharmony_ci            EGL implementors are strongly discouraged, but not
108202f4aeb0Sopenharmony_ci            proscribed, from changing the selection algorithm used by
108302f4aeb0Sopenharmony_ci            <code class="function">eglChooseConfig</code>. Therefore, selections
108402f4aeb0Sopenharmony_ci            may change from release to release of the client-side
108502f4aeb0Sopenharmony_ci            library.
108602f4aeb0Sopenharmony_ci        </p>
108702f4aeb0Sopenharmony_ci      </div>
108802f4aeb0Sopenharmony_ci      <div class="refsect1" id="errors">
108902f4aeb0Sopenharmony_ci        <h2>Errors</h2>
109002f4aeb0Sopenharmony_ci        <p>
109102f4aeb0Sopenharmony_ci            <code class="constant">EGL_FALSE</code> is returned on failure,
109202f4aeb0Sopenharmony_ci            <code class="constant">EGL_TRUE</code> otherwise.
109302f4aeb0Sopenharmony_ci            <em class="parameter"><code>configs</code></em> and
109402f4aeb0Sopenharmony_ci            <em class="parameter"><code>num_config</code></em> are not modified when
109502f4aeb0Sopenharmony_ci            <code class="constant">EGL_FALSE</code> is returned.
109602f4aeb0Sopenharmony_ci        </p>
109702f4aeb0Sopenharmony_ci        <p>
109802f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_DISPLAY</code> is generated if
109902f4aeb0Sopenharmony_ci            <em class="parameter"><code>display</code></em> is not an EGL display connection.
110002f4aeb0Sopenharmony_ci        </p>
110102f4aeb0Sopenharmony_ci        <p>
110202f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if
110302f4aeb0Sopenharmony_ci            <em class="parameter"><code>attribute_list</code></em> contains an invalid frame buffer
110402f4aeb0Sopenharmony_ci            configuration attribute or an
110502f4aeb0Sopenharmony_ci            attribute value that is unrecognized or out of range.
110602f4aeb0Sopenharmony_ci        </p>
110702f4aeb0Sopenharmony_ci        <p>
110802f4aeb0Sopenharmony_ci            <code class="constant">EGL_NOT_INITIALIZED</code> is generated if
110902f4aeb0Sopenharmony_ci            <em class="parameter"><code>display</code></em> has not been initialized.
111002f4aeb0Sopenharmony_ci        </p>
111102f4aeb0Sopenharmony_ci        <p>
111202f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_PARAMETER</code> is generated if
111302f4aeb0Sopenharmony_ci            <em class="parameter"><code>num_config</code></em> is <code class="constant">NULL</code>.
111402f4aeb0Sopenharmony_ci        </p>
111502f4aeb0Sopenharmony_ci      </div>
111602f4aeb0Sopenharmony_ci      <div class="refsect1" id="seealso">
111702f4aeb0Sopenharmony_ci        <h2>See Also</h2>
111802f4aeb0Sopenharmony_ci        <p>
111902f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglCreateContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateContext</span></span></a>,
112002f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglCreatePbufferSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>,
112102f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglCreatePixmapSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreatePixmapSurface</span></span></a>,
112202f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglCreateWindowSurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateWindowSurface</span></span></a>,
112302f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetConfigs.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>,
112402f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetConfigAttrib.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigAttrib</span></span></a>,
112502f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglSurfaceAttrib.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSurfaceAttrib</span></span></a>,
112602f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglSwapInterval.xhtml"><span class="citerefentry"><span class="refentrytitle">eglSwapInterval</span></span></a>
112702f4aeb0Sopenharmony_ci        </p>
112802f4aeb0Sopenharmony_ci      </div>
112902f4aeb0Sopenharmony_ci      <p>
113002f4aeb0Sopenharmony_ci    </p>
113102f4aeb0Sopenharmony_ci      <div class="refsect3" id="copyright">
113202f4aeb0Sopenharmony_ci        <img src="KhronosLogo.jpg"/>
113302f4aeb0Sopenharmony_ci        <p>
113402f4aeb0Sopenharmony_ci            Copyright © 2003-2014 The Khronos Group Inc.
113502f4aeb0Sopenharmony_ci            Permission is hereby granted, free of charge, to any person obtaining a
113602f4aeb0Sopenharmony_ci            copy of this software and/or associated documentation files (the
113702f4aeb0Sopenharmony_ci            "Materials"), to deal in the Materials without restriction, including
113802f4aeb0Sopenharmony_ci            without limitation the rights to use, copy, modify, merge, publish,
113902f4aeb0Sopenharmony_ci            distribute, sublicense, and/or sell copies of the Materials, and to
114002f4aeb0Sopenharmony_ci            permit persons to whom the Materials are furnished to do so, subject to
114102f4aeb0Sopenharmony_ci            the condition that this copyright notice and permission notice shall be included
114202f4aeb0Sopenharmony_ci            in all copies or substantial portions of the Materials.
114302f4aeb0Sopenharmony_ci        </p>
114402f4aeb0Sopenharmony_ci      </div>
114502f4aeb0Sopenharmony_ci      <p>
114602f4aeb0Sopenharmony_ci</p>
114702f4aeb0Sopenharmony_ci    </div>
114802f4aeb0Sopenharmony_ci    <footer/>
114902f4aeb0Sopenharmony_ci  </body>
115002f4aeb0Sopenharmony_ci</html>
1151