Add a function to flush shader data in Renderer
[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.  The ARB versions can be used to operate on either shaders or
21         programs, but we use the core names so this is safe. -->
22         <command>
23             <proto><name>glDeleteObjectARB</name></proto>
24             <alias name="glDeleteShader"/>
25             <alias name="glDeleteProgram"/>
26         </command>
27         <command>
28             <proto><name>glGetInfoLogARB</name></proto>
29             <alias name="glGetShaderInfoLog"/>
30             <alias name="glGetProgramInfoLog"/>
31         </command>
32         <command>
33             <proto><name>glGetObjectParameterivARB</name></proto>
34             <alias name="glGetShaderiv"/>
35             <alias name="glGetProgramiv"/>
36         </command>
37
38         <!-- This alias is missing because the ARB version returns GLhandleARB,
39         which is typedef'd as a pointer on OS X.  It could cause problems on
40         64-bit macs with shaders only available through the extension. -->
41         <command>
42             <proto><name>glGetAttachedObjectsARB</name></proto>
43             <alias name="glGetAttachedShaders"/>
44         </command>
45
46         <!-- The APPLE version allows user-generated names. -->
47         <command>
48             <proto><name>glBindVertexArrayAPPLE</name></proto>
49             <alias name="glBindVertexArray"/>
50         </command>
51     </commands>
52
53     <enums>
54         <!-- ARB_shader_objects enum names got changed when promoted to core. -->
55         <enum value="0x8B80" name="GL_OBJECT_DELETE_STATUS_ARB" alias="GL_DELETE_STATUS"/>
56         <enum value="0x8B81" name="GL_OBJECT_COMPILE_STATUS_ARB" alias="GL_COMPILE_STATUS"/>
57         <enum value="0x8B82" name="GL_OBJECT_LINK_STATUS_ARB" alias="GL_LINK_STATUS"/>
58         <enum value="0x8B83" name="GL_OBJECT_VALIDATE_STATUS_ARB" alias="GL_VALIDATE_STATUS"/>
59         <enum value="0x8B84" name="GL_OBJECT_INFO_LOG_LENGTH_ARB" alias="GL_INFO_LOG_LENGTH"/>
60         <enum value="0x8B85" name="GL_OBJECT_ATTACHED_OBJECTS_ARB" alias="GL_ATTACHED_SHADERS"/>
61         <enum value="0x8B86" name="GL_OBJECT_ACTIVE_UNIFORMS_ARB" alias="GL_ACTIVE_UNIFORMS"/>
62         <enum value="0x8B87" name="GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB" alias="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
63         <enum value="0x8B88" name="GL_OBJECT_SHADER_SOURCE_LENGTH_ARB" alias="GL_SHADER_SOURCE_LENGTH"/>
64         <enum value="0x8B89" name="GL_OBJECT_ACTIVE_ATTRIBUTES_ARB" alias="GL_ACTIVE_ATTRIBUTES"/>
65         <enum value="0x8B8A" name="GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB" alias="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
66
67         <!-- The name got changed but as far as I can tell they mean the same
68         thing. -->
69         <enum value="0x8CD4" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT" alias="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
70
71         <!-- Add an alias to improve desktop OpenGL compatibility even though
72         this was not promoted to core in OpenGL ES. -->
73         <enum value="0x81A7" name="GL_DEPTH_COMPONENT32_OES" alias="GL_DEPTH_COMPONENT32"/>
74     </enums>
75
76     <feature api="gl" name="GL_VERSION_1_4" number="1.4">
77         <require>
78             <!-- All evidence points to this being promoted but it's not marked
79             as such. -->
80             <enum name="GL_BLEND_EQUATION"/>
81         </require>
82     </feature>
83
84     <feature api="gles2">
85         <require>
86             <!-- Annotate support for certain things in OpenGL ES.  Don't set
87             version because they are only available through extensions. -->
88             <enum name="GL_DEPTH_COMPONENT32"/>
89             <enum name="GL_BUFFER_ACCESS"/>
90             <command name="glBindFragDataLocation"/>
91             <command name="glMapBuffer"/>
92         </require>
93     </feature>
94
95     <feature api="gles2" name="GL_ES_VERSION_3_0" number="3.0">
96         <require>
97             <!-- These are found in the 3.0 spec. -->
98             <enum name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"/>
99             <enum name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"/>
100         </require>
101     </feature>
102
103     <extensions>
104         <extension name="GL_ARB_depth_texture" supported="gl">
105             <require>
106                 <!-- The base GL_DEPTH_COMPONENT format was introduced for
107                 other purposes before it could be used for textures. -->
108                 <enum name="GL_DEPTH_COMPONENT"/>
109             </require>
110         </extension>
111
112         <extension name="GL_ARB_texture_rg" supported="gl|glcore">
113             <require>
114                 <!-- GL_RED is mentioned in the extension spec. -->
115                 <enum name="GL_RED"/>
116             </require>
117         </extension>
118     </extensions>
119 </registry>