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