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">eglCreateContext - EGL Reference Pages</title>
502f4aeb0Sopenharmony_ci    <link rel="stylesheet" type="text/css" href="khronos-man.css"/>
602f4aeb0Sopenharmony_ci    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/>
702f4aeb0Sopenharmony_ci  </head>
802f4aeb0Sopenharmony_ci  <body>
902f4aeb0Sopenharmony_ci    <header/>
1002f4aeb0Sopenharmony_ci    <div class="refentry" id="eglCreateContext">
1102f4aeb0Sopenharmony_ci      <div class="titlepage"/>
1202f4aeb0Sopenharmony_ci      <div class="refnamediv">
1302f4aeb0Sopenharmony_ci        <h2>Name</h2>
1402f4aeb0Sopenharmony_ci        <p>eglCreateContext — 
1502f4aeb0Sopenharmony_ci            create a new <abbr class="acronym">EGL</abbr> rendering context
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">EGLContext <strong class="fsfunc">eglCreateContext</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>EGLContext <var class="pdparam">share_context</var>, </td>
3502f4aeb0Sopenharmony_ci            </tr>
3602f4aeb0Sopenharmony_ci            <tr>
3702f4aeb0Sopenharmony_ci              <td> </td>
3802f4aeb0Sopenharmony_ci              <td>EGLint const * <var class="pdparam">attrib_list</var><code>)</code>;</td>
3902f4aeb0Sopenharmony_ci            </tr>
4002f4aeb0Sopenharmony_ci          </table>
4102f4aeb0Sopenharmony_ci          <div class="funcprototype-spacer"> </div>
4202f4aeb0Sopenharmony_ci        </div>
4302f4aeb0Sopenharmony_ci      </div>
4402f4aeb0Sopenharmony_ci      <div class="refsect1" id="parameters">
4502f4aeb0Sopenharmony_ci        <h2>Parameters</h2>
4602f4aeb0Sopenharmony_ci        <div class="variablelist">
4702f4aeb0Sopenharmony_ci          <dl class="variablelist">
4802f4aeb0Sopenharmony_ci            <dt>
4902f4aeb0Sopenharmony_ci              <span class="term">
5002f4aeb0Sopenharmony_ci                <em class="parameter">
5102f4aeb0Sopenharmony_ci                  <code>display</code>
5202f4aeb0Sopenharmony_ci                </em>
5302f4aeb0Sopenharmony_ci              </span>
5402f4aeb0Sopenharmony_ci            </dt>
5502f4aeb0Sopenharmony_ci            <dd>
5602f4aeb0Sopenharmony_ci              <p>
5702f4aeb0Sopenharmony_ci                    Specifies the
5802f4aeb0Sopenharmony_ci                    <abbr class="acronym">EGL</abbr>
5902f4aeb0Sopenharmony_ci                    display connection.
6002f4aeb0Sopenharmony_ci                </p>
6102f4aeb0Sopenharmony_ci            </dd>
6202f4aeb0Sopenharmony_ci            <dt>
6302f4aeb0Sopenharmony_ci              <span class="term">
6402f4aeb0Sopenharmony_ci                <em class="parameter">
6502f4aeb0Sopenharmony_ci                  <code>config</code>
6602f4aeb0Sopenharmony_ci                </em>
6702f4aeb0Sopenharmony_ci              </span>
6802f4aeb0Sopenharmony_ci            </dt>
6902f4aeb0Sopenharmony_ci            <dd>
7002f4aeb0Sopenharmony_ci              <p>Specifies the EGL frame buffer configuration that
7102f4aeb0Sopenharmony_ci                    defines the frame buffer resource available to the rendering context.
7202f4aeb0Sopenharmony_ci                </p>
7302f4aeb0Sopenharmony_ci            </dd>
7402f4aeb0Sopenharmony_ci            <dt>
7502f4aeb0Sopenharmony_ci              <span class="term">
7602f4aeb0Sopenharmony_ci                <em class="parameter">
7702f4aeb0Sopenharmony_ci                  <code>share_context</code>
7802f4aeb0Sopenharmony_ci                </em>
7902f4aeb0Sopenharmony_ci              </span>
8002f4aeb0Sopenharmony_ci            </dt>
8102f4aeb0Sopenharmony_ci            <dd>
8202f4aeb0Sopenharmony_ci              <p>
8302f4aeb0Sopenharmony_ci                    Specifies another
8402f4aeb0Sopenharmony_ci                    <abbr class="acronym">EGL</abbr>
8502f4aeb0Sopenharmony_ci                    rendering context with which to share data, as
8602f4aeb0Sopenharmony_ci                    defined by the client API corresponding to the
8702f4aeb0Sopenharmony_ci                    contexts. Data is also shared with all other
8802f4aeb0Sopenharmony_ci                    contexts with which
8902f4aeb0Sopenharmony_ci                    <em class="parameter"><code>share_context</code></em> shares data.
9002f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NO_CONTEXT</code> indicates that
9102f4aeb0Sopenharmony_ci                    no sharing is to take place.
9202f4aeb0Sopenharmony_ci                </p>
9302f4aeb0Sopenharmony_ci            </dd>
9402f4aeb0Sopenharmony_ci            <dt>
9502f4aeb0Sopenharmony_ci              <span class="term">
9602f4aeb0Sopenharmony_ci                <em class="parameter">
9702f4aeb0Sopenharmony_ci                  <code>attrib_list</code>
9802f4aeb0Sopenharmony_ci                </em>
9902f4aeb0Sopenharmony_ci              </span>
10002f4aeb0Sopenharmony_ci            </dt>
10102f4aeb0Sopenharmony_ci            <dd>
10202f4aeb0Sopenharmony_ci              <p>
10302f4aeb0Sopenharmony_ci                    Specifies attributes and attribute values for the
10402f4aeb0Sopenharmony_ci                    context being created. Only the attribute
10502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONTEXT_CLIENT_VERSION</code> may
10602f4aeb0Sopenharmony_ci                    be specified.
10702f4aeb0Sopenharmony_ci                </p>
10802f4aeb0Sopenharmony_ci            </dd>
10902f4aeb0Sopenharmony_ci          </dl>
11002f4aeb0Sopenharmony_ci        </div>
11102f4aeb0Sopenharmony_ci      </div>
11202f4aeb0Sopenharmony_ci      <div class="refsect1" id="description">
11302f4aeb0Sopenharmony_ci        <h2>Description</h2>
11402f4aeb0Sopenharmony_ci        <p>
11502f4aeb0Sopenharmony_ci            <code class="function">eglCreateContext</code> creates an EGL
11602f4aeb0Sopenharmony_ci            rendering context for the current rendering API (as set with
11702f4aeb0Sopenharmony_ci            <code class="function">eglBindAPI</code>) and returns a handle to the
11802f4aeb0Sopenharmony_ci            context. The context can then be used to render into an EGL
11902f4aeb0Sopenharmony_ci            drawing surface. If <code class="function">eglCreateContext</code>
12002f4aeb0Sopenharmony_ci            fails to create a rendering context,
12102f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_CONTEXT</code> is returned.
12202f4aeb0Sopenharmony_ci        </p>
12302f4aeb0Sopenharmony_ci        <p>
12402f4aeb0Sopenharmony_ci            If <em class="parameter"><code>share_context</code></em> is not
12502f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_CONTEXT</code>, then all shareable data
12602f4aeb0Sopenharmony_ci            in the context (as defined by the client API specification
12702f4aeb0Sopenharmony_ci            for the current rendering API) are shared by context
12802f4aeb0Sopenharmony_ci            <em class="parameter"><code>share_context</code></em>, all other contexts
12902f4aeb0Sopenharmony_ci            <em class="parameter"><code>share_context</code></em> already shares with,
13002f4aeb0Sopenharmony_ci            and the newly created context. An arbitrary number of
13102f4aeb0Sopenharmony_ci            rendering contexts can share data. However, all rendering
13202f4aeb0Sopenharmony_ci            contexts that share data must themselves exist in the same
13302f4aeb0Sopenharmony_ci            address space. Two rendering contexts share an address space
13402f4aeb0Sopenharmony_ci            if both are owned by a single process.
13502f4aeb0Sopenharmony_ci        </p>
13602f4aeb0Sopenharmony_ci        <p>
13702f4aeb0Sopenharmony_ci            <em class="parameter"><code>attrib_list</code></em> specifies a list of
13802f4aeb0Sopenharmony_ci            attributes for the context. The list has the same structure
13902f4aeb0Sopenharmony_ci            as described for <code class="function">eglChooseConfig</code>. The
14002f4aeb0Sopenharmony_ci            attributes and attribute values which may be specified are
14102f4aeb0Sopenharmony_ci            as follows:
14202f4aeb0Sopenharmony_ci        </p>
14302f4aeb0Sopenharmony_ci        <div class="variablelist">
14402f4aeb0Sopenharmony_ci          <dl class="variablelist">
14502f4aeb0Sopenharmony_ci            <dt>
14602f4aeb0Sopenharmony_ci              <span class="term">
14702f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONTEXT_MAJOR_VERSION</code>
14802f4aeb0Sopenharmony_ci              </span>
14902f4aeb0Sopenharmony_ci            </dt>
15002f4aeb0Sopenharmony_ci            <dd>
15102f4aeb0Sopenharmony_ci              <p>
15202f4aeb0Sopenharmony_ci                    Must be followed by an integer specifying the requested
15302f4aeb0Sopenharmony_ci                    major version of an OpenGL or OpenGL ES context. The
15402f4aeb0Sopenharmony_ci                    default value is 1. This attribute is an alias of the
15502f4aeb0Sopenharmony_ci                    older <code class="constant">EGL_CONTEXT_CLIENT_VERSION</code>,
15602f4aeb0Sopenharmony_ci                    and the tokens may be used interchangeably.
15702f4aeb0Sopenharmony_ci                </p>
15802f4aeb0Sopenharmony_ci            </dd>
15902f4aeb0Sopenharmony_ci            <dt>
16002f4aeb0Sopenharmony_ci              <span class="term">
16102f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONTEXT_MINOR_VERSION</code>
16202f4aeb0Sopenharmony_ci              </span>
16302f4aeb0Sopenharmony_ci            </dt>
16402f4aeb0Sopenharmony_ci            <dd>
16502f4aeb0Sopenharmony_ci              <p>
16602f4aeb0Sopenharmony_ci                    Must be followed by an integer specifying the requested
16702f4aeb0Sopenharmony_ci                    minor version of an OpenGL or OpenGL ES context. The
16802f4aeb0Sopenharmony_ci                    default value is 0.
16902f4aeb0Sopenharmony_ci                </p>
17002f4aeb0Sopenharmony_ci            </dd>
17102f4aeb0Sopenharmony_ci            <dt>
17202f4aeb0Sopenharmony_ci              <span class="term">
17302f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONTEXT_OPENGL_PROFILE_MASK</code>
17402f4aeb0Sopenharmony_ci              </span>
17502f4aeb0Sopenharmony_ci            </dt>
17602f4aeb0Sopenharmony_ci            <dd>
17702f4aeb0Sopenharmony_ci              <p>
17802f4aeb0Sopenharmony_ci                    Must be followed by an integer bitmask specifying the
17902f4aeb0Sopenharmony_ci                    <em class="firstterm">profile</em> of an OpenGL context.
18002f4aeb0Sopenharmony_ci                    Bits which may be set include
18102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT</code>
18202f4aeb0Sopenharmony_ci                    for a core profile and
18302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT</code>
18402f4aeb0Sopenharmony_ci                    for a compatibility profile. The default value is
18502f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT</code>.
18602f4aeb0Sopenharmony_ci                    All OpenGL 3.2 and later implementations are required to
18702f4aeb0Sopenharmony_ci                    implement the core profile, but implementation of the
18802f4aeb0Sopenharmony_ci                    compatibility profile is optional.
18902f4aeb0Sopenharmony_ci                </p>
19002f4aeb0Sopenharmony_ci            </dd>
19102f4aeb0Sopenharmony_ci            <dt>
19202f4aeb0Sopenharmony_ci              <span class="term">
19302f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONTEXT_OPENGL_DEBUG</code>
19402f4aeb0Sopenharmony_ci              </span>
19502f4aeb0Sopenharmony_ci            </dt>
19602f4aeb0Sopenharmony_ci            <dd>
19702f4aeb0Sopenharmony_ci              <p>
19802f4aeb0Sopenharmony_ci                    Must be followed by <code class="constant">EGL_TRUE</code>,
19902f4aeb0Sopenharmony_ci                    specifying that an OpenGL or OpenGL ES <em class="firstterm">debug
20002f4aeb0Sopenharmony_ci                    context</em> should be created, or
20102f4aeb0Sopenharmony_ci                    <code class="constant">EGL_FALSE</code>, if a non-debug context
20202f4aeb0Sopenharmony_ci                    should be created. The default value is
20302f4aeb0Sopenharmony_ci                    <code class="constant">EGL_FALSE</code>.
20402f4aeb0Sopenharmony_ci                </p>
20502f4aeb0Sopenharmony_ci            </dd>
20602f4aeb0Sopenharmony_ci            <dt>
20702f4aeb0Sopenharmony_ci              <span class="term">
20802f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE</code>
20902f4aeb0Sopenharmony_ci              </span>
21002f4aeb0Sopenharmony_ci            </dt>
21102f4aeb0Sopenharmony_ci            <dd>
21202f4aeb0Sopenharmony_ci              <p>
21302f4aeb0Sopenharmony_ci                    Must be followed by <code class="constant">EGL_TRUE</code>,
21402f4aeb0Sopenharmony_ci                    specifying that a
21502f4aeb0Sopenharmony_ci                    <em class="firstterm">forward-compatible</em> OpenGL context
21602f4aeb0Sopenharmony_ci                    should be created, or <code class="constant">EGL_FALSE</code>, if
21702f4aeb0Sopenharmony_ci                    a non-forward-compatible context should be created. The
21802f4aeb0Sopenharmony_ci                    default value is <code class="constant">EGL_FALSE</code>.
21902f4aeb0Sopenharmony_ci                </p>
22002f4aeb0Sopenharmony_ci            </dd>
22102f4aeb0Sopenharmony_ci            <dt>
22202f4aeb0Sopenharmony_ci              <span class="term">
22302f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONTEXT_OPENGL_ROBUST_ACCESS</code>
22402f4aeb0Sopenharmony_ci              </span>
22502f4aeb0Sopenharmony_ci            </dt>
22602f4aeb0Sopenharmony_ci            <dd>
22702f4aeb0Sopenharmony_ci              <p>
22802f4aeb0Sopenharmony_ci                    Must be followed by <code class="constant">EGL_TRUE</code>,
22902f4aeb0Sopenharmony_ci                    specifying that an OpenGL or OpenGL ES context
23002f4aeb0Sopenharmony_ci                    supporting <em class="firstterm">robust buffer access</em>
23102f4aeb0Sopenharmony_ci                    should be created, or <code class="constant">EGL_FALSE</code>, if
23202f4aeb0Sopenharmony_ci                    a non-robust context should be created. The default
23302f4aeb0Sopenharmony_ci                    value is <code class="constant">EGL_FALSE</code>.
23402f4aeb0Sopenharmony_ci                </p>
23502f4aeb0Sopenharmony_ci            </dd>
23602f4aeb0Sopenharmony_ci            <dt>
23702f4aeb0Sopenharmony_ci              <span class="term">
23802f4aeb0Sopenharmony_ci                <code class="constant">EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY</code>
23902f4aeb0Sopenharmony_ci              </span>
24002f4aeb0Sopenharmony_ci            </dt>
24102f4aeb0Sopenharmony_ci            <dd>
24202f4aeb0Sopenharmony_ci              <p>
24302f4aeb0Sopenharmony_ci                    Must be followed by
24402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_LOSE_CONTEXT_ON_RESET</code>,
24502f4aeb0Sopenharmony_ci                    specifying that an OpenGL or OpenGL ES context with
24602f4aeb0Sopenharmony_ci                    reset notification behavior
24702f4aeb0Sopenharmony_ci                    <code class="constant">GL_LOSE_CONTEXT_ON_RESET_ARB</code> should
24802f4aeb0Sopenharmony_ci                    be created, or
24902f4aeb0Sopenharmony_ci                    <code class="constant">EGL_NO_RESET_NOTIFICATION</code>,
25002f4aeb0Sopenharmony_ci                    specifying that an OpenGL or OpenGL ES context with
25102f4aeb0Sopenharmony_ci                    reset notification behavior
25202f4aeb0Sopenharmony_ci                    <code class="constant">GL_NO_RESET_NOTIFICATION_ARB</code> should
25302f4aeb0Sopenharmony_ci                    be created, as described by the
25402f4aeb0Sopenharmony_ci                    <code class="constant">GL_ARB_robustness</code> extension.
25502f4aeb0Sopenharmony_ci                </p>
25602f4aeb0Sopenharmony_ci              <p>
25702f4aeb0Sopenharmony_ci                    If the
25802f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONTEXT_OPENGL_ROBUST_ACCESS</code>
25902f4aeb0Sopenharmony_ci                    attribute is not set to <code class="constant">EGL_TRUE</code>,
26002f4aeb0Sopenharmony_ci                    context creation will not fail, but the resulting
26102f4aeb0Sopenharmony_ci                    context may not support robust buffer access, and
26202f4aeb0Sopenharmony_ci                    therefore may not support the requested reset
26302f4aeb0Sopenharmony_ci                    notification strategy The default value for
26402f4aeb0Sopenharmony_ci                    <code class="constant">EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY</code>
26502f4aeb0Sopenharmony_ci                    is <code class="constant">EGL_NO_RESET_NOTIFICATION</code> .
26602f4aeb0Sopenharmony_ci                </p>
26702f4aeb0Sopenharmony_ci            </dd>
26802f4aeb0Sopenharmony_ci          </dl>
26902f4aeb0Sopenharmony_ci        </div>
27002f4aeb0Sopenharmony_ci        <p>
27102f4aeb0Sopenharmony_ci            There are many possible interactions between requested OpenGL
27202f4aeb0Sopenharmony_ci            and OpenGL ES context creation attributes, depending on the API
27302f4aeb0Sopenharmony_ci            versions and extensions supported by the implementation. These
27402f4aeb0Sopenharmony_ci            interactions are described in detail in the EGL 1.5
27502f4aeb0Sopenharmony_ci            Specification, but are not listed here for compactness. The
27602f4aeb0Sopenharmony_ci            requested attributes may not be able to be satisfied, but
27702f4aeb0Sopenharmony_ci            context creation may still succeed. Applications should ensure
27802f4aeb0Sopenharmony_ci            that the OpenGL or OpenGL ES contexts supports needed features
27902f4aeb0Sopenharmony_ci            before using them, by determining the actual context version,
28002f4aeb0Sopenharmony_ci            supported extensions, and supported context flags using runtime
28102f4aeb0Sopenharmony_ci            queries.
28202f4aeb0Sopenharmony_ci        </p>
28302f4aeb0Sopenharmony_ci      </div>
28402f4aeb0Sopenharmony_ci    </div>
28502f4aeb0Sopenharmony_ci    <footer/>
28602f4aeb0Sopenharmony_ci  </body>
28702f4aeb0Sopenharmony_ci</html>
288