]> git.tdb.fi Git - libs/gl.git/blobdiff - gl.fixes.xml
Require import module names to be identifiers
[libs/gl.git] / gl.fixes.xml
index 8edc3731bea7baeb3c4ee77af3859cc3a715136b..8b84a4fb963725468e331f2c836c11f8b34c5951 100644 (file)
@@ -9,29 +9,30 @@
         Since we use GL-generated names, it's safe to alias them. -->
         <command>
             <proto><name>glBindFramebufferEXT</name></proto>
-            <alias name="glBindFramebuffer" />
+            <alias name="glBindFramebuffer"/>
         </command>
         <command>
             <proto><name>glBindRenderbufferEXT</name></proto>
-            <alias name="glBindRenderbuffer" />
+            <alias name="glBindRenderbuffer"/>
         </command>
 
         <!-- ARB_shader_objects function names got changed when promoted to
-        core. -->
+        core.  The ARB versions can be used to operate on either shaders or
+        programs, but we use the core names so this is safe. -->
         <command>
             <proto><name>glDeleteObjectARB</name></proto>
-            <alias name="glDeleteShader" />
-            <alias name="glDeleteProgram" />
+            <alias name="glDeleteShader"/>
+            <alias name="glDeleteProgram"/>
         </command>
         <command>
             <proto><name>glGetInfoLogARB</name></proto>
-            <alias name="glGetShaderInfoLog" />
-            <alias name="glGetProgramInfoLog" />
+            <alias name="glGetShaderInfoLog"/>
+            <alias name="glGetProgramInfoLog"/>
         </command>
         <command>
             <proto><name>glGetObjectParameterivARB</name></proto>
-            <alias name="glGetShaderiv" />
-            <alias name="glGetProgramiv" />
+            <alias name="glGetShaderiv"/>
+            <alias name="glGetProgramiv"/>
         </command>
 
         <!-- This alias is missing because the ARB version returns GLhandleARB,
         64-bit macs with shaders only available through the extension. -->
         <command>
             <proto><name>glGetAttachedObjectsARB</name></proto>
-            <alias name="glGetAttachedShaders" />
+            <alias name="glGetAttachedShaders"/>
+        </command>
+
+        <!-- The APPLE version allows user-generated names. -->
+        <command>
+            <proto><name>glBindVertexArrayAPPLE</name></proto>
+            <alias name="glBindVertexArray"/>
         </command>
     </commands>
 
     <enums>
-        <!-- These error codes weren't promoted to core with the rest of
-        EXT_framebuffer_object.  There's no harm in taking them in since
-        they're not passed to GL at any point. -->
-        <enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
-        <enum value="0x8CDA" name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS"/>
+        <!-- ARB_shader_objects enum names got changed when promoted to core. -->
+        <enum value="0x8B80" name="GL_OBJECT_DELETE_STATUS_ARB" alias="GL_DELETE_STATUS"/>
+        <enum value="0x8B81" name="GL_OBJECT_COMPILE_STATUS_ARB" alias="GL_COMPILE_STATUS"/>
+        <enum value="0x8B82" name="GL_OBJECT_LINK_STATUS_ARB" alias="GL_LINK_STATUS"/>
+        <enum value="0x8B83" name="GL_OBJECT_VALIDATE_STATUS_ARB" alias="GL_VALIDATE_STATUS"/>
+        <enum value="0x8B84" name="GL_OBJECT_INFO_LOG_LENGTH_ARB" alias="GL_INFO_LOG_LENGTH"/>
+        <enum value="0x8B85" name="GL_OBJECT_ATTACHED_OBJECTS_ARB" alias="GL_ATTACHED_SHADERS"/>
+        <enum value="0x8B86" name="GL_OBJECT_ACTIVE_UNIFORMS_ARB" alias="GL_ACTIVE_UNIFORMS"/>
+        <enum value="0x8B87" name="GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB" alias="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+        <enum value="0x8B88" name="GL_OBJECT_SHADER_SOURCE_LENGTH_ARB" alias="GL_SHADER_SOURCE_LENGTH"/>
+        <enum value="0x8B89" name="GL_OBJECT_ACTIVE_ATTRIBUTES_ARB" alias="GL_ACTIVE_ATTRIBUTES"/>
+        <enum value="0x8B8A" name="GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB" alias="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+
+        <!-- The name got changed but as far as I can tell they mean the same
+        thing. -->
+        <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT" alias="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+
+        <!-- Add an alias to improve desktop OpenGL compatibility even though
+        this was not promoted to core in OpenGL ES. -->
+        <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_OES" alias="GL_DEPTH_COMPONENT32"/>
     </enums>
 
