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">eglCreatePbufferSurface - 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.2"/>
702f4aeb0Sopenharmony_ci  </head>
802f4aeb0Sopenharmony_ci  <body>
902f4aeb0Sopenharmony_ci    <header/>
1002f4aeb0Sopenharmony_ci    <div class="refentry" id="eglCreatePbufferSurface">
1102f4aeb0Sopenharmony_ci      <div class="titlepage"/>
1202f4aeb0Sopenharmony_ci      <div class="refnamediv">
1302f4aeb0Sopenharmony_ci        <h2>Name</h2>
1402f4aeb0Sopenharmony_ci        <p>eglCreatePbufferSurface — 
1502f4aeb0Sopenharmony_ci            create a new <abbr class="acronym">EGL</abbr> pixel buffer surface
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">EGLSurface <strong class="fsfunc">eglCreatePbufferSurface</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>EGLConfig <var class="pdparam">config</var>, </td>
3102f4aeb0Sopenharmony_ci            </tr>
3202f4aeb0Sopenharmony_ci            <tr>
3302f4aeb0Sopenharmony_ci              <td> </td>
3402f4aeb0Sopenharmony_ci              <td>EGLint const * <var class="pdparam">attrib_list</var><code>)</code>;</td>
3502f4aeb0Sopenharmony_ci            </tr>
3602f4aeb0Sopenharmony_ci          </table>
3702f4aeb0Sopenharmony_ci          <div class="funcprototype-spacer"> </div>
3802f4aeb0Sopenharmony_ci        </div>
3902f4aeb0Sopenharmony_ci      </div>
4002f4aeb0Sopenharmony_ci      <div class="refsect1" id="parameters">
4102f4aeb0Sopenharmony_ci        <h2>Parameters</h2>
4202f4aeb0Sopenharmony_ci        <div class="variablelist">
4302f4aeb0Sopenharmony_ci          <dl class="variablelist">
4402f4aeb0Sopenharmony_ci            <dt>
4502f4aeb0Sopenharmony_ci              <span class="term">
4602f4aeb0Sopenharmony_ci                <em class="parameter">
4702f4aeb0Sopenharmony_ci                  <code>display</code>
4802f4aeb0Sopenharmony_ci                </em>
4902f4aeb0Sopenharmony_ci              </span>
5002f4aeb0Sopenharmony_ci            </dt>
5102f4aeb0Sopenharmony_ci            <dd>
5202f4aeb0Sopenharmony_ci              <p>Specifies the EGL display connection.</p>
5302f4aeb0Sopenharmony_ci            </dd>
5402f4aeb0Sopenharmony_ci            <dt>
5502f4aeb0Sopenharmony_ci              <span class="term">
5602f4aeb0Sopenharmony_ci                <em class="parameter">
5702f4aeb0Sopenharmony_ci                  <code>config</code>
5802f4aeb0Sopenharmony_ci                </em>
5902f4aeb0Sopenharmony_ci              </span>
6002f4aeb0Sopenharmony_ci            </dt>
6102f4aeb0Sopenharmony_ci            <dd>
6202f4aeb0Sopenharmony_ci              <p>
6302f4aeb0Sopenharmony_ci                    Specifies the EGL frame buffer configuration that defines the
6402f4aeb0Sopenharmony_ci                    frame buffer resource available to the surface.
6502f4aeb0Sopenharmony_ci                </p>
6602f4aeb0Sopenharmony_ci            </dd>
6702f4aeb0Sopenharmony_ci            <dt>
6802f4aeb0Sopenharmony_ci              <span class="term">
6902f4aeb0Sopenharmony_ci                <em class="parameter">
7002f4aeb0Sopenharmony_ci                  <code>attrib_list</code>
7102f4aeb0Sopenharmony_ci                </em>
7202f4aeb0Sopenharmony_ci              </span>
7302f4aeb0Sopenharmony_ci            </dt>
7402f4aeb0Sopenharmony_ci            <dd>
7502f4aeb0Sopenharmony_ci              <p>
7602f4aeb0Sopenharmony_ci                    Specifies pixel buffer surface attributes.
7702f4aeb0Sopenharmony_ci                    May be <code class="constant">NULL</code> or empty
7802f4aeb0Sopenharmony_ci                    (first attribute is <code class="constant">EGL_NONE</code>).
7902f4aeb0Sopenharmony_ci                </p>
8002f4aeb0Sopenharmony_ci            </dd>
8102f4aeb0Sopenharmony_ci          </dl>
8202f4aeb0Sopenharmony_ci        </div>
8302f4aeb0Sopenharmony_ci      </div>
8402f4aeb0Sopenharmony_ci      <div class="refsect1" id="description">
8502f4aeb0Sopenharmony_ci        <h2>Description</h2>
8602f4aeb0Sopenharmony_ci        <p>
8702f4aeb0Sopenharmony_ci            <code class="function">eglCreatePbufferSurface</code> creates an
8802f4aeb0Sopenharmony_ci            off-screen pixel buffer surface and returns its handle. If
8902f4aeb0Sopenharmony_ci            <code class="function">eglCreatePbufferSurface</code> fails to create
9002f4aeb0Sopenharmony_ci            a pixel buffer surface, <code class="constant">EGL_NO_SURFACE</code>
9102f4aeb0Sopenharmony_ci            is returned.
9202f4aeb0Sopenharmony_ci        </p>
9302f4aeb0Sopenharmony_ci        <p>
9402f4aeb0Sopenharmony_ci            Surface attributes are specified as a list of
9502f4aeb0Sopenharmony_ci            attribute-value pairs, terminated with
9602f4aeb0Sopenharmony_ci            <code class="constant">EGL_NONE</code>. Accepted attributes
9702f4aeb0Sopenharmony_ci            are:
9802f4aeb0Sopenharmony_ci        </p>
9902f4aeb0Sopenharmony_ci        <div class="variablelist">
10002f4aeb0Sopenharmony_ci          <dl class="variablelist">
10102f4aeb0Sopenharmony_ci            <dt>
10202f4aeb0Sopenharmony_ci              <span class="term">
10302f4aeb0Sopenharmony_ci                <code class="constant">EGL_GL_COLORSPACE</code>
10402f4aeb0Sopenharmony_ci              </span>
10502f4aeb0Sopenharmony_ci            </dt>
10602f4aeb0Sopenharmony_ci            <dd>
10702f4aeb0Sopenharmony_ci              <p>
10802f4aeb0Sopenharmony_ci                    Specifies the color space used by OpenGL and OpenGL ES
10902f4aeb0Sopenharmony_ci                    when rendering to the surface. If its value is
11002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_GL_COLORSPACE_SRGB</code>, then a
11102f4aeb0Sopenharmony_ci                    non-linear, perceptually uniform color space is assumed,
11202f4aeb0Sopenharmony_ci                    with a corresponding
11302f4aeb0Sopenharmony_ci                    <code class="constant">GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING</code>
11402f4aeb0Sopenharmony_ci                    value of <code class="constant">GL_SRGB</code>. If its value is
11502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_GL_COLORSPACE_LINEAR</code>, then a
11602f4aeb0Sopenharmony_ci                    linear color space is assumed, with a corresponding
11702f4aeb0Sopenharmony_ci                    <code class="constant">GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING</code>
11802f4aeb0Sopenharmony_ci                    value of <code class="constant">GL_LINEAR</code>. The default
11902f4aeb0Sopenharmony_ci                    value of <code class="constant">EGL_GL_COLORSPACE</code> is
12002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_GL_COLORSPACE_LINEAR</code>.
12102f4aeb0Sopenharmony_ci                </p>
12202f4aeb0Sopenharmony_ci              <p>
12302f4aeb0Sopenharmony_ci                    Note that the <code class="constant">EGL_GL_COLORSPACE</code>
12402f4aeb0Sopenharmony_ci                    attribute is used only by OpenGL and OpenGL ES contexts
12502f4aeb0Sopenharmony_ci                    supporting sRGB framebuffers. EGL itself does not
12602f4aeb0Sopenharmony_ci                    distinguish multiple colorspace models. Refer to the
12702f4aeb0Sopenharmony_ci                    ``sRGB Conversion'' sections of the OpenGL 4.6 and
12802f4aeb0Sopenharmony_ci                    OpenGL ES 3.2 Specifications for more information.
12902f4aeb0Sopenharmony_ci                </p>
13002f4aeb0Sopenharmony_ci            </dd>
13102f4aeb0Sopenharmony_ci            <dt>
13202f4aeb0Sopenharmony_ci              <span class="term">
13302f4aeb0Sopenharmony_ci                <code class="constant">EGL_HEIGHT</code>
13402f4aeb0Sopenharmony_ci              </span>
13502f4aeb0Sopenharmony_ci            </dt>
13602f4aeb0Sopenharmony_ci            <dd>
13702f4aeb0Sopenharmony_ci              <p>
13802f4aeb0Sopenharmony_ci                    Specifies the required height of the pixel buffer
13902f4aeb0Sopenharmony_ci                    surface. The default value is
14002f4aeb0Sopenharmony_ci                    <code class="constant">0</code>.
14102f4aeb0Sopenharmony_ci                </p>
14202f4aeb0Sopenharmony_ci            </dd>
14302f4aeb0Sopenharmony_ci            <dt>
14402f4aeb0Sopenharmony_ci              <span class="term">
14502f4aeb0Sopenharmony_ci                <code class="constant">EGL_LARGEST_PBUFFER</code>
14602f4aeb0Sopenharmony_ci              </span>
14702f4aeb0Sopenharmony_ci            </dt>
14802f4aeb0Sopenharmony_ci            <dd>
14902f4aeb0Sopenharmony_ci              <p>
15002f4aeb0Sopenharmony_ci                    Requests the largest available pixel buffer surface
15102f4aeb0Sopenharmony_ci                    when the allocation would otherwise fail. Use
15202f4aeb0Sopenharmony_ci                    <a class="citerefentry" href="eglQuerySurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a>
15302f4aeb0Sopenharmony_ci                    to retrieve the dimensions of the allocated pixel
15402f4aeb0Sopenharmony_ci                    buffer. The default value is
15502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_FALSE</code>.
15602f4aeb0Sopenharmony_ci                </p>
15702f4aeb0Sopenharmony_ci            </dd>
15802f4aeb0Sopenharmony_ci            <dt>
15902f4aeb0Sopenharmony_ci              <span class="term">
16002f4aeb0Sopenharmony_ci                <code class="constant">EGL_MIPMAP_TEXTURE</code>
16102f4aeb0Sopenharmony_ci              </span>
16202f4aeb0Sopenharmony_ci            </dt>
16302f4aeb0Sopenharmony_ci            <dd>
16402f4aeb0Sopenharmony_ci              <p>
16502f4aeb0Sopenharmony_ci                    Specifies whether storage for mipmaps should be
16602f4aeb0Sopenharmony_ci                    allocated. Space for mipmaps will be set aside if
16702f4aeb0Sopenharmony_ci                    the attribute value is <code class="constant">EGL_TRUE</code>
16802f4aeb0Sopenharmony_ci                    and <code class="constant">EGL_TEXTURE_FORMAT</code> is not
16902f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NO_TEXTURE</code>. The default
17002f4aeb0Sopenharmony_ci                    value is <code class="constant">EGL_FALSE</code>.
17102f4aeb0Sopenharmony_ci                </p>
17202f4aeb0Sopenharmony_ci            </dd>
17302f4aeb0Sopenharmony_ci            <dt>
17402f4aeb0Sopenharmony_ci              <span class="term">
17502f4aeb0Sopenharmony_ci                <code class="constant">EGL_TEXTURE_FORMAT</code>
17602f4aeb0Sopenharmony_ci              </span>
17702f4aeb0Sopenharmony_ci            </dt>
17802f4aeb0Sopenharmony_ci            <dd>
17902f4aeb0Sopenharmony_ci              <p>
18002f4aeb0Sopenharmony_ci                    Specifies the format of the texture that will be
18102f4aeb0Sopenharmony_ci                    created when a pbuffer is bound to a texture map.
18202f4aeb0Sopenharmony_ci                    Possible values are
18302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NO_TEXTURE</code>,
18402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TEXTURE_RGB</code>, and
18502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TEXTURE_RGBA</code>. The default
18602f4aeb0Sopenharmony_ci                    value is <code class="constant">EGL_NO_TEXTURE</code>.
18702f4aeb0Sopenharmony_ci                </p>
18802f4aeb0Sopenharmony_ci            </dd>
18902f4aeb0Sopenharmony_ci            <dt>
19002f4aeb0Sopenharmony_ci              <span class="term">
19102f4aeb0Sopenharmony_ci                <code class="constant">EGL_TEXTURE_TARGET</code>
19202f4aeb0Sopenharmony_ci              </span>
19302f4aeb0Sopenharmony_ci            </dt>
19402f4aeb0Sopenharmony_ci            <dd>
19502f4aeb0Sopenharmony_ci              <p>
19602f4aeb0Sopenharmony_ci                    Specifies the target for the texture that will be
19702f4aeb0Sopenharmony_ci                    created when the pbuffer is created with a texture
19802f4aeb0Sopenharmony_ci                    format of <code class="constant">EGL_TEXTURE_RGB</code> or
19902f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TEXTURE_RGBA</code>. Possible
20002f4aeb0Sopenharmony_ci                    values are <code class="constant">EGL_NO_TEXTURE</code>, or
20102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_TEXTURE_2D</code>. The default
20202f4aeb0Sopenharmony_ci                    value is <code class="constant">EGL_NO_TEXTURE</code>.
20302f4aeb0Sopenharmony_ci                </p>
20402f4aeb0Sopenharmony_ci            </dd>
20502f4aeb0Sopenharmony_ci            <dt>
20602f4aeb0Sopenharmony_ci              <span class="term">
20702f4aeb0Sopenharmony_ci                <code class="constant">EGL_VG_ALPHA_FORMAT</code>
20802f4aeb0Sopenharmony_ci              </span>
20902f4aeb0Sopenharmony_ci            </dt>
21002f4aeb0Sopenharmony_ci            <dd>
21102f4aeb0Sopenharmony_ci              <p>
21202f4aeb0Sopenharmony_ci                    Specifies how alpha values are interpreted by OpenVG
21302f4aeb0Sopenharmony_ci                    when rendering to the surface. If its value is
21402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_VG_ALPHA_FORMAT_NONPRE</code>,
21502f4aeb0Sopenharmony_ci                    then alpha values are not premultipled. If its value
21602f4aeb0Sopenharmony_ci                    is <code class="constant">EGL_VG_ALPHA_FORMAT_PRE</code>,
21702f4aeb0Sopenharmony_ci                    then alpha values are premultiplied. The default
21802f4aeb0Sopenharmony_ci                    value of <code class="constant">EGL_VG_ALPHA_FORMAT</code> is
21902f4aeb0Sopenharmony_ci                    <code class="constant">EGL_VG_ALPHA_FORMAT_NONPRE</code>.
22002f4aeb0Sopenharmony_ci                </p>
22102f4aeb0Sopenharmony_ci            </dd>
22202f4aeb0Sopenharmony_ci            <dt>
22302f4aeb0Sopenharmony_ci              <span class="term">
22402f4aeb0Sopenharmony_ci                <code class="constant">EGL_VG_COLORSPACE</code>
22502f4aeb0Sopenharmony_ci              </span>
22602f4aeb0Sopenharmony_ci            </dt>
22702f4aeb0Sopenharmony_ci            <dd>
22802f4aeb0Sopenharmony_ci              <p>
22902f4aeb0Sopenharmony_ci                    Specifies the color space used by OpenVG when
23002f4aeb0Sopenharmony_ci                    rendering to the surface. If its value is
23102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_VG_COLORSPACE_sRGB</code>, then a
23202f4aeb0Sopenharmony_ci                    non-linear, perceptually uniform color space is
23302f4aeb0Sopenharmony_ci                    assumed, with a corresponding
23402f4aeb0Sopenharmony_ci                    <span class="type">VGImageFormat</span> of form
23502f4aeb0Sopenharmony_ci                    <code class="constant">VG_s*</code>. If its value is
23602f4aeb0Sopenharmony_ci                    <code class="constant">EGL_VG_COLORSPACE_LINEAR</code>, then
23702f4aeb0Sopenharmony_ci                    a linear color space is assumed, with a
23802f4aeb0Sopenharmony_ci                    corresponding <span class="type">VGImageFormat</span> of form
23902f4aeb0Sopenharmony_ci                    <code class="constant">VG_l*</code>. The default value of
24002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_VG_COLORSPACE</code> is
24102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_VG_COLORSPACE_sRGB</code>.
24202f4aeb0Sopenharmony_ci                </p>
24302f4aeb0Sopenharmony_ci            </dd>
24402f4aeb0Sopenharmony_ci            <dt>
24502f4aeb0Sopenharmony_ci              <span class="term">
24602f4aeb0Sopenharmony_ci                <code class="constant">EGL_WIDTH</code>
24702f4aeb0Sopenharmony_ci              </span>
24802f4aeb0Sopenharmony_ci            </dt>
24902f4aeb0Sopenharmony_ci            <dd>
25002f4aeb0Sopenharmony_ci              <p>
25102f4aeb0Sopenharmony_ci                    Specifies the required width of the pixel buffer
25202f4aeb0Sopenharmony_ci                    surface. The default value is
25302f4aeb0Sopenharmony_ci                    <code class="constant">0</code>.
25402f4aeb0Sopenharmony_ci                </p>
25502f4aeb0Sopenharmony_ci            </dd>
25602f4aeb0Sopenharmony_ci          </dl>
25702f4aeb0Sopenharmony_ci        </div>
25802f4aeb0Sopenharmony_ci        <p>
25902f4aeb0Sopenharmony_ci            Any EGL rendering context that was created with respect to
26002f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em> can be used to render into the
26102f4aeb0Sopenharmony_ci            surface. Use
26202f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglMakeCurrent.xhtml"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>
26302f4aeb0Sopenharmony_ci            to attach an EGL rendering context to the surface.
26402f4aeb0Sopenharmony_ci        </p>
26502f4aeb0Sopenharmony_ci        <p>
26602f4aeb0Sopenharmony_ci            Use
26702f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglQuerySurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a>
26802f4aeb0Sopenharmony_ci            to retrieve the dimensions of the allocated pixel buffer
26902f4aeb0Sopenharmony_ci            surface or the ID of <em class="parameter"><code>config</code></em>.
27002f4aeb0Sopenharmony_ci        </p>
27102f4aeb0Sopenharmony_ci        <p>
27202f4aeb0Sopenharmony_ci            Use <a class="citerefentry" href="eglDestroySurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a>
27302f4aeb0Sopenharmony_ci            to destroy the surface.
27402f4aeb0Sopenharmony_ci        </p>
27502f4aeb0Sopenharmony_ci      </div>
27602f4aeb0Sopenharmony_ci      <div class="refsect1" id="notes">
27702f4aeb0Sopenharmony_ci        <h2>Notes</h2>
27802f4aeb0Sopenharmony_ci        <p>
27902f4aeb0Sopenharmony_ci            Attribute <code class="constant">EGL_GL_COLORSPACE</code>, and the
28002f4aeb0Sopenharmony_ci            <code class="constant">EGL_OPENGL_ES3_BIT</code> bit value for attribute
28102f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code>, are supported only if
28202f4aeb0Sopenharmony_ci            the EGL version is 1.5 or greater.
28302f4aeb0Sopenharmony_ci        </p>
28402f4aeb0Sopenharmony_ci        <p>
28502f4aeb0Sopenharmony_ci            Attributes
28602f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code>,
28702f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_ALPHA_FORMAT</code>, and
28802f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_COLORSPACE</code>, and the
28902f4aeb0Sopenharmony_ci            corresponding attribute values, are supported only if the
29002f4aeb0Sopenharmony_ci            EGL version is 1.2 or greater.
29102f4aeb0Sopenharmony_ci        </p>
29202f4aeb0Sopenharmony_ci        <p>
29302f4aeb0Sopenharmony_ci            If the value of <em class="parameter"><code>config</code></em> attribute
29402f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_FORMAT</code> is not
29502f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_TEXTURE</code>, then the pbuffer width
29602f4aeb0Sopenharmony_ci            and height specify the size of the level zero texture image
29702f4aeb0Sopenharmony_ci        </p>
29802f4aeb0Sopenharmony_ci        <p>
29902f4aeb0Sopenharmony_ci            If <code class="constant">EGL_LARGEST_PBUFFER</code> is specified and
30002f4aeb0Sopenharmony_ci            if the pbuffer will be used as a texture (i.e. the value of
30102f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_TARGET</code> is
30202f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_2D</code>, and the value of
30302f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE FORMAT</code> is
30402f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_RGB</code> or
30502f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_RGBA</code>), then the aspect
30602f4aeb0Sopenharmony_ci            ratio will be preserved and the new width and height will be
30702f4aeb0Sopenharmony_ci            valid sizes for the texture target (e.g. if the underlying
30802f4aeb0Sopenharmony_ci            OpenGL ES implementation does not support non-power-of-two
30902f4aeb0Sopenharmony_ci            textures, both the width and height will be a power of 2).
31002f4aeb0Sopenharmony_ci        </p>
31102f4aeb0Sopenharmony_ci        <p>
31202f4aeb0Sopenharmony_ci            The contents of the depth and stencil buffers may not be
31302f4aeb0Sopenharmony_ci            preserved when rendering a texture to the pbuffer and
31402f4aeb0Sopenharmony_ci            switching which image of the texture is rendered to (e.g.,
31502f4aeb0Sopenharmony_ci            switching from rendering one mipmap level to rendering
31602f4aeb0Sopenharmony_ci            another).
31702f4aeb0Sopenharmony_ci        </p>
31802f4aeb0Sopenharmony_ci      </div>
31902f4aeb0Sopenharmony_ci      <div class="refsect1" id="errors">
32002f4aeb0Sopenharmony_ci        <h2>Errors</h2>
32102f4aeb0Sopenharmony_ci        <p>
32202f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_SURFACE</code> is returned if creation of
32302f4aeb0Sopenharmony_ci            the context fails.
32402f4aeb0Sopenharmony_ci        </p>
32502f4aeb0Sopenharmony_ci        <p>
32602f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_DISPLAY</code> is generated if
32702f4aeb0Sopenharmony_ci            <em class="parameter"><code>display</code></em> is not an EGL display connection.
32802f4aeb0Sopenharmony_ci        </p>
32902f4aeb0Sopenharmony_ci        <p>
33002f4aeb0Sopenharmony_ci            <code class="constant">EGL_NOT_INITIALIZED</code> is generated if
33102f4aeb0Sopenharmony_ci            <em class="parameter"><code>display</code></em> has not been initialized.
33202f4aeb0Sopenharmony_ci        </p>
33302f4aeb0Sopenharmony_ci        <p>
33402f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_CONFIG</code> is generated if
33502f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em> is not an EGL frame buffer configuration.
33602f4aeb0Sopenharmony_ci        </p>
33702f4aeb0Sopenharmony_ci        <p>
33802f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if
33902f4aeb0Sopenharmony_ci            <em class="parameter"><code>attrib_list</code></em> contains an invalid pixel
34002f4aeb0Sopenharmony_ci            buffer attribute or if an attribute value is not recognized
34102f4aeb0Sopenharmony_ci            or out of range.
34202f4aeb0Sopenharmony_ci        </p>
34302f4aeb0Sopenharmony_ci        <p>
34402f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if
34502f4aeb0Sopenharmony_ci            <em class="parameter"><code>attrib_list</code></em> contains any of the
34602f4aeb0Sopenharmony_ci            attributes <code class="constant">EGL_MIPMAP_TEXTURE</code>,
34702f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_FORMAT</code>, or
34802f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_TARGET</code>, and
34902f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em> does not support OpenGL ES
35002f4aeb0Sopenharmony_ci            rendering (e.g. the EGL version is 1.2 or later, and the
35102f4aeb0Sopenharmony_ci            <code class="constant">EGL_RENDERABLE_TYPE</code> attribute of
35202f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em> does not include at least one
35302f4aeb0Sopenharmony_ci            of <code class="constant">EGL_OPENGL_ES_BIT</code>,
35402f4aeb0Sopenharmony_ci            <code class="constant">EGL_OPENGL_ES2_BIT</code>, or
35502f4aeb0Sopenharmony_ci            <code class="constant">EGL_OPENGL_ES3_BIT</code>),
35602f4aeb0Sopenharmony_ci        </p>
35702f4aeb0Sopenharmony_ci        <p>
35802f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_ALLOC</code> is generated if there are not
35902f4aeb0Sopenharmony_ci            enough resources to allocate the new surface.
36002f4aeb0Sopenharmony_ci        </p>
36102f4aeb0Sopenharmony_ci        <p>
36202f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_MATCH</code> is generated if
36302f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em> does not support rendering to pixel buffers
36402f4aeb0Sopenharmony_ci            (the <code class="constant">EGL_SURFACE_TYPE</code> attribute does not contain
36502f4aeb0Sopenharmony_ci            <code class="constant">EGL_PBUFFER_BIT</code>).
36602f4aeb0Sopenharmony_ci        </p>
36702f4aeb0Sopenharmony_ci        <p>
36802f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_MATCH</code> is generated if the
36902f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is not
37002f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_TEXTURE</code>, and
37102f4aeb0Sopenharmony_ci            <code class="constant">EGL_WIDTH</code> and/or
37202f4aeb0Sopenharmony_ci            <code class="constant">EGL_HEIGHT</code> specify an invalid size
37302f4aeb0Sopenharmony_ci            (e.g., the texture size is not a power of 2, and the
37402f4aeb0Sopenharmony_ci            underlying OpenGL ES implementation does not support
37502f4aeb0Sopenharmony_ci            non-power-of-two textures).
37602f4aeb0Sopenharmony_ci        </p>
37702f4aeb0Sopenharmony_ci        <p>
37802f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_MATCH</code> is generated if
37902f4aeb0Sopenharmony_ci            the <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is
38002f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_TEXTURE</code>, and
38102f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_TARGET</code> is something other
38202f4aeb0Sopenharmony_ci            than <code class="constant">EGL_NO_TEXTURE</code>; or,
38302f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_FORMAT</code> is something other
38402f4aeb0Sopenharmony_ci            than <code class="constant">EGL_NO_TEXTURE</code>, and
38502f4aeb0Sopenharmony_ci            <code class="constant">EGL_TEXTURE_TARGET</code> is
38602f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_TEXTURE</code>.
38702f4aeb0Sopenharmony_ci        </p>
38802f4aeb0Sopenharmony_ci        <p>
38902f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_MATCH</code> is generated if
39002f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em> does not support the specified
39102f4aeb0Sopenharmony_ci            OpenVG alpha format attribute (the value of
39202f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_ALPHA_FORMAT</code> is
39302f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_ALPHA_FORMAT_PRE</code> and the
39402f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_ALPHA_FORMAT_PRE_BIT</code> is not set
39502f4aeb0Sopenharmony_ci            in the <code class="constant">EGL_SURFACE_TYPE</code> attribute of
39602f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em>) or colorspace attribute (the
39702f4aeb0Sopenharmony_ci            value of <code class="constant">EGL_VG_COLORSPACE</code> is
39802f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_COLORSPACE_LINEAR</code> and the
39902f4aeb0Sopenharmony_ci            <code class="constant">EGL_VG_COLORSPACE_LINEAR_IT</code> is not set
40002f4aeb0Sopenharmony_ci            in the <code class="constant">EGL_SURFACE_TYPE</code> attribute of
40102f4aeb0Sopenharmony_ci            <em class="parameter"><code>config</code></em>).
40202f4aeb0Sopenharmony_ci        </p>
40302f4aeb0Sopenharmony_ci      </div>
40402f4aeb0Sopenharmony_ci      <div class="refsect1" id="seealso">
40502f4aeb0Sopenharmony_ci        <h2>See Also</h2>
40602f4aeb0Sopenharmony_ci        <p>
40702f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglDestroySurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a>,
40802f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglChooseConfig.xhtml"><span class="citerefentry"><span class="refentrytitle">eglChooseConfig</span></span></a>,
40902f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetConfigs.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>,
41002f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglMakeCurrent.xhtml"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>,
41102f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglQuerySurface.xhtml"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a>
41202f4aeb0Sopenharmony_ci        </p>
41302f4aeb0Sopenharmony_ci      </div>
41402f4aeb0Sopenharmony_ci      <p>
41502f4aeb0Sopenharmony_ci    </p>
41602f4aeb0Sopenharmony_ci      <div class="refsect3" id="copyright">
41702f4aeb0Sopenharmony_ci        <img src="KhronosLogo.jpg"/>
41802f4aeb0Sopenharmony_ci        <p>
41902f4aeb0Sopenharmony_ci            Copyright © 2003-2014 The Khronos Group Inc.
42002f4aeb0Sopenharmony_ci            Permission is hereby granted, free of charge, to any person obtaining a
42102f4aeb0Sopenharmony_ci            copy of this software and/or associated documentation files (the
42202f4aeb0Sopenharmony_ci            "Materials"), to deal in the Materials without restriction, including
42302f4aeb0Sopenharmony_ci            without limitation the rights to use, copy, modify, merge, publish,
42402f4aeb0Sopenharmony_ci            distribute, sublicense, and/or sell copies of the Materials, and to
42502f4aeb0Sopenharmony_ci            permit persons to whom the Materials are furnished to do so, subject to
42602f4aeb0Sopenharmony_ci            the condition that this copyright notice and permission notice shall be included
42702f4aeb0Sopenharmony_ci            in all copies or substantial portions of the Materials.
42802f4aeb0Sopenharmony_ci        </p>
42902f4aeb0Sopenharmony_ci      </div>
43002f4aeb0Sopenharmony_ci      <p>
43102f4aeb0Sopenharmony_ci</p>
43202f4aeb0Sopenharmony_ci    </div>
43302f4aeb0Sopenharmony_ci    <footer/>
43402f4aeb0Sopenharmony_ci  </body>
43502f4aeb0Sopenharmony_ci</html>
436