1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- The gl.xml file does not contain enough information to make all the
4 connections between extension and core functions correctly. This file
5 attempts to rectify these problems. -->
8 <!-- The EXT versions allow user-generated names; core versions don't.
9 Since we use GL-generated names, it's safe to alias them. -->
11 <proto><name>glBindFramebufferEXT</name></proto>
12 <alias name="glBindFramebuffer" />
15 <proto><name>glBindRenderbufferEXT</name></proto>
16 <alias name="glBindRenderbuffer" />
19 <!-- ARB_shader_objects function names got changed when promoted to
22 <proto><name>glDeleteObjectARB</name></proto>
23 <alias name="glDeleteShader" />
24 <alias name="glDeleteProgram" />
27 <proto><name>glGetInfoLogARB</name></proto>
28 <alias name="glGetShaderInfoLog" />
29 <alias name="glGetProgramInfoLog" />
32 <proto><name>glGetObjectParameterivARB</name></proto>
33 <alias name="glGetShaderiv" />
34 <alias name="glGetProgramiv" />
37 <!-- This alias is missing because the ARB version returns GLhandleARB,
38 which is typedef'd as a pointer on OS X. It could cause problems on
39 64-bit macs with shaders only available through the extension. -->
41 <proto><name>glGetAttachedObjectsARB</name></proto>
42 <alias name="glGetAttachedShaders" />
47 <!-- These error codes weren't promoted to core with the rest of
48 EXT_framebuffer_object. There's no harm in taking them in since
49 they're not passed to GL at any point. -->
50 <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
51 <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS"/>
54 <feature api="gl" name="MSPGL">
56 <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS" />
57 <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
61 <feature api="gles2" name="MSPGLES">
63 <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
67 <feature name="MSPGL_REMOVE">
69 <!-- These have no counterparts in the core version of
70 ARB_shader_objects. -->
71 <command name="glGetHandleARB" />
72 <command name="glGetObjectParameterfvARB" />
73 <enum name="GL_PROGRAM_OBJECT_ARB" />
74 <enum name="GL_SHADER_OBJECT_ARB" />
75 <enum name="GL_OBJECT_TYPE_ARB" />
77 <!-- Ignore this, as it comes from ARB_vertex_program and I'm not
78 sure if it works with ARB_shader_objects. -->
79 <command name="glIsProgramARB" />
81 <!-- This was never promoted from ARB_geometry_shader4. -->
82 <command name="glFramebufferTextureFaceARB" />
87 <!-- Some functions mentioned in ARB_uniform_buffer_object
88 specification are missing from gl.xml. -->
89 <extension name="GL_ARB_uniform_buffer_object" supported="gl|glcore">
91 <command name="glBindBufferRange" />
92 <command name="glBindBufferBase" />
96 <!-- Put GL_RED here for the benefit of OpenGL ES. -->
97 <extension name="GL_ARB_texture_rg" supported="gl|glcore">
99 <enum name="GL_RED" />
103 <extension name="GL_MSP_legacy_features" supported="gl">
105 <command name="glEnableClientState" />
106 <command name="glDisableClientState" />
108 <enum name="GL_QUADS" />
109 <enum name="GL_QUAD_STRIP" />
110 <enum name="GL_LUMINANCE8" />
111 <enum name="GL_LUMINANCE8_ALPHA8" />
113 <enum name="GL_AMBIENT" />
114 <enum name="GL_DIFFUSE" />
115 <enum name="GL_SPECULAR" />
116 <enum name="GL_EMISSION" />
117 <enum name="GL_SHININESS" />
118 <enum name="GL_LIGHTING" />
119 <enum name="GL_LIGHT_MODEL_AMBIENT" />
120 <enum name="GL_LIGHT0" />
121 <enum name="GL_MAX_LIGHTS" />
122 <enum name="GL_POSITION" />
123 <enum name="GL_SPOT_DIRECTION" />
124 <enum name="GL_SPOT_EXPONENT" />
125 <enum name="GL_SPOT_CUTOFF" />
126 <enum name="GL_CONSTANT_ATTENUATION" />
127 <enum name="GL_LINEAR_ATTENUATION" />
128 <enum name="GL_QUADRATIC_ATTENUATION" />
129 <command name="glLightModelfv" />
130 <command name="glLightf" />
131 <command name="glLightfv" />
132 <command name="glMaterialf" />
133 <command name="glMaterialfv" />
135 <enum name="GL_FOG" />
136 <enum name="GL_FOG_MODE" />
137 <enum name="GL_FOG_DENSITY" />
138 <enum name="GL_FOG_COLOR" />
139 <enum name="GL_EXP" />
140 <command name="glFogi" />
141 <command name="glFogf" />
142 <command name="glFogfv" />
144 <enum name="GL_MODELVIEW" />
145 <enum name="GL_PROJECTION" />
146 <command name="glMatrixMode" />
147 <command name="glLoadMatrixf" />
149 <!-- Can't reuse EXT_vertex_array for these, as the functions
150 defined there have different signatures. -->
151 <enum name="GL_VERTEX_ARRAY" />
152 <enum name="GL_NORMAL_ARRAY" />
153 <enum name="GL_COLOR_ARRAY" />
154 <enum name="GL_TEXTURE_COORD_ARRAY" />
155 <command name="glVertexPointer" />
156 <command name="glNormalPointer" />
157 <command name="glColorPointer" />
158 <command name="glTexCoordPointer" />
160 <command name="glClipPlane" />
164 <!-- OpenGL ES does not have glDrawBuffer. -->
165 <extension name="GL_MSP_draw_buffer" supported="gl">
167 <command name="glDrawBuffer" />
168 <command name="glReadBuffer" />
172 <!-- OpenGL ES does not have harwdare clipping. -->
173 <extension name="GL_MSP_clipping" supported="gl">
175 <enum name="GL_MAX_CLIP_PLANES" />
176 <enum name="GL_CLIP_PLANE0" />
177 <enum name="GL_CLIP_PLANE1" />
178 <enum name="GL_CLIP_PLANE2" />
179 <enum name="GL_CLIP_PLANE3" />
180 <enum name="GL_CLIP_PLANE4" />
181 <enum name="GL_CLIP_PLANE5" />
185 <!-- Stereo rendering is not supported on OpenGL ES, but I'm not
186 certain enough of its uselessness to remove the constants outright. -->
187 <extension name="GL_MSP_stereo_rendering" supported="gl">
189 <enum name="GL_FRONT_LEFT" />
190 <enum name="GL_FRONT_RIGHT" />
191 <enum name="GL_BACK_LEFT" />
192 <enum name="GL_BACK_RIGHT" />
193 <enum name="GL_LEFT" />
194 <enum name="GL_RIGHT" />
198 <!-- Sized internal formats were introduced in OpenGL ES 3.0, but are
199 not available as an extension. -->
200 <extension name="GL_MSP_sized_internal_formats" supported="gl|gles2">
202 <enum name="GL_RGB8" />
203 <enum name="GL_RGBA8" />
207 <!-- 1D textures are not available in OpenGL ES, but could conceivably
208 be added at a later date. -->
209 <extension name="GL_MSP_texture1D" supported="gl">
211 <command name="glTexImage1D" />
212 <enum name="GL_TEXTURE_1D" />
216 <!-- The core version of primitive restart has different semantics
217 from the NV extension but is not available as a backport extension. -->
218 <extension name="GL_MSP_primitive_restart" supported="gl">
220 <enum name="GL_PRIMITIVE_RESTART" />
221 <enum name="GL_PRIMITIVE_RESTART_INDEX" />
222 <command name="glPrimitiveRestartIndex" />