| <?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.78.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_CLIENT_VERSION</code> |
| </span> |
| </dt> |
| <dd> |
| <p> |
| Must be followed by an integer that determines which |
| version of an OpenGL ES context to create. A value |
| of 1 specifies creation of an OpenGL ES 1.x context. |
| An attribute value of 2 specifies creation of an |
| OpenGL ES 2.x context. The default value is 1. This |
| attribute can only be specified when creating a |
| OpenGL ES context (e.g. when the current rendering |
| API is <code class="constant">EGL_OPENGL_ES_API</code>). |
| </p> |
| </dd> |
| </dl> |
| </div> |
| </div> |
| <div class="refsect1" id="notes"> |
| <h2>Notes</h2> |
| <p> |
| The current rendering API is only respected if the EGL |
| version is 1.2 or greater. Otherwise, an OpenGL ES context |
| will always be created. |
| </p> |
| <p> |
| The <code class="constant">EGL_CONTEXT_CLIENT_VERSION</code> |
| attribute is only supported if the EGL version is 1.3 or |
| greater. |
| </p> |
| <p> |
| A <em class="firstterm">process</em> is a single execution environment, |
| implemented in a single address space, consisting of one or more threads. |
| </p> |
| <p> |
| A <em class="firstterm">thread</em> is one of a set of subprocesses that |
| share a single address space, but maintain separate program counters, |
| stack spaces, and other related global data. |
| A thread is the only member of its subprocess group is equivalent to a |
| process. |
| </p> |
| </div> |
| <div class="refsect1" id="errors"> |
| <h2>Errors</h2> |
| <p> |
| <code class="constant">EGL_NO_CONTEXT</code> is returned if creation of |
| the context fails. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_MATCH</code> is generated if the |
| current rendering API is <code class="constant">EGL_NONE</code> (this |
| can only arise in an EGL implementation which does not |
| support OpenGL ES, prior to the first call to |
| <code class="function">eglBindAPI</code>). |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_MATCH</code> is generated if the |
| server context state for |
| <em class="parameter"><code>share_context</code></em> exists in an address |
| space which cannot be shared with the newly created context, |
| if <em class="parameter"><code>share_context</code></em> was created on a |
| different display than the one referenced by |
| <em class="parameter"><code>config</code></em>, or if the contexts are |
| otherwise incompatible. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_DISPLAY</code> is generated if |
| <em class="parameter"><code>display</code></em> is not an EGL display connection. |
| </p> |
| <p> |
| <code class="constant">EGL_NOT_INITIALIZED</code> is generated if |
| <em class="parameter"><code>display</code></em> has not been initialized. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_CONFIG</code> is generated if |
| <em class="parameter"><code>config</code></em> is not an EGL frame buffer |
| configuration, or does not support the current rendering |
| API. This includes requesting creation of an OpenGL ES 1.x |
| context when the <code class="constant">EGL_RENDERABLE_TYPE</code> |
| attribute of <em class="parameter"><code>config</code></em> does not contain |
| <code class="constant">EGL_OPENGL_ES_BIT</code>, or creation of an |
| OpenGL ES 2.x context when the attribute does not contain |
| <code class="constant">EGL_OPENGL_ES2_BIT</code>. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_CONTEXT</code> is generated if |
| <em class="parameter"><code>share_context</code></em> is not an EGL rendering |
| context of the same client API type as the newly created |
| context and is not <code class="constant">EGL_NO_CONTEXT</code>. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if |
| <em class="parameter"><code>attrib_list</code></em> contains an invalid |
| context attribute or if an attribute is not recognized or |
| out of range. Note that attribute |
| <code class="constant">EGL_CONTEXT_CLIENT_VERSION</code> is |
| only valid when the current rendering API is |
| <code class="constant">EGL_OPENGL_ES_API</code>. |
| </p> |
| <p> |
| <code class="constant">EGL_BAD_ALLOC</code> is generated if there are not |
| enough resources to allocate the new context. |
| </p> |
| </div> |
| <div class="refsect1" id="seealso"> |
| <h2>See Also</h2> |
| <p> |
| <a class="citerefentry" href="eglDestroyContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglDestroyContext</span></span></a>, |
| <a class="citerefentry" href="eglChooseConfig.xhtml"><span class="citerefentry"><span class="refentrytitle">eglChooseConfig</span></span></a>, |
| <a class="citerefentry" href="eglGetConfigs.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>, |
| <a class="citerefentry" href="eglMakeCurrent.xhtml"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a> |
| </p> |
| </div> |
| <p> |
| </p> |
| <div class="refsect3" id="copyright"> |
| <img src="KhronosLogo.jpg"/> |
| <p> |
| Copyright © 2003-2014 The Khronos Group Inc. |
| Permission is hereby granted, free of charge, to any person obtaining a |
| copy of this software and/or associated documentation files (the |
| "Materials"), to deal in the Materials without restriction, including |
| without limitation the rights to use, copy, modify, merge, publish, |
| distribute, sublicense, and/or sell copies of the Materials, and to |
| permit persons to whom the Materials are furnished to do so, subject to |
| the condition that this copyright notice and permission notice shall be included |
| in all copies or substantial portions of the Materials. |
| </p> |
| </div> |
| <p> |
| </p> |
| </div> |
| <footer/> |
| </body> |
| </html> |