]> git.tdb.fi Git - libs/gl.git/blobdiff - gl.fixes.xml
Use correct function name in exception
[libs/gl.git] / gl.fixes.xml
index 39ec23e7c621d1840d777415fb5a69842dda69c7..a2271d302f44a69c332c84e5ca98e15eb90d573f 100644 (file)
@@ -17,7 +17,7 @@
         </command>
 
         <!-- ARB_shader_objects function names got changed when promoted to
-        core -->
+        core. -->
         <command>
             <proto><name>glDeleteObjectARB</name></proto>
             <alias name="glDeleteShader" />
             <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>
     </commands>
 
-    <feature api="gl" name="MSPGL_REMOVE">
+    <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"/>
+    </enums>
+
+    <feature api="gl" name="MSPGL">
+        <require>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS" />
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
+        </require>
+    </feature>
+
+    <feature api="gles2" name="MSPGLES">
+        <require>
+            <enum name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS" />
+        </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" />
+
+            <!-- This was never promoted from ARB_geometry_shader4. -->
+            <command name="glFramebufferTextureFaceARB" />
         </remove>
     </feature>
 
     <extensions>
-        <extension name="GL_ARB_uniform_buffer_object" supported="gl">
+        <!-- Some functions mentioned in ARB_uniform_buffer_object
+        specification are missing from gl.xml. -->
+        <extension name="GL_ARB_uniform_buffer_object" supported="gl|glcore">
             <require>
                 <command name="glBindBufferRange" />
                 <command name="glBindBufferBase" />
             </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>
+
+        <!-- And the remaining color components here. -->
+        <extension name="GL_ARB_texture_swizzle" supported="gl|glcore">
+            <require>
+                <enum name="GL_GREEN" />
+                <enum name="GL_BLUE" />
+                <enum name="GL_ALPHA" />
+            </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" />
+                <command name="glTexSubImage1D" />
+                <enum name="GL_TEXTURE_1D" />
+            </require>
+        </extension>
+
+        <!-- The core version of primitive restart has different semantics
+        from the NV extension but is not available as a backport extension. -->
+        <extension name="GL_MSP_primitive_restart" supported="gl">
+            <require>
+                <enum name="GL_PRIMITIVE_RESTART" />
+                <enum name="GL_PRIMITIVE_RESTART_INDEX" />
+                <command name="glPrimitiveRestartIndex" />
+            </require>
+        </extension>
     </extensions>
 </registry>