-    <feature api="gl" name="MSPGL">
+    <feature api="gl" name="GL_VERSION_1_4" number="1.4">
         <require>
-            <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS" />
-            <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
+            <!-- All evidence points to this being promoted but it's not marked
+            as such. -->
+            <enum name="GL_BLEND_EQUATION"/>
         </require>
     </feature>
 
-    <feature api="gles2" name="MSPGLES">
+    <feature api="gles2">
         <require>
-            <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
+            <!-- Annotate support for certain things in OpenGL ES.  Don't set
+            version because they are only available through extensions. -->
+            <enum name="GL_DEPTH_COMPONENT32"/>
+            <enum name="GL_BUFFER_ACCESS"/>
+            <command name="glBindFragDataLocation"/>
+            <command name="glMapBuffer"/>
         </require>
     </feature>
 
-    <feature name="MSPGL_REMOVE">
-        <remove>
-            <!-- These have no counterparts in the core version of
-            ARB_shader_objects. -->
-            <command name="glGetHandleARB" />
-            <command name="glGetObjectParameterfvARB" />
-            <enum name="GL_PROGRAM_OBJECT_ARB" />
-            <enum name="GL_SHADER_OBJECT_ARB" />
-            <enum name="GL_OBJECT_TYPE_ARB" />
-
-            <!-- Ignore this, as it comes from ARB_vertex_program and I'm not
-            sure if it works with ARB_shader_objects. -->
-            <command name="glIsProgramARB" />
-        </remove>
+    <feature api="gles2" name="GL_ES_VERSION_3_0" number="3.0">
+        <require>
+            <!-- These are found in the 3.0 spec. -->
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"/>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"/>
+        </require>
     </feature>
 
     <extensions>
-        <!-- Some functions mentioned in ARB_uniform_buffer_object
-        specification are missing from gl.xml. -->
-        <extension name="GL_ARB_uniform_buffer_object" supported="gl|glcore">
+        <extension name="GL_ARB_depth_texture" supported="gl">
             <require>
-                <command name="glBindBufferRange" />
-                <command name="glBindBufferBase" />
+                <!-- The base GL_DEPTH_COMPONENT format was introduced for
+                other purposes before it could be used for textures. -->
+                <enum name="GL_DEPTH_COMPONENT"/>
             </require>
         </extension>
 
-        <!-- Put GL_RED here for the benefit of OpenGL ES. -->
         <extension name="GL_ARB_texture_rg" supported="gl|glcore">
             <require>
