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