]> git.tdb.fi Git - libs/gl.git/blobdiff - gl.fixes.xml
Add functions for setting arrays of 2x2 and 3x3 matrix uniforms
[libs/gl.git] / gl.fixes.xml
index f0f12fa1b0239c8385b44104ec79bf0a63ac5e8e..8b84a4fb963725468e331f2c836c11f8b34c5951 100644 (file)
         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,
+        which is typedef'd as a pointer on OS X.  It could cause problems on
+        64-bit macs with shaders only available through the extension. -->
+        <command>
+            <proto><name>glGetAttachedObjectsARB</name></proto>
+            <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="gl" 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" />
+    <feature api="gles2">
+        <require>
+            <!-- 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>
 
-            <!-- 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 GL_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>
+                <!-- 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>
+
+        <extension name="GL_ARB_texture_rg" supported="gl|glcore">
             <require>
-                <command name="glBindBufferRange" />
-                <command name="glBindBufferBase" />
+                <!-- GL_RED is mentioned in the extension spec. -->
+                <enum name="GL_RED"/>
             </require>
         </extension>
     </extensions>