-                <enum name="GL_RED" />
-            </require>
-        </extension>
-
-        <extension name="GL_MSP_legacy_features" supported="gl">
-            <require>
-                <command name="glEnableClientState" />
-                <command name="glDisableClientState" />
-
-                <enum name="GL_QUADS" />
-                <enum name="GL_QUAD_STRIP" />
-                <enum name="GL_LUMINANCE8" />
-                <enum name="GL_LUMINANCE8_ALPHA8" />
-
-                <enum name="GL_AMBIENT" />
-                <enum name="GL_DIFFUSE" />
-                <enum name="GL_SPECULAR" />
-                <enum name="GL_EMISSION" />
-                <enum name="GL_SHININESS" />
-                <enum name="GL_LIGHTING" />
-                <enum name="GL_LIGHT_MODEL_AMBIENT" />
-                <enum name="GL_LIGHT0" />
-                <enum name="GL_MAX_LIGHTS" />
-                <enum name="GL_POSITION" />
-                <enum name="GL_SPOT_DIRECTION" />
-                <enum name="GL_SPOT_EXPONENT" />
-                <enum name="GL_SPOT_CUTOFF" />
-                <enum name="GL_CONSTANT_ATTENUATION" />
-                <enum name="GL_LINEAR_ATTENUATION" />
-                <enum name="GL_QUADRATIC_ATTENUATION" />
-                <command name="glLightModelfv" />
-                <command name="glLightf" />
-                <command name="glLightfv" />
-                <command name="glMaterialf" />
-                <command name="glMaterialfv" />
-
-                <enum name="GL_FOG" />
-                <enum name="GL_FOG_MODE" />
-                <enum name="GL_FOG_DENSITY" />
-                <enum name="GL_FOG_COLOR" />
-                <enum name="GL_EXP" />
-                <command name="glFogi" />
-                <command name="glFogf" />
-                <command name="glFogfv" />
-
-                <enum name="GL_MODELVIEW" />
-                <enum name="GL_PROJECTION" />
-                <command name="glMatrixMode" />
-                <command name="glLoadMatrixf" />
-
-                <!-- Can't reuse EXT_vertex_array for these, as the functions
-                defined there have different signatures. -->
-                <enum name="GL_VERTEX_ARRAY" />
-                <enum name="GL_NORMAL_ARRAY" />
-                <enum name="GL_COLOR_ARRAY" />
-                <enum name="GL_TEXTURE_COORD_ARRAY" />
-                <command name="glVertexPointer" />
-                <command name="glNormalPointer" />
-                <command name="glColorPointer" />
-                <command name="glTexCoordPointer" />
-
-                <command name="glClipPlane" />
-            </require>
-        </extension>
-
-        <!-- OpenGL ES does not have glDrawBuffer. -->
-        <extension name="GL_MSP_draw_buffer" supported="gl">
-            <require>
-                <command name="glDrawBuffer" />
-                <command name="glReadBuffer" />
-            </require>
-        </extension>
-
-        <!-- OpenGL ES does not have harwdare clipping. -->
-        <extension name="GL_MSP_clipping" supported="gl">
-            <require>
-                <enum name="GL_MAX_CLIP_PLANES" />
-                <enum name="GL_CLIP_PLANE0" />
-                <enum name="GL_CLIP_PLANE1" />
-                <enum name="GL_CLIP_PLANE2" />
-                <enum name="GL_CLIP_PLANE3" />
-                <enum name="GL_CLIP_PLANE4" />
-                <enum name="GL_CLIP_PLANE5" />
-            </require>
-        </extension>
-
-        <!-- Stereo rendering is not supported on OpenGL ES, but I'm not
-        certain enough of its uselessness to remove the constants outright. -->
-        <extension name="GL_MSP_stereo_rendering" supported="gl">
-            <require>
-                <enum name="GL_FRONT_LEFT" />
-                <enum name="GL_FRONT_RIGHT" />
-                <enum name="GL_BACK_LEFT" />
-                <enum name="GL_BACK_RIGHT" />
-                <enum name="GL_LEFT" />
-                <enum name="GL_RIGHT" />
-            </require>
-        </extension>
-
-        <!-- Sized internal formats were introduced in OpenGL ES 3.0, but are
-        not available as an extension. -->
-        <extension name="GL_MSP_sized_internal_formats" supported="gl|gles2">
-            <require>
-                <enum name="GL_RGB8" />
-                <enum name="GL_RGBA8" />
-            </require>
-        </extension>
-
-        <!-- 1D textures are not available in OpenGL ES, but could conceivably
-        be added at a later date. -->
-        <extension name="GL_MSP_texture1D" supported="gl">
-            <require>
-                <command name="glTexImage1D" />
-                <enum name="GL_TEXTURE_1D" />
+                <!-- GL_RED is mentioned in the extension spec. -->
+                <enum name="GL_RED"/>
             </require>
         </extension>
     </extensions>