Merge branch 'mesa_7_7_branch'
[mesa.git] / src / mesa / es / glapi / es2_API.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE OpenGLAPI SYSTEM "../../glapi/gl_API.dtd">
3
4 <!-- OpenGL ES 2.x API -->
5
6 <OpenGLAPI>
7
8 <xi:include href="base2_API.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
9
10 <!-- core subset of OpenGL 2.0 defined in OpenGL ES 2.0 -->
11 <category name="core2.0">
12 <!-- addition to base1.0 -->
13 <enum name="NONE" value="0x0"/>
14 <enum name="INT" count="4" value="0x1404">
15 <size name="CallLists"/>
16 </enum>
17 <enum name="UNSIGNED_INT" count="4" value="0x1405">
18 <size name="CallLists"/>
19 </enum>
20 <enum name="STENCIL_INDEX" value="0x1901"/>
21 <enum name="DEPTH_COMPONENT" value="0x1902"/>
22
23 <function name="TexImage2D" offset="183">
24 <param name="target" type="GLenum"/>
25 <param name="level" type="GLint"/>
26 <param name="internalformat" type="GLint"/> <!-- XXX the actual type is GLenum... -->
27 <param name="width" type="GLsizei"/>
28 <param name="height" type="GLsizei"/>
29 <param name="border" type="GLint"/>
30 <param name="format" type="GLenum"/>
31 <param name="type" type="GLenum"/>
32 <param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_format="format" img_type="type" img_target="target" img_send_null="true" img_pad_dimensions="true"/>
33 <glx rop="110" large="true"/>
34 </function>
35
36 <!-- addition to base1.1 -->
37 <enum name="RGBA4" value="0x8056"/>
38 <enum name="RGB5_A1" value="0x8057"/>
39
40 <!-- addition to base1.2 -->
41 <enum name="CONSTANT_COLOR" value="0x8001"/>
42 <enum name="ONE_MINUS_CONSTANT_COLOR" value="0x8002"/>
43 <enum name="CONSTANT_ALPHA" value="0x8003"/>
44 <enum name="ONE_MINUS_CONSTANT_ALPHA" value="0x8004"/>
45 <enum name="BLEND_COLOR" count="4" value="0x8005">
46 <size name="Get" mode="get"/>
47 </enum>
48 <enum name="FUNC_ADD" value="0x8006"/>
49 <enum name="BLEND_EQUATION" count="1" value="0x8009">
50 <size name="Get" mode="get"/>
51 </enum>
52 <enum name="FUNC_SUBTRACT" value="0x800A"/>
53 <enum name="FUNC_REVERSE_SUBTRACT" value="0x800B"/>
54
55 <function name="BlendColor" offset="336">
56 <param name="red" type="GLclampf"/>
57 <param name="green" type="GLclampf"/>
58 <param name="blue" type="GLclampf"/>
59 <param name="alpha" type="GLclampf"/>
60 <glx rop="4096"/>
61 </function>
62
63 <function name="BlendEquation" offset="337">
64 <param name="mode" type="GLenum"/>
65 <glx rop="4097"/>
66 </function>
67
68 <!-- addition to base1.3 -->
69 <enum name="TEXTURE_CUBE_MAP" count="1" value="0x8513">
70 <size name="Get" mode="get"/>
71 </enum>
72 <enum name="TEXTURE_BINDING_CUBE_MAP" count="1" value="0x8514">
73 <size name="Get" mode="get"/>
74 </enum>
75 <enum name="TEXTURE_CUBE_MAP_POSITIVE_X" value="0x8515"/>
76 <enum name="TEXTURE_CUBE_MAP_NEGATIVE_X" value="0x8516"/>
77 <enum name="TEXTURE_CUBE_MAP_POSITIVE_Y" value="0x8517"/>
78 <enum name="TEXTURE_CUBE_MAP_NEGATIVE_Y" value="0x8518"/>
79 <enum name="TEXTURE_CUBE_MAP_POSITIVE_Z" value="0x8519"/>
80 <enum name="TEXTURE_CUBE_MAP_NEGATIVE_Z" value="0x851A"/>
81 <enum name="MAX_CUBE_MAP_TEXTURE_SIZE" count="1" value="0x851C">
82 <size name="Get" mode="get"/>
83 </enum>
84
85 <!-- addition to base1.4 -->
86 <enum name="BLEND_DST_RGB" count="1" value="0x80C8">
87 <size name="Get" mode="get"/>
88 </enum>
89 <enum name="BLEND_SRC_RGB" count="1" value="0x80C9">
90 <size name="Get" mode="get"/>
91 </enum>
92 <enum name="BLEND_DST_ALPHA" count="1" value="0x80CA">
93 <size name="Get" mode="get"/>
94 </enum>
95 <enum name="BLEND_SRC_ALPHA" count="1" value="0x80CB">
96 <size name="Get" mode="get"/>
97 </enum>
98 <enum name="DEPTH_COMPONENT16" value="0x81A5"/>
99 <enum name="MIRRORED_REPEAT" value="0x8370"/>
100 <enum name="INCR_WRAP" value="0x8507"/>
101 <enum name="DECR_WRAP" value="0x8508"/>
102
103 <function name="BlendFuncSeparate" offset="assign">
104 <param name="sfactorRGB" type="GLenum"/>
105 <param name="dfactorRGB" type="GLenum"/>
106 <param name="sfactorAlpha" type="GLenum"/>
107 <param name="dfactorAlpha" type="GLenum"/>
108 <glx rop="4134"/>
109 </function>
110
111 <!-- addition to base1.5 -->
112 <enum name="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING" count="1" value="0x889F">
113 <size name="GetVertexAttribdv" mode="get"/>
114 <size name="GetVertexAttribfv" mode="get"/>
115 <size name="GetVertexAttribiv" mode="get"/>
116 </enum>
117 <enum name="STREAM_DRAW" value="0x88E0"/>
118
119 <!-- addition to base2.0 -->
120 <!-- base2.0 should have everything defined -->
121 </category>
122
123 <!-- OpenGL ES 2.0 -->
124 <category name="es2.0">
125 <!-- addition to core2.0 -->
126 <enum name="LOW_FLOAT" value="0x8DF0"/>
127 <enum name="MEDIUM_FLOAT" value="0x8DF1"/>
128 <enum name="HIGH_FLOAT" value="0x8DF2"/>
129 <enum name="LOW_INT" value="0x8DF3"/>
130 <enum name="MEDIUM_INT" value="0x8DF4"/>
131 <enum name="HIGH_INT" value="0x8DF5"/>
132 <enum name="SHADER_BINARY_FORMATS" value="0x8DF8"/>
133 <enum name="NUM_SHADER_BINARY_FORMATS" value="0x8DF9"/>
134 <enum name="SHADER_COMPILER" value="0x8DFA"/>
135 <enum name="MAX_VERTEX_UNIFORM_VECTORS" value="0x8DFB"/>
136 <enum name="MAX_VARYING_VECTORS" value="0x8DFC"/>
137 <enum name="MAX_FRAGMENT_UNIFORM_VECTORS" value="0x8DFD"/>
138
139 <function name="GetShaderPrecisionFormat" offset="assign">
140 <param name="shadertype" type="GLenum"/>
141 <param name="precisiontype" type="GLenum"/>
142 <param name="range" type="GLint *"/>
143 <param name="precision" type="GLint *"/>
144 </function>
145
146 <function name="ReleaseShaderCompiler" offset="assign">
147 </function>
148
149 <function name="ShaderBinary" offset="assign">
150 <param name="n" type="GLsizei"/>
151 <param name="shaders" type="const GLuint *"/>
152 <param name="binaryformat" type="GLenum"/>
153 <param name="binary" type="const GLvoid *"/>
154 <param name="length" type="GLsizei"/>
155 </function>
156
157 <!-- from GL_OES_fixed_point -->
158 <enum name="FIXED" value="0x140C"/>
159 <type name="fixed" size="4" />
160
161 <!-- from GL_OES_framebuffer_object -->
162 <enum name="INVALID_FRAMEBUFFER_OPERATION" value="0x0506"/>
163 <enum name="MAX_RENDERBUFFER_SIZE" value="0x84E8"/>
164 <enum name="FRAMEBUFFER_BINDING" value="0x8CA6"/>
165 <enum name="RENDERBUFFER_BINDING" value="0x8CA7"/>
166 <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" value="0x8CD0"/>
167 <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" value="0x8CD1"/>
168 <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" value="0x8CD2"/>
169 <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" value="0x8CD3"/>
170 <enum name="FRAMEBUFFER_COMPLETE" value="0x8CD5"/>
171 <enum name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT" value="0x8CD6"/>
172 <enum name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" value="0x8CD7"/>
173 <enum name="FRAMEBUFFER_INCOMPLETE_DIMENSIONS" value="0x8CD9"/>
174 <enum name="FRAMEBUFFER_UNSUPPORTED" value="0x8CDD"/>
175 <enum name="COLOR_ATTACHMENT0" value="0x8CE0"/>
176 <enum name="DEPTH_ATTACHMENT" value="0x8D00"/>
177 <enum name="STENCIL_ATTACHMENT" value="0x8D20"/>
178 <enum name="FRAMEBUFFER" value="0x8D40"/>
179 <enum name="RENDERBUFFER" value="0x8D41"/>
180 <enum name="RENDERBUFFER_WIDTH" value="0x8D42"/>
181 <enum name="RENDERBUFFER_HEIGHT" value="0x8D43"/>
182 <enum name="RENDERBUFFER_INTERNAL_FORMAT" value="0x8D44"/>
183 <enum name="STENCIL_INDEX8" value="0x8D48"/>
184 <enum name="RENDERBUFFER_RED_SIZE" value="0x8D50"/>
185 <enum name="RENDERBUFFER_GREEN_SIZE" value="0x8D51"/>
186 <enum name="RENDERBUFFER_BLUE_SIZE" value="0x8D52"/>
187 <enum name="RENDERBUFFER_ALPHA_SIZE" value="0x8D53"/>
188 <enum name="RENDERBUFFER_DEPTH_SIZE" value="0x8D54"/>
189 <enum name="RENDERBUFFER_STENCIL_SIZE" value="0x8D55"/>
190 <enum name="RGB565" value="0x8D62"/>
191
192 <function name="BindFramebuffer" offset="assign">
193 <param name="target" type="GLenum"/>
194 <param name="framebuffer" type="GLuint"/>
195 </function>
196
197 <function name="BindRenderbuffer" offset="assign">
198 <param name="target" type="GLenum"/>
199 <param name="renderbuffer" type="GLuint"/>
200 </function>
201
202 <function name="CheckFramebufferStatus" offset="assign">
203 <param name="target" type="GLenum"/>
204 <return type="GLenum"/>
205 </function>
206
207 <function name="DeleteFramebuffers" offset="assign">
208 <param name="n" type="GLsizei" counter="true"/>
209 <param name="framebuffers" type="const GLuint *" count="n"/>
210 </function>
211
212 <function name="DeleteRenderbuffers" offset="assign">
213 <param name="n" type="GLsizei" counter="true"/>
214 <param name="renderbuffers" type="const GLuint *" count="n"/>
215 </function>
216
217 <function name="FramebufferRenderbuffer" offset="assign">
218 <param name="target" type="GLenum"/>
219 <param name="attachment" type="GLenum"/>
220 <param name="renderbuffertarget" type="GLenum"/>
221 <param name="renderbuffer" type="GLuint"/>
222 </function>
223
224 <function name="FramebufferTexture2D" offset="assign">
225 <param name="target" type="GLenum"/>
226 <param name="attachment" type="GLenum"/>
227 <param name="textarget" type="GLenum"/>
228 <param name="texture" type="GLuint"/>
229 <param name="level" type="GLint"/>
230 </function>
231
232 <function name="GenerateMipmap" offset="assign">
233 <param name="target" type="GLenum"/>
234 </function>
235
236 <function name="GenFramebuffers" offset="assign">
237 <param name="n" type="GLsizei" counter="true"/>
238 <param name="framebuffers" type="GLuint *" count="n" output="true"/>
239 </function>
240
241 <function name="GenRenderbuffers" offset="assign">
242 <param name="n" type="GLsizei" counter="true"/>
243 <param name="renderbuffers" type="GLuint *" count="n" output="true"/>
244 </function>
245
246 <function name="GetFramebufferAttachmentParameteriv" offset="assign">
247 <param name="target" type="GLenum"/>
248 <param name="attachment" type="GLenum"/>
249 <param name="pname" type="GLenum"/>
250 <param name="params" type="GLint *" output="true"/>
251 </function>
252
253 <function name="GetRenderbufferParameteriv" offset="assign">
254 <param name="target" type="GLenum"/>
255 <param name="pname" type="GLenum"/>
256 <param name="params" type="GLint *" output="true"/>
257 </function>
258
259 <function name="IsFramebuffer" offset="assign">
260 <param name="framebuffer" type="GLuint"/>
261 <return type="GLboolean"/>
262 </function>
263
264 <function name="IsRenderbuffer" offset="assign">
265 <param name="renderbuffer" type="GLuint"/>
266 <return type="GLboolean"/>
267 </function>
268
269 <function name="RenderbufferStorage" offset="assign">
270 <param name="target" type="GLenum"/>
271 <param name="internalformat" type="GLenum"/>
272 <param name="width" type="GLsizei"/>
273 <param name="height" type="GLsizei"/>
274 </function>
275
276 <!-- from GL_OES_read_format -->
277 <enum name="IMPLEMENTATION_COLOR_READ_TYPE" value="0x8B9A"/>
278 <enum name="IMPLEMENTATION_COLOR_READ_FORMAT" value="0x8B9B"/>
279
280 <!-- from GL_OES_single_precision -->
281 <function name="ClearDepthf" offset="assign">
282 <param name="depth" type="GLclampf"/>
283 </function>
284
285 <function name="DepthRangef" offset="assign">
286 <param name="zNear" type="GLclampf"/>
287 <param name="zFar" type="GLclampf"/>
288 </function>
289 </category>
290
291 <xi:include href="es2_EXT.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
292 <xi:include href="es2_COMPAT.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
293
294 </OpenGLAPI>