| <?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> |