]> git.tdb.fi Git - libs/gl.git/blob - gl.fixes.xml
d805cfbc4539405ce48b5851e95f52058383a2ae
[libs/gl.git] / gl.fixes.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <registry>
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. -->
6
7     <commands>
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. -->
10         <command>
11             <proto><name>glBindFramebufferEXT</name></proto>
12             <alias name="glBindFramebuffer" />
13         </command>
14         <command>
15             <proto><name>glBindRenderbufferEXT</name></proto>
16             <alias name="glBindRenderbuffer" />
17         </command>
18
19         <!-- ARB_shader_objects function names got changed when promoted to
20         core. -->
21         <command>
22             <proto><name>glDeleteObjectARB</name></proto>
23             <alias name="glDeleteShader" />
24             <alias name="glDeleteProgram" />
25         </command>
26         <command>
27             <proto><name>glGetInfoLogARB</name></proto>
28             <alias name="glGetShaderInfoLog" />
29             <alias name="glGetProgramInfoLog" />
30         </command>
31         <command>
32             <proto><name>glGetObjectParameterivARB</name></proto>
33             <alias name="glGetShaderiv" />
34             <alias name="glGetProgramiv" />
35         </command>
36
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. -->
40         <command>
41             <proto><name>glGetAttachedObjectsARB</name></proto>
42             <alias name="glGetAttachedShaders" />
43         </command>
44     </commands>
45
46     <enums>
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"/>
52     </enums>
53
54     <feature api="gl" name="MSPGL">
55         <require>
56             <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS" />
57             <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
58         </require>
59     </feature>
60
61     <feature api="gles2" name="MSPGLES">
62         <require>
63             <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
64         </require>
65     </feature>
66
67     <feature name="MSPGL_REMOVE">
68         <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" />
76
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" />
80         </remove>
81     </feature>
82
83     <extensions>
84         <!-- Some functions mentioned in ARB_uniform_buffer_object
85         specification are missing from gl.xml. -->
86         <extension name="GL_ARB_uniform_buffer_object" supported="gl|glcore">
87             <require>
88                 <command name="glBindBufferRange" />
89                 <command name="glBindBufferBase" />
90             </require>
91         </extension>
92
93         <!-- Put GL_RED here for the benefit of OpenGL ES. -->
94         <extension name="GL_ARB_texture_rg" supported="gl|glcore">
95             <require>
96                 <enum name="GL_RED" />
97             </require>
98         </extension>
99
100         <extension name="GL_MSP_legacy_features" supported="gl">
101             <require>
102                 <command name="glEnableClientState" />
103                 <command name="glDisableClientState" />
104
105                 <enum name="GL_QUADS" />
106                 <enum name="GL_QUAD_STRIP" />
107                 <enum name="GL_LUMINANCE8" />
108                 <enum name="GL_LUMINANCE8_ALPHA8" />
109
110                 <enum name="GL_AMBIENT" />
111                 <enum name="GL_DIFFUSE" />
112                 <enum name="GL_SPECULAR" />
113                 <enum name="GL_EMISSION" />
114                 <enum name="GL_SHININESS" />
115                 <enum name="GL_LIGHTING" />
116                 <enum name="GL_LIGHT_MODEL_AMBIENT" />
117                 <enum name="GL_LIGHT0" />
118                 <enum name="GL_MAX_LIGHTS" />
119                 <enum name="GL_POSITION" />
120                 <enum name="GL_SPOT_DIRECTION" />
121                 <enum name="GL_SPOT_EXPONENT" />
122                 <enum name="GL_SPOT_CUTOFF" />
123                 <enum name="GL_CONSTANT_ATTENUATION" />
124                 <enum name="GL_LINEAR_ATTENUATION" />
125                 <enum name="GL_QUADRATIC_ATTENUATION" />
126                 <command name="glLightModelfv" />
127                 <command name="glLightf" />
128                 <command name="glLightfv" />
129                 <command name="glMaterialf" />
130                 <command name="glMaterialfv" />
131
132                 <enum name="GL_MODELVIEW" />
133                 <enum name="GL_PROJECTION" />
134                 <command name="glMatrixMode" />
135                 <command name="glLoadMatrixf" />
136
137                 <!-- Can't reuse EXT_vertex_array for these, as the functions
138                 defined there have different signatures. -->
139                 <enum name="GL_VERTEX_ARRAY" />
140                 <enum name="GL_NORMAL_ARRAY" />
141                 <enum name="GL_COLOR_ARRAY" />
142                 <enum name="GL_TEXTURE_COORD_ARRAY" />
143                 <command name="glVertexPointer" />
144                 <command name="glNormalPointer" />
145                 <command name="glColorPointer" />
146                 <command name="glTexCoordPointer" />
147             </require>
148         </extension>
149
150         <!-- OpenGL ES does not have glDrawBuffer. -->
151         <extension name="GL_MSP_draw_buffer" supported="gl">
152             <require>
153                 <command name="glDrawBuffer" />
154                 <command name="glReadBuffer" />
155             </require>
156         </extension>
157
158         <!-- Stereo rendering is not supported on OpenGL ES, but I'm not
159         certain enough of its uselessness to remove the constants outright. -->
160         <extension name="GL_MSP_stereo_rendering" supported="gl">
161             <require>
162                 <enum name="GL_FRONT_LEFT" />
163                 <enum name="GL_FRONT_RIGHT" />
164                 <enum name="GL_BACK_LEFT" />
165                 <enum name="GL_BACK_RIGHT" />
166                 <enum name="GL_LEFT" />
167                 <enum name="GL_RIGHT" />
168             </require>
169         </extension>
170
171         <!-- Sized internal formats were introduced in OpenGL ES 3.0, but are
172         not available as an extension. -->
173         <extension name="GL_MSP_sized_internal_formats" supported="gl|gles2">
174             <require>
175                 <enum name="GL_RGB8" />
176                 <enum name="GL_RGBA8" />
177             </require>
178         </extension>
179
180         <!-- 1D textures are not available in OpenGL ES, but could conceivably
181         be added at a later date. -->
182         <extension name="GL_MSP_texture1D" supported="gl">
183             <require>
184                 <command name="glTexImage1D" />
185                 <enum name="GL_TEXTURE_1D" />
186             </require>
187         </extension>
188     </extensions>
189 </registry>