• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    EXT_create_context_es_profile
4    EXT_create_context_es2_profile
5
6Name Strings
7
8    GLX_EXT_create_context_es_profile
9    GLX_EXT_create_context_es2_profile
10
11    NOTE: implementations of this extension must export BOTH extension
12    strings, for backwards compatibility with applications written
13    against version 1 of this extension.
14
15Contact
16
17    Jon Leech (jon 'at' alumni.caltech.edu)
18    Piers Daniell (pdaniell 'at' nvidia.com)
19
20IP Status
21
22    No known IP claims.
23
24Status
25
26    Complete.
27
28Version
29
30    Version 4, April 6, 2012
31
32Number
33
34    399
35
36Dependencies
37
38    GLX 1.4 is required.
39
40    GLX_ARB_create_context is required.
41
42    GLX_ARB_create_context_profile is required.
43
44    An OpenGL ES implementation is required.
45
46Overview
47
48    This extension allows creating an OpenGL ES context.
49
50New Procedures and Functions
51
52    None
53
54New Tokens
55
56    Accepted as a bit in the attribute value for
57    GLX_CONTEXT_PROFILE_MASK_ARB in <*attrib_list>:
58
59	GLX_CONTEXT_ES_PROFILE_BIT_EXT		0x00000004
60	GLX_CONTEXT_ES2_PROFILE_BIT_EXT		0x00000004
61
62Additions to the OpenGL / WGL Specifications
63
64    None. This specification is written for GLX.
65
66Additions to the GLX 1.4 Specification
67
68    This extension modifies language specified in the
69    GLX_ARB_create_context and GLX_ARB_create_context_profile
70    extensions.
71
72    In the description of glXCreateContextAttribsARB, replace the
73    sentence
74
75   "... If a version less than or equal to 3.0 is requested, the context
76    returned may implement any of the following versions:"
77
78    with
79
80   "... If the version requested is a valid and supported OpenGL-ES version,
81    and the GLX_CONTEXT_ES_PROFILE_BIT_EXT bit is set in the
82    GLX_CONTEXT_PROFILE_MASK_ARB attribute (see below), then the context
83    returned will implement the OpenGL ES version requested.
84
85    Otherwise, if a version less than or equal to 3.0 is requested, the
86    context returned may implement any of the following versions:"
87
88
89    Replace the sentence
90
91   "... If the requested OpenGL version is less than 3.2,
92    GLX_CONTEXT_PROFILE_MASK_ARB is ignored and the functionality of the
93    context is determined solely by the requested version."
94
95    with
96
97   "... If the GLX_CONTEXT_ES_PROFILE_BIT_EXT bit is set, and the
98    requested version is a valid and supported OpenGL-ES implementation,
99    then a context implementing that OpenGL ES version is returned;
100    otherwise, if the requested OpenGL version is less than
101    3.2, GLX_CONTEXT_PROFILE_MASK_ARB is ignored and the functionality
102    of the context is determined solely by the requested version."
103
104
105    Add prior to the sentence
106
107   "The attribute name GLX_CONTEXT_FLAGS_ARB specifies a set of flag
108    bits affecting the rendering context.":
109
110   "If an OpenGL ES profile is requested, then the context returned
111    cannot implement additional functionality, including functionality
112    defined only by the core or compatibility profiles, unless such
113    functionality is defined by extensions that are themselves specified
114    relative to that specific OpenGL ES version[*].
115	[*] Such functionality should have a corresponding extension
116	specification in the OpenGL ES Registry. In some
117	implementations, vendor extensions defined relative to the OpenGL ES
118	version, but not yet added to the OpenGL ES Registry, may also be
119	supported."
120
121    Replace the bullet point starting "* If attribute
122    GLX_CONTEXT_PROFILE_MASK_ARB has no bits set;..." with
123
124 "* If attribute GLX_CONTEXT_PROFILE_MASK_ARB has no bits set; has any
125    bits set other than GLX_CONTEXT_CORE_PROFILE_BIT_ARB,
126    GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB, or
127    GLX_CONTEXT_ES_PROFILE_BIT_EXT; has more than one of these bits
128    set; or if the implementation does not supported the requested
129    profile, then GLXBadProfileARB is generated."
130
131GLX Errors
132
133    None
134
135GLX Protocol
136
137    None
138
139Errors
140
141    GLXBadProfileARB is generated if the value of
142    GLX_CONTEXT_PROFILE_MASK_ARB contains more than a single valid
143    profile bit.
144
145New State
146
147    None
148
149New Implementation Dependent State
150
151    None
152
153Conformance Tests
154
155    TBD
156
157Sample Code
158
159    TBD
160
161Issues
162
163    All non-window-system dependent issues described in the
164    WGL_EXT_create_context_es_profile extension specification apply
165    equally to this extension.
166
167Revision History
168
169    Version 4, 2012/04/06 - Specify that both name strings must be
170	exported for backwards compatibility. Restore GLXBadProfileARB
171	error that was mistakenly changed in version 3.
172
173    Version 3, 2012/03/28 - Add support for any OpenGL-ES version, not
174	just version 2.0. Alias GLX_CONTEXT_ES2_PROFILE_BIT_EXT with
175	GLX_CONTEXT_ES_PROFILE_BIT_EXT and the extension name
176	GLX_EXT_create_context_es2_profile with
177	GLX_EXT_create_context_es_profile.
178
179    Version 2, 2010/08/04 - Fix typos and assign extension number.
180
181    Version 1, 2010/05/18 - Recast the OpenGL ES 2.0 "profile" mechanism
182    into a separate EXT layered on the ARB profiled context creation
183    mechanism.
184