1<?xml version="1.0"?>
2<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
3
4<!-- Note: no GLX protocol info yet. -->
5
6
7<OpenGLAPI>
8<category name="GL_ARB_framebuffer_object" number="45">
9    <enum name="FRAMEBUFFER"                              value="0x8D40"/>
10    <enum name="READ_FRAMEBUFFER"                         value="0x8CA8"/>
11    <enum name="DRAW_FRAMEBUFFER"                         value="0x8CA9"/>
12
13    <enum name="RENDERBUFFER"                             value="0x8D41"/>
14
15    <enum name="STENCIL_INDEX1"                           value="0x8D46"/>
16    <enum name="STENCIL_INDEX4"                           value="0x8D47"/>
17    <enum name="STENCIL_INDEX8"                           value="0x8D48"/>
18    <enum name="STENCIL_INDEX16"                          value="0x8D49"/>
19
20    <enum name="RENDERBUFFER_WIDTH"              value="0x8D42"/>
21    <enum name="RENDERBUFFER_HEIGHT"             value="0x8D43"/>
22    <enum name="RENDERBUFFER_INTERNAL_FORMAT"    value="0x8D44"/>
23    <enum name="RENDERBUFFER_RED_SIZE"           value="0x8D50"/>
24    <enum name="RENDERBUFFER_GREEN_SIZE"         value="0x8D51"/>
25    <enum name="RENDERBUFFER_BLUE_SIZE"          value="0x8D52"/>
26    <enum name="RENDERBUFFER_ALPHA_SIZE"         value="0x8D53"/>
27    <enum name="RENDERBUFFER_DEPTH_SIZE"         value="0x8D54"/>
28    <enum name="RENDERBUFFER_STENCIL_SIZE"       value="0x8D55"/>
29    <enum name="RENDERBUFFER_SAMPLES"            value="0x8CAB"/>
30
31    <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" count="1" value="0x8CD0">
32        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
33    </enum>
34    <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" count="1" value="0x8CD1">
35        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
36    </enum>
37    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" count="1" value="0x8CD2">
38        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
39    </enum>
40    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" count="1" value="0x8CD3">
41        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
42    </enum>
43    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER" count="1" value="0x8CD4">
44        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
45    </enum>
46    <enum name="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING" count="1" value="0x8210">
47        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
48    </enum>
49    <enum name="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE" count="1" value="0x8211">
50        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
51    </enum>
52    <enum name="FRAMEBUFFER_ATTACHMENT_RED_SIZE" count="1" value="0x8212">
53        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
54    </enum>
55    <enum name="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE" count="1" value="0x8213">
56        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
57    </enum>
58    <enum name="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE" count="1" value="0x8214">
59        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
60    </enum>
61    <enum name="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE" count="1" value="0x8215">
62        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
63    </enum>
64    <enum name="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE" count="1" value="0x8216">
65        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
66    </enum>
67    <enum name="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE" count="1" value="0x8217">
68        <size name="GetFramebufferAttachmentParameteriv" mode="get"/>
69    </enum>
70
71    <enum name="SRGB"                                      value="0x8C40"/>
72    <enum name="UNSIGNED_NORMALIZED"                       value="0x8C17"/>
73    <enum name="FRAMEBUFFER_DEFAULT"                       value="0x8218"/>
74    <enum name="INDEX"                                     value="0x8222"/>
75
76    <enum name="COLOR_ATTACHMENT0"                         value="0x8CE0"/>
77    <enum name="COLOR_ATTACHMENT1"                         value="0x8CE1"/>
78    <enum name="COLOR_ATTACHMENT2"                         value="0x8CE2"/>
79    <enum name="COLOR_ATTACHMENT3"                         value="0x8CE3"/>
80    <enum name="COLOR_ATTACHMENT4"                         value="0x8CE4"/>
81    <enum name="COLOR_ATTACHMENT5"                         value="0x8CE5"/>
82    <enum name="COLOR_ATTACHMENT6"                         value="0x8CE6"/>
83    <enum name="COLOR_ATTACHMENT7"                         value="0x8CE7"/>
84    <enum name="COLOR_ATTACHMENT8"                         value="0x8CE8"/>
85    <enum name="COLOR_ATTACHMENT9"                         value="0x8CE9"/>
86    <enum name="COLOR_ATTACHMENT10"                        value="0x8CEA"/>
87    <enum name="COLOR_ATTACHMENT11"                        value="0x8CEB"/>
88    <enum name="COLOR_ATTACHMENT12"                        value="0x8CEC"/>
89    <enum name="COLOR_ATTACHMENT13"                        value="0x8CED"/>
90    <enum name="COLOR_ATTACHMENT14"                        value="0x8CEE"/>
91    <enum name="COLOR_ATTACHMENT15"                        value="0x8CEF"/>
92    <enum name="DEPTH_ATTACHMENT"                          value="0x8D00"/>
93    <enum name="STENCIL_ATTACHMENT"                        value="0x8D20"/>
94    <enum name="DEPTH_STENCIL_ATTACHMENT"                  value="0x821A"/>
95
96    <enum name="MAX_SAMPLES"                     count="1" value="0x8D57">
97        <size name="Get" mode="get"/>
98    </enum>
99
100    <enum name="FRAMEBUFFER_COMPLETE"                      value="0x8CD5"/>
101    <enum name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT"         value="0x8CD6"/>
102    <enum name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" value="0x8CD7"/>
103    <enum name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"        value="0x8CDB"/>
104    <enum name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER"        value="0x8CDC"/>
105    <enum name="FRAMEBUFFER_UNSUPPORTED"                   value="0x8CDD"/>
106    <enum name="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"        value="0x8D56"/>
107    <enum name="FRAMEBUFFER_UNDEFINED"                     value="0x8219"/>
108
109    <enum name="FRAMEBUFFER_BINDING"             count="1" value="0x8CA6">
110        <size name="Get" mode="get"/>
111    </enum>
112    <enum name="DRAW_FRAMEBUFFER_BINDING"        count="1" value="0x8CA6">
113        <size name="Get" mode="get"/>
114    </enum>
115    <enum name="READ_FRAMEBUFFER_BINDING"        count="1" value="0x8CAA">
116        <size name="Get" mode="get"/>
117    </enum>
118    <enum name="RENDERBUFFER_BINDING"            count="1" value="0x8CA7">
119        <size name="Get" mode="get"/>
120    </enum>
121    <enum name="MAX_COLOR_ATTACHMENTS"           count="1" value="0x8CDF">
122        <size name="Get" mode="get"/>
123    </enum>
124    <enum name="MAX_RENDERBUFFER_SIZE"           count="1" value="0x84E8">
125        <size name="Get" mode="get"/>
126    </enum>
127
128    <enum name="INVALID_FRAMEBUFFER_OPERATION"            value="0x0506"/>
129
130    <enum name="DEPTH_STENCIL"                            value="0x84F9"/>
131
132    <enum name="UNSIGNED_INT_24_8"                        value="0x84FA"/>
133
134    <enum name="DEPTH24_STENCIL8"                         value="0x88F0"/>
135
136    <enum name="TEXTURE_STENCIL_SIZE"          count="1"  value="0x88F1">
137        <size name="GetTexLevelParameterfv" mode="get"/>
138        <size name="GetTexLevelParameteriv" mode="get"/>
139    </enum>
140
141
142
143    <function name="IsRenderbuffer" es2="2.0">
144        <param name="renderbuffer" type="GLuint"/>
145	<return type="GLboolean"/>
146	<glx vendorpriv="1422"/>
147    </function>
148
149    <function name="BindRenderbuffer" es2="2.0">
150        <param name="target" type="GLenum"/>
151        <param name="renderbuffer" type="GLuint"/>
152        <glx rop="235"/>
153    </function>
154
155    <function name="DeleteRenderbuffers" es2="2.0">
156        <param name="n" type="GLsizei" counter="true"/>
157        <param name="renderbuffers" type="const GLuint *" count="n"/>
158	<glx rop="4317"/>
159    </function>
160
161    <function name="GenRenderbuffers" es2="2.0" no_error="true">
162        <param name="n" type="GLsizei" counter="true"/>
163        <param name="renderbuffers" type="GLuint *" count="n" output="true"/>
164	<glx vendorpriv="1423" always_array="true"/>
165    </function>
166
167    <function name="RenderbufferStorage" es2="2.0">
168        <param name="target" type="GLenum"/>
169        <param name="internalformat" type="GLenum"/>
170        <param name="width" type="GLsizei"/>
171        <param name="height" type="GLsizei"/>
172	<glx rop="4318"/>
173    </function>
174
175<!--
176    The EXT aliasee, as part of EXT_multisampled_render_to_texture can
177    work on GLES 2.0. While the entry point below is only set when
178    gl || (gles && version > 3.0)
179
180    As such, the entrypoint will be noop, and calling it will do nothing.
181    Workaround that by loosening the version to 2.0.
182 -->
183    <function name="RenderbufferStorageMultisample" es2="2.0">
184        <param name="target" type="GLenum"/>
185        <param name="samples" type="GLsizei"/>
186        <param name="internalformat" type="GLenum"/>
187        <param name="width" type="GLsizei"/>
188        <param name="height" type="GLsizei"/>
189        <glx rop="4331"/>
190    </function>
191
192    <function name="GetRenderbufferParameteriv" es2="2.0">
193        <param name="target" type="GLenum"/>
194        <param name="pname" type="GLenum"/>
195        <param name="params" type="GLint *" output="true"/>
196	<glx vendorpriv="1424"/>
197    </function>
198
199    <function name="IsFramebuffer" es2="2.0">
200        <param name="framebuffer" type="GLuint"/>
201	<return type="GLboolean"/>
202	<glx vendorpriv="1425"/>
203    </function>
204
205    <function name="BindFramebuffer" es2="2.0">
206        <param name="target" type="GLenum"/>
207        <param name="framebuffer" type="GLuint"/>
208        <glx rop="236"/>
209    </function>
210
211    <function name="DeleteFramebuffers" es2="2.0">
212        <param name="n" type="GLsizei" counter="true"/>
213        <param name="framebuffers" type="const GLuint *" count="n"/>
214	<glx rop="4320"/>
215    </function>
216
217    <function name="GenFramebuffers" es2="2.0">
218        <param name="n" type="GLsizei" counter="true"/>
219        <param name="framebuffers" type="GLuint *" count="n" output="true"/>
220	<glx vendorpriv="1426" always_array="true"/>
221    </function>
222
223    <function name="CheckFramebufferStatus" es2="2.0" no_error="true">
224        <param name="target" type="GLenum"/>
225	<return type="GLenum"/>
226	<glx vendorpriv="1427"/>
227    </function>
228
229    <function name="FramebufferTexture1D" no_error="true">
230        <param name="target" type="GLenum"/>
231        <param name="attachment" type="GLenum"/>
232        <param name="textarget" type="GLenum"/>
233        <param name="texture" type="GLuint"/>
234        <param name="level" type="GLint"/>
235	<glx rop="4321"/>
236    </function>
237
238    <function name="FramebufferTexture2D" es2="2.0" no_error="true">
239        <param name="target" type="GLenum"/>
240        <param name="attachment" type="GLenum"/>
241        <param name="textarget" type="GLenum"/>
242        <param name="texture" type="GLuint"/>
243        <param name="level" type="GLint"/>
244	<glx rop="4322"/>
245    </function>
246
247    <function name="FramebufferTexture3D" no_error="true">
248        <param name="target" type="GLenum"/>
249        <param name="attachment" type="GLenum"/>
250        <param name="textarget" type="GLenum"/>
251        <param name="texture" type="GLuint"/>
252        <param name="level" type="GLint"/>
253        <param name="layer" type="GLint"/>
254	<glx rop="4323"/>
255    </function>
256
257    <function name="FramebufferTextureLayer" es2="3.0" no_error="true">
258        <param name="target" type="GLenum"/>
259        <param name="attachment" type="GLenum"/>
260        <param name="texture" type="GLuint"/>
261        <param name="level" type="GLint"/>
262        <param name="layer" type="GLint"/>
263	<glx rop="237"/>
264    </function>
265
266    <function name="FramebufferRenderbuffer" es2="2.0" no_error="true">
267        <param name="target" type="GLenum"/>
268        <param name="attachment" type="GLenum"/>
269        <param name="renderbuffertarget" type="GLenum"/>
270        <param name="renderbuffer" type="GLuint"/>
271	<glx rop="4324"/>
272    </function>
273
274    <function name="GetFramebufferAttachmentParameteriv" es2="2.0">
275        <param name="target" type="GLenum"/>
276        <param name="attachment" type="GLenum"/>
277        <param name="pname" type="GLenum"/>
278        <param name="params" type="GLint *" output="true"/>
279	<glx vendorpriv="1428"/>
280    </function>
281
282    <function name="BlitFramebuffer" es2="3.0" no_error="true">
283        <param name="srcX0" type="GLint"/>
284        <param name="srcY0" type="GLint"/>
285        <param name="srcX1" type="GLint"/>
286        <param name="srcY1" type="GLint"/>
287        <param name="dstX0" type="GLint"/>
288        <param name="dstY0" type="GLint"/>
289        <param name="dstX1" type="GLint"/>
290        <param name="dstY1" type="GLint"/>
291        <param name="mask" type="GLbitfield"/>
292        <param name="filter" type="GLenum"/>
293        <glx rop="4330"/>
294    </function>
295
296    <function name="GenerateMipmap" es2="2.0" no_error="true">
297        <param name="target" type="GLenum"/>
298	<glx rop="4325"/>
299    </function>
300</category>
301
302</OpenGLAPI>
303