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