| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> | |
| <head> | |
| <title xmlns:xlink="http://www.w3.org/1999/xlink">eglCreateContext - EGL Reference Pages</title> | |
| <link rel="stylesheet" type="text/css" href="khronos-man.css"/> | |
| <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/> | |
| </head> | |
| <body> | |
| <header/> | |
| <div class="refentry" id="eglCreateContext"> | |
| <div class="titlepage"/> | |
| <div class="refnamediv"> | |
| <h2>Name</h2> | |
| <p>eglCreateContext — | |
| create a new <abbr class="acronym">EGL</abbr> rendering context | |
| </p> | |
| </div> | |
| <div class="refsynopsisdiv"> | |
| <h2>C Specification</h2> | |
| <div class="funcsynopsis"> | |
| <table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table"> | |
| <tr> | |
| <td> | |
| <code class="funcdef">EGLContext <strong class="fsfunc">eglCreateContext</strong>(</code> | |
| </td> | |
| <td>EGLDisplay <var class="pdparam">display</var>, </td> | |
| </tr> | |
| <tr> | |
| <td> </td> | |
| <td>EGLConfig <var class="pdparam">config</var>, </td> | |
| </tr> | |
| <tr> | |
| <td> </td> | |
| <td>EGLContext <var class="pdparam">share_context</var>, </td> | |
| </tr> | |
| <tr> | |
| <td> </td> | |
| <td>EGLint const * <var class="pdparam">attrib_list</var><code>)</code>;</td> | |
| </tr> | |
| </table> | |
| <div class="funcprototype-spacer"> </div> | |
| </div> | |
| </div> | |
| <div class="refsect1" id="parameters"> | |
| <h2>Parameters</h2> | |
| <div class="variablelist"> | |
| <dl class="variablelist"> | |
| <dt> | |
| <span class="term"> | |
| <em class="parameter"> | |
| <code>display</code> | |
| </em> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the | |
| <abbr class="acronym">EGL</abbr> | |
| display connection. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <em class="parameter"> | |
| <code>config</code> | |
| </em> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p>Specifies the EGL frame buffer configuration that | |
| defines the frame buffer resource available to the rendering context. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <em class="parameter"> | |
| <code>share_context</code> | |
| </em> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies another | |
| <abbr class="acronym">EGL</abbr> | |
| rendering context with which to share data, as | |
| defined by the client API corresponding to the | |
| contexts. Data is also shared with all other | |
| contexts with which | |
| <em class="parameter"><code>share_context</code></em> shares data. | |
| <code class="constant">EGL_NO_CONTEXT</code> indicates that | |
| no sharing is to take place. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <em class="parameter"> | |
| <code>attrib_list</code> | |
| </em> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies attributes and attribute values for the | |
| context being created. Only the attribute | |
| <code class="constant">EGL_CONTEXT_CLIENT_VERSION</code> may | |
| be specified. | |
| </p> | |
| </dd> | |
| </dl> | |
| </div> | |
| </div> | |
| <div class="refsect1" id="description"> | |
| <h2>Description</h2> | |
| <p> | |
| <code class="function">eglCreateContext</code> creates an EGL | |
| rendering context for the current rendering API (as set with | |
| <code class="function">eglBindAPI</code>) and returns a handle to the | |
| context. The context can then be used to render into an EGL | |
| drawing surface. If <code class="function">eglCreateContext</code> | |
| fails to create a rendering context, | |
| <code class="constant">EGL_NO_CONTEXT</code> is returned. | |
| </p> | |
| <p> | |
| If <em class="parameter"><code>share_context</code></em> is not | |
| <code class="constant">EGL_NO_CONTEXT</code>, then all shareable data | |
| in the context (as defined by the client API specification | |
| for the current rendering API) are shared by context | |
| <em class="parameter"><code>share_context</code></em>, all other contexts | |
| <em class="parameter"><code>share_context</code></em> already shares with, | |
| and the newly created context. An arbitrary number of | |
| rendering contexts can share data. However, all rendering | |
| contexts that share data must themselves exist in the same | |
| address space. Two rendering contexts share an address space | |
| if both are owned by a single process. | |
| </p> | |
| <p> | |
| <em class="parameter"><code>attrib_list</code></em> specifies a list of | |
| attributes for the context. The list has the same structure | |
| as described for <code class="function">eglChooseConfig</code>. The | |
| attributes and attribute values which may be specified are | |
| as follows: | |
| </p> | |
| <div class="variablelist"> | |
| <dl class="variablelist"> | |
| <dt> | |
| <span class="term"> | |
| <code class="constant">EGL_CONTEXT_MAJOR_VERSION</code> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Must be followed by an integer specifying the requested | |
| major version of an OpenGL or OpenGL ES context. The | |
| default value is 1. This attribute is an alias of the | |
| older <code class="constant">EGL_CONTEXT_CLIENT_VERSION</code>, | |
| and the tokens may be used interchangeably. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <code class="constant">EGL_CONTEXT_MINOR_VERSION</code> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Must be followed by an integer specifying the requested | |
| minor version of an OpenGL or OpenGL ES context. The | |
| default value is 0. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <code class="constant">EGL_CONTEXT_OPENGL_PROFILE_MASK</code> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Must be followed by an integer bitmask specifying the | |
| <em class="firstterm">profile</em> of an OpenGL context. | |
| Bits which may be set include | |
| <code class="constant">EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT</code> | |
| for a core profile and | |
| <code class="constant">EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT</code> | |
| for a compatibility profile. The default value is | |
| <code class="constant">EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT</code>. | |
| All OpenGL 3.2 and later implementations are required to | |
| implement the core profile, but implementation of the | |
| compatibility profile is optional. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <code class="constant">EGL_CONTEXT_OPENGL_DEBUG</code> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Must be followed by <code class="constant">EGL_TRUE</code>, | |
| specifying that an OpenGL or OpenGL ES <em class="firstterm">debug | |
| context</em> should be created, or | |
| <code class="constant">EGL_FALSE</code>, if a non-debug context | |
| should be created. The default value is | |
| <code class="constant">EGL_FALSE</code>. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <code class="constant">EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE</code> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Must be followed by <code class="constant">EGL_TRUE</code>, | |
| specifying that a | |
| <em class="firstterm">forward-compatible</em> OpenGL context | |
| should be created, or <code class="constant">EGL_FALSE</code>, if | |
| a non-forward-compatible context should be created. The | |
| default value is <code class="constant">EGL_FALSE</code>. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <code class="constant">EGL_CONTEXT_OPENGL_ROBUST_ACCESS</code> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Must be followed by <code class="constant">EGL_TRUE</code>, | |
| specifying that an OpenGL or OpenGL ES context | |
| supporting <em class="firstterm">robust buffer access</em> | |
| should be created, or <code class="constant">EGL_FALSE</code>, if | |
| a non-robust context should be created. The default | |
| value is <code class="constant">EGL_FALSE</code>. | |
| </p> | |
| </dd> | |
| <dt> | |
| <span class="term"> | |
| <code class="constant">EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY</code> | |
| </span> | |
| </dt> | |
| <dd> | |
| <p> | |
| Must be followed by | |
| <code class="constant">EGL_LOSE_CONTEXT_ON_RESET</code>, | |
| specifying that an OpenGL or OpenGL ES context with | |
| reset notification behavior | |
| <code class="constant">GL_LOSE_CONTEXT_ON_RESET_ARB</code> should | |
| be created, or | |
| <code class="constant">EGL_NO_RESET_NOTIFICATION</code>, | |
| specifying that an OpenGL or OpenGL ES context with | |
| reset notification behavior | |
| <code class="constant">GL_NO_RESET_NOTIFICATION_ARB</code> should | |
| be created, as described by the | |
| <code class="constant">GL_ARB_robustness</code> extension. | |
| </p> | |
| <p> | |
| If the | |
| <code class="constant">EGL_CONTEXT_OPENGL_ROBUST_ACCESS</code> | |
| attribute is not set to <code class="constant">EGL_TRUE</code>, | |
| context creation will not fail, but the resulting | |
| context may not support robust buffer access, and | |
| therefore may not support the requested reset | |
| notification strategy The default value for | |
| <code class="constant">EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY</code> | |
| is <code class="constant">EGL_NO_RESET_NOTIFICATION</code> . | |
| </p> | |
| </dd> | |
| </dl> | |
| </div> | |
| <p> | |
| There are many possible interactions between requested OpenGL | |
| and OpenGL ES context creation attributes, depending on the API | |
| versions and extensions supported by the implementation. These | |
| interactions are described in detail in the EGL 1.5 | |
| Specification, but are not listed here for compactness. The | |
| requested attributes may not be able to be satisfied, but | |
| context creation may still succeed. Applications should ensure | |
| that the OpenGL or OpenGL ES contexts supports needed features | |
| before using them, by determining the actual context version, | |
| supported extensions, and supported context flags using runtime | |
| queries. | |
| </p> | |
| </div> | |
| </div> | |
| <footer/> | |
| </body> | |
| </html> |