1<?xml version="1.0"?>
2<!DOCTYPE OpenGLAPI SYSTEM "../gen/gl_API.dtd">
3
4<!-- OpenGL ES specific extensions -->
5
6<OpenGLAPI>
7
8<!-- part of es1.1 extension pack -->
9<category name="GL_OES_blend_equation_separate" number="1">
10    <enum name="BLEND_EQUATION_RGB_OES"                   value="0x8009"/>
11    <enum name="BLEND_EQUATION_ALPHA_OES"                 value="0x883D"/>
12
13    <function name="BlendEquationSeparateOES" alias="BlendEquationSeparate"
14	      es1="1.0">
15        <param name="modeRGB" type="GLenum"/>
16        <param name="modeA" type="GLenum"/>
17    </function>
18</category>
19
20<!-- part of es1.1 extension pack -->
21<category name="GL_OES_blend_func_separate" number="2">
22    <enum name="BLEND_DST_RGB_OES"                        value="0x80C8"/>
23    <enum name="BLEND_SRC_RGB_OES"                        value="0x80C9"/>
24    <enum name="BLEND_DST_ALPHA_OES"                      value="0x80CA"/>
25    <enum name="BLEND_SRC_ALPHA_OES"                      value="0x80CB"/>
26
27    <function name="BlendFuncSeparateOES" alias="BlendFuncSeparate" es1="1.0">
28        <param name="sfactorRGB" type="GLenum"/>
29        <param name="dfactorRGB" type="GLenum"/>
30        <param name="sfactorAlpha" type="GLenum"/>
31        <param name="dfactorAlpha" type="GLenum"/>
32    </function>
33</category>
34
35<!-- part of es1.1 extension pack -->
36<category name="GL_OES_blend_subtract" number="3">
37    <enum name="FUNC_ADD_OES"                             value="0x8006"/>
38    <enum name="BLEND_EQUATION_OES"                       value="0x8009"/>
39    <enum name="FUNC_SUBTRACT_OES"                        value="0x800A"/>
40    <enum name="FUNC_REVERSE_SUBTRACT_OES"                value="0x800B"/>
41
42    <function name="BlendEquationOES" alias="BlendEquation" es1="1.0">
43        <param name="mode" type="GLenum"/>
44    </function>
45</category>
46
47<!-- core addition to es1.0 and later -->
48<category name="GL_OES_byte_coordinates" number="4">
49    <enum name="BYTE"                                     value="0x1400"/>
50</category>
51
52<category name="GL_OES_compressed_ETC1_RGB8_texture" number="5">
53    <enum name="ETC1_RGB8_OES"                            value="0x8D64"/>
54</category>
55
56<category name="GL_OES_compressed_paletted_texture" number="6">
57    <enum name="PALETTE4_RGB8_OES"                        value="0x8B90"/>
58    <enum name="PALETTE4_RGBA8_OES"                       value="0x8B91"/>
59    <enum name="PALETTE4_R5_G6_B5_OES"                    value="0x8B92"/>
60    <enum name="PALETTE4_RGBA4_OES"                       value="0x8B93"/>
61    <enum name="PALETTE4_RGB5_A1_OES"                     value="0x8B94"/>
62    <enum name="PALETTE8_RGB8_OES"                        value="0x8B95"/>
63    <enum name="PALETTE8_RGBA8_OES"                       value="0x8B96"/>
64    <enum name="PALETTE8_R5_G6_B5_OES"                    value="0x8B97"/>
65    <enum name="PALETTE8_RGBA4_OES"                       value="0x8B98"/>
66    <enum name="PALETTE8_RGB5_A1_OES"                     value="0x8B99"/>
67</category>
68
69<!-- optional for es1.1 -->
70<category name="GL_OES_draw_texture" number="7">
71    <enum name="TEXTURE_CROP_RECT_OES"                    value="0x8B9D"/>
72
73    <function name="DrawTexiOES" es1="1.0" desktop="false">
74        <param name="x" type="GLint"/>
75        <param name="y" type="GLint"/>
76        <param name="z" type="GLint"/>
77        <param name="width" type="GLint"/>
78        <param name="height" type="GLint"/>
79    </function>
80
81    <function name="DrawTexivOES" es1="1.0" desktop="false">
82        <param name="coords" type="const GLint *" count="5"/>
83    </function>
84
85    <function name="DrawTexfOES" es1="1.0" desktop="false">
86        <param name="x" type="GLfloat"/>
87        <param name="y" type="GLfloat"/>
88        <param name="z" type="GLfloat"/>
89        <param name="width" type="GLfloat"/>
90        <param name="height" type="GLfloat"/>
91    </function>
92
93    <function name="DrawTexfvOES" es1="1.0" desktop="false">
94        <param name="coords" type="const GLfloat *" count="5"/>
95    </function>
96
97    <function name="DrawTexsOES" es1="1.0" desktop="false">
98        <param name="x" type="GLshort"/>
99        <param name="y" type="GLshort"/>
100        <param name="z" type="GLshort"/>
101        <param name="width" type="GLshort"/>
102        <param name="height" type="GLshort"/>
103    </function>
104
105    <function name="DrawTexsvOES" es1="1.0" desktop="false">
106        <param name="coords" type="const GLshort *" count="5"/>
107    </function>
108
109    <function name="DrawTexxOES" es1="1.0" desktop="false">
110        <param name="x" type="GLfixed"/>
111        <param name="y" type="GLfixed"/>
112        <param name="z" type="GLfixed"/>
113        <param name="width" type="GLfixed"/>
114        <param name="height" type="GLfixed"/>
115    </function>
116
117    <function name="DrawTexxvOES" es1="1.0" desktop="false">
118        <param name="coords" type="const GLfixed *" count="5"/>
119    </function>
120
121    <!-- TexParameter{ifx}v is skipped here -->
122</category>
123
124<!-- core addition to es1.0 and later -->
125<!-- 9. GL_OES_fixed_point -->
126
127<!-- part of es1.1 extension pack -->
128<category name="GL_OES_framebuffer_object" number="10">
129    <enum name="NONE_OES"                                 value="0"/>
130    <enum name="INVALID_FRAMEBUFFER_OPERATION_OES"        value="0x0506"/>
131    <enum name="RGBA4_OES"                                value="0x8056"/>
132    <enum name="RGB5_A1_OES"                              value="0x8057"/>
133    <enum name="DEPTH_COMPONENT16_OES"                    value="0x81A5"/>
134
135    <enum name="MAX_RENDERBUFFER_SIZE_OES"                value="0x84E8"/>
136    <enum name="FRAMEBUFFER_BINDING_OES"                  value="0x8CA6"/>
137    <enum name="RENDERBUFFER_BINDING_OES"                 value="0x8CA7"/>
138    <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES"   value="0x8CD0"/>
139    <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"   value="0x8CD1"/>
140    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" value="0x8CD2"/>
141    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" value="0x8CD3"/>
142    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" value="0x8CD4"/>
143    <enum name="FRAMEBUFFER_COMPLETE_OES"                 value="0x8CD5"/>
144    <enum name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"    value="0x8CD6"/>
145    <enum name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES" value="0x8CD7"/>
146    <enum name="FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES"    value="0x8CD9"/>
147    <enum name="FRAMEBUFFER_INCOMPLETE_FORMATS_OES"       value="0x8CDA"/>
148    <enum name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES"   value="0x8CDB"/>
149    <enum name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES"   value="0x8CDC"/>
150    <enum name="FRAMEBUFFER_UNSUPPORTED_OES"              value="0x8CDD"/>
151    <enum name="COLOR_ATTACHMENT0_OES"                    value="0x8CE0"/>
152    <enum name="DEPTH_ATTACHMENT_OES"                     value="0x8D00"/>
153    <enum name="STENCIL_ATTACHMENT_OES"                   value="0x8D20"/>
154    <enum name="FRAMEBUFFER_OES"                          value="0x8D40"/>
155    <enum name="RENDERBUFFER_OES"                         value="0x8D41"/>
156    <enum name="RENDERBUFFER_WIDTH_OES"                   value="0x8D42"/>
157    <enum name="RENDERBUFFER_HEIGHT_OES"                  value="0x8D43"/>
158    <enum name="RENDERBUFFER_INTERNAL_FORMAT_OES"         value="0x8D44"/>
159    <enum name="STENCIL_INDEX1_OES"                       value="0x8D46"/>
160    <enum name="STENCIL_INDEX4_OES"                       value="0x8D47"/>
161    <enum name="STENCIL_INDEX8_OES"                       value="0x8D48"/>
162    <enum name="RENDERBUFFER_RED_SIZE_OES"                value="0x8D50"/>
163    <enum name="RENDERBUFFER_GREEN_SIZE_OES"              value="0x8D51"/>
164    <enum name="RENDERBUFFER_BLUE_SIZE_OES"               value="0x8D52"/>
165    <enum name="RENDERBUFFER_ALPHA_SIZE_OES"              value="0x8D53"/>
166    <enum name="RENDERBUFFER_DEPTH_SIZE_OES"              value="0x8D54"/>
167    <enum name="RENDERBUFFER_STENCIL_SIZE_OES"            value="0x8D55"/>
168    <enum name="RGB565_OES"                               value="0x8D62"/>
169
170    <function name="BindFramebufferOES" alias="BindFramebuffer" es1="1.0">
171        <param name="target" type="GLenum"/>
172        <param name="framebuffer" type="GLuint"/>
173    </function>
174
175    <function name="BindRenderbufferOES" alias="BindRenderbuffer" es1="1.0">
176        <param name="target" type="GLenum"/>
177        <param name="renderbuffer" type="GLuint"/>
178    </function>
179
180    <function name="CheckFramebufferStatusOES"
181              alias="CheckFramebufferStatus" es1="1.0">
182        <param name="target" type="GLenum"/>
183	<return type="GLenum"/>
184    </function>
185
186    <function name="DeleteFramebuffersOES" alias="DeleteFramebuffers" es1="1.0">
187        <param name="n" type="GLsizei" counter="true"/>
188        <param name="framebuffers" type="const GLuint *" count="n"/>
189    </function>
190
191    <function name="DeleteRenderbuffersOES" alias="DeleteRenderbuffers"
192	      es1="1.0">
193        <param name="n" type="GLsizei" counter="true"/>
194        <param name="renderbuffers" type="const GLuint *" count="n"/>
195    </function>
196
197    <function name="FramebufferRenderbufferOES"
198              alias="FramebufferRenderbuffer" es1="1.0">
199        <param name="target" type="GLenum"/>
200        <param name="attachment" type="GLenum"/>
201        <param name="renderbuffertarget" type="GLenum"/>
202        <param name="renderbuffer" type="GLuint"/>
203    </function>
204
205    <function name="FramebufferTexture2DOES" alias="FramebufferTexture2D"
206	      es1="1.0">
207        <param name="target" type="GLenum"/>
208        <param name="attachment" type="GLenum"/>
209        <param name="textarget" type="GLenum"/>
210        <param name="texture" type="GLuint"/>
211        <param name="level" type="GLint"/>
212    </function>
213
214    <function name="GenerateMipmapOES" alias="GenerateMipmap" es1="1.0">
215        <param name="target" type="GLenum"/>
216    </function>
217
218    <function name="GenFramebuffersOES" alias="GenFramebuffers" es1="1.0">
219        <param name="n" type="GLsizei" counter="true"/>
220        <param name="framebuffers" type="GLuint *" count="n" output="true"/>
221    </function>
222
223    <function name="GenRenderbuffersOES" alias="GenRenderbuffers" es1="1.0">
224        <param name="n" type="GLsizei" counter="true"/>
225        <param name="renderbuffers" type="GLuint *" count="n" output="true"/>
226    </function>
227
228    <function name="GetFramebufferAttachmentParameterivOES"
229              alias="GetFramebufferAttachmentParameteriv" es1="1.0">
230        <param name="target" type="GLenum"/>
231        <param name="attachment" type="GLenum"/>
232        <param name="pname" type="GLenum"/>
233        <param name="params" type="GLint *" output="true"/>
234    </function>
235
236    <function name="GetRenderbufferParameterivOES"
237              alias="GetRenderbufferParameteriv" es1="1.0">
238        <param name="target" type="GLenum"/>
239        <param name="pname" type="GLenum"/>
240        <param name="params" type="GLint *" output="true"/>
241    </function>
242
243    <function name="IsFramebufferOES" alias="IsFramebuffer" es1="1.0">
244        <param name="framebuffer" type="GLuint"/>
245	<return type="GLboolean"/>
246    </function>
247
248    <function name="IsRenderbufferOES" alias="IsRenderbuffer" es1="1.0">
249        <param name="renderbuffer" type="GLuint"/>
250	<return type="GLboolean"/>
251    </function>
252
253    <function name="RenderbufferStorageOES" alias="RenderbufferStorage"
254	      es1="1.0">
255        <param name="target" type="GLenum"/>
256        <param name="internalformat" type="GLenum"/>
257        <param name="width" type="GLsizei"/>
258        <param name="height" type="GLsizei"/>
259    </function>
260</category>
261
262<!-- core addition to es1.1 -->
263<category name="GL_OES_matrix_get" number="11">
264    <enum name="MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"   value="0x898D"/>
265    <enum name="PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"  value="0x898E"/>
266    <enum name="TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"	  value="0x898F"/>
267</category>
268
269<!-- optional for es1.1 -->
270<category name="GL_OES_matrix_palette" number="12">
271    <enum name="MAX_VERTEX_UNITS_OES"                     value="0x86A4"/>
272    <enum name="WEIGHT_ARRAY_TYPE_OES"                    value="0x86A9"/>
273    <enum name="WEIGHT_ARRAY_STRIDE_OES"                  value="0x86AA"/>
274    <enum name="WEIGHT_ARRAY_SIZE_OES"                    value="0x86AB"/>
275    <enum name="WEIGHT_ARRAY_POINTER_OES"                 value="0x86AC"/>
276    <enum name="WEIGHT_ARRAY_OES"                         value="0x86AD"/>
277    <enum name="MATRIX_PALETTE_OES"                       value="0x8840"/>
278    <enum name="MAX_PALETTE_MATRICES_OES"                 value="0x8842"/>
279    <enum name="CURRENT_PALETTE_MATRIX_OES"               value="0x8843"/>
280    <enum name="MATRIX_INDEX_ARRAY_OES"                   value="0x8844"/>
281    <enum name="MATRIX_INDEX_ARRAY_SIZE_OES"              value="0x8846"/>
282    <enum name="MATRIX_INDEX_ARRAY_TYPE_OES"              value="0x8847"/>
283    <enum name="MATRIX_INDEX_ARRAY_STRIDE_OES"            value="0x8848"/>
284    <enum name="MATRIX_INDEX_ARRAY_POINTER_OES"           value="0x8849"/>
285    <enum name="WEIGHT_ARRAY_BUFFER_BINDING_OES"          value="0x889E"/>
286    <enum name="MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"    value="0x8B9E"/>
287
288    <function name="CurrentPaletteMatrixOES" alias="CurrentPaletteMatrixARB"
289	      exec="skip">
290        <param name="matrixpaletteindex" type="GLuint"/>
291    </function>
292
293    <!-- no offset -->
294    <function name="LoadPaletteFromModelViewMatrixOES" exec="skip">
295    </function>
296
297    <function name="MatrixIndexPointerOES" alias="MatrixIndexPointerARB"
298	      exec="skip">
299        <param name="size" type="GLint"/>
300        <param name="type" type="GLenum"/>
301        <param name="stride" type="GLsizei"/>
302        <param name="pointer" type="const GLvoid *"/>
303    </function>
304
305    <function name="WeightPointerOES" alias="WeightPointerARB" exec="skip">
306        <param name="size" type="GLint"/>
307        <param name="type" type="GLenum"/>
308        <param name="stride" type="GLsizei"/>
309        <param name="pointer" type="const GLvoid *"/>
310    </function>
311</category>
312
313<!-- required for es1.1 -->
314<category name="GL_OES_point_size_array" number="14">
315    <enum name="POINT_SIZE_ARRAY_TYPE_OES"                value="0x898A"/>
316    <enum name="POINT_SIZE_ARRAY_STRIDE_OES"	          value="0x898B"/>
317    <enum name="POINT_SIZE_ARRAY_POINTER_OES"	          value="0x898C"/>
318    <enum name="POINT_SIZE_ARRAY_OES"                     value="0x8B9C"/>
319    <enum name="POINT_SIZE_ARRAY_BUFFER_BINDING_OES"	  value="0x8B9F"/>
320
321    <function name="PointSizePointerOES" es1="1.0" desktop="false"
322              no_error="true">
323        <param name="type" type="GLenum"/>
324        <param name="stride" type="GLsizei"/>
325        <param name="pointer" type="const GLvoid *"/>
326    </function>
327</category>
328
329<!-- required for es1.1 -->
330<category name="GL_OES_point_sprite" number="15">
331    <enum name="POINT_SPRITE_OES"                         value="0x8861"/>
332    <enum name="COORD_REPLACE_OES"	                  value="0x8862"/>
333</category>
334
335<!-- optional for es1.0 -->
336<category name="GL_OES_query_matrix" number="16">
337    <function name="QueryMatrixxOES" es1="1.0" desktop="false">
338        <param name="mantissa" type="GLfixed *" count="16" />
339        <param name="exponent" type="GLint *" count="16" />
340	<return type="GLbitfield"/>
341    </function>
342</category>
343
344<!-- required for es1.0 and later -->
345<!-- 17. GL_OES_read_format -->
346
347<!-- core addition to es1.0 and later -->
348<!-- 18. GL_OES_single_precision -->
349
350<!-- part of es1.1 extension pack -->
351<category name="GL_OES_texture_cube_map" number="20">
352    <enum name="TEXTURE_GEN_MODE_OES"                     value="0x2500"/>
353    <enum name="NORMAL_MAP_OES"                           value="0x8511"/>
354    <enum name="REFLECTION_MAP_OES"                       value="0x8512"/>
355    <enum name="TEXTURE_CUBE_MAP_OES"                     value="0x8513"/>
356    <enum name="TEXTURE_BINDING_CUBE_MAP_OES"             value="0x8514"/>
357    <enum name="TEXTURE_CUBE_MAP_POSITIVE_X_OES"          value="0x8515"/>
358    <enum name="TEXTURE_CUBE_MAP_NEGATIVE_X_OES"          value="0x8516"/>
359    <enum name="TEXTURE_CUBE_MAP_POSITIVE_Y_OES"          value="0x8517"/>
360    <enum name="TEXTURE_CUBE_MAP_NEGATIVE_Y_OES"          value="0x8518"/>
361    <enum name="TEXTURE_CUBE_MAP_POSITIVE_Z_OES"          value="0x8519"/>
362    <enum name="TEXTURE_CUBE_MAP_NEGATIVE_Z_OES"          value="0x851A"/>
363    <enum name="MAX_CUBE_MAP_TEXTURE_SIZE_OES"            value="0x851C"/>
364    <enum name="TEXTURE_GEN_STR_OES"                      value="0x8D60"/>
365
366    <function name="GetTexGenfvOES" alias="GetTexGenfv" es1="1.0">
367        <param name="coord" type="GLenum"/>
368        <param name="pname" type="GLenum"/>
369        <param name="params" type="GLfloat *" output="true" variable_param="pname"/>
370    </function>
371
372    <function name="GetTexGenivOES" alias="GetTexGeniv" es1="1.0">
373        <param name="coord" type="GLenum"/>
374        <param name="pname" type="GLenum"/>
375        <param name="params" type="GLint *" output="true" variable_param="pname"/>
376    </function>
377
378    <function name="TexGenfOES" alias="TexGenf" es1="1.0">
379        <param name="coord" type="GLenum"/>
380        <param name="pname" type="GLenum"/>
381        <param name="param" type="GLfloat"/>
382    </function>
383
384    <function name="TexGenfvOES" alias="TexGenfv" es1="1.0">
385        <param name="coord" type="GLenum"/>
386        <param name="pname" type="GLenum"/>
387        <param name="params" type="const GLfloat *" variable_param="pname"/>
388    </function>
389
390    <function name="TexGeniOES" alias="TexGeni" es1="1.0">
391        <param name="coord" type="GLenum"/>
392        <param name="pname" type="GLenum"/>
393        <param name="param" type="GLint"/>
394    </function>
395
396    <function name="TexGenivOES" alias="TexGeniv" es1="1.0">
397        <param name="coord" type="GLenum"/>
398        <param name="pname" type="GLenum"/>
399        <param name="params" type="const GLint *" variable_param="pname"/>
400    </function>
401</category>
402
403<category name="GL_OES_texture_env_crossbar" number="21">
404    <!-- No new functions, types, enums. -->
405</category>
406
407<category name="GL_OES_texture_mirrored_repeat" number="22">
408    <!-- No new functions, types, enums. -->
409</category>
410
411<!-- 23. GL_OES_EGL_image -->
412
413<category name="GL_OES_depth24" number="24">
414    <enum name="DEPTH_COMPONENT24_OES"                    value="0x81A6"/>
415</category>
416
417<category name="GL_OES_depth32" number="25">
418    <enum name="DEPTH_COMPONENT32_OES"                    value="0x81A7"/>
419</category>
420
421<!-- 26. GL_OES_element_index_uint -->
422
423<!-- 27. GL_OES_fbo_render_mipmap -->
424
425<category name="GL_OES_mapbuffer" number="29">
426    <enum name="WRITE_ONLY_OES"                           value="0x88B9"/>
427    <enum name="BUFFER_ACCESS_OES"                        value="0x88BB"/>
428    <enum name="BUFFER_MAPPED_OES"                        value="0x88BC"/>
429    <enum name="BUFFER_MAP_POINTER_OES"                   value="0x88BD"/>
430
431    <function name="GetBufferPointervOES" alias="GetBufferPointerv"
432	      es1="1.0" es2="2.0">
433        <param name="target" type="GLenum"/>
434        <param name="pname" type="GLenum"/>
435        <param name="params" type="GLvoid **"/>
436    </function>
437
438    <function name="MapBufferOES" alias="MapBuffer" es1="1.0" es2="2.0">
439        <param name="target" type="GLenum"/>
440        <param name="access" type="GLenum"/>
441	<return type="GLvoid *"/>
442    </function>
443
444    <function name="UnmapBufferOES" alias="UnmapBuffer" es1="1.0" es2="2.0">
445        <param name="target" type="GLenum"/>
446	<return type="GLboolean"/>
447    </function>
448</category>
449
450<category name="GL_OES_rgb8_rgba8" number="30">
451    <enum name="RGB8_OES"                                 value="0x8051"/>
452    <enum name="RGBA8_OES"                                value="0x8058"/>
453</category>
454
455<category name="GL_OES_stencil1" number="31">
456    <enum name="STENCIL_INDEX1_OES"                       value="0x8D46"/>
457</category>
458
459<category name="GL_OES_stencil4" number="32">
460    <enum name="STENCIL_INDEX4_OES"                       value="0x8D47"/>
461</category>
462
463<category name="GL_OES_stencil8" number="33">
464    <enum name="STENCIL_INDEX8_OES"                       value="0x8D48"/>
465</category>
466
467<category name="GL_OES_texture_3D" number="34">
468    <enum name="TEXTURE_BINDING_3D_OES"                   value="0x806A"/>
469    <enum name="TEXTURE_3D_OES"                           value="0x806F"/>
470    <enum name="TEXTURE_WRAP_R_OES"                       value="0x8072"/>
471    <enum name="MAX_3D_TEXTURE_SIZE_OES"                  value="0x8073"/>
472    <enum name="SAMPLER_3D_OES"                           value="0x8B5F"/>
473    <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" value="0x8CD4"/>
474
475    <function name="CompressedTexImage3DOES" alias="CompressedTexImage3D"
476	      es2="2.0">
477        <param name="target" type="GLenum"/>
478        <param name="level" type="GLint"/>
479        <param name="internalformat" type="GLenum"/>
480        <param name="width" type="GLsizei"/>
481        <param name="height" type="GLsizei"/>
482        <param name="depth" type="GLsizei"/>
483        <param name="border" type="GLint"/>
484        <param name="imageSize" type="GLsizei" counter="true"/>
485        <param name="data" type="const GLvoid *" count="imageSize"/>
486    </function>
487
488    <function name="CompressedTexSubImage3DOES"
489              alias="CompressedTexSubImage3D" es2="2.0">
490        <param name="target" type="GLenum"/>
491        <param name="level" type="GLint"/>
492        <param name="xoffset" type="GLint"/>
493        <param name="yoffset" type="GLint"/>
494        <param name="zoffset" type="GLint"/>
495        <param name="width" type="GLsizei"/>
496        <param name="height" type="GLsizei"/>
497        <param name="depth" type="GLsizei"/>
498        <param name="format" type="GLenum"/>
499        <param name="imageSize" type="GLsizei" counter="true"/>
500        <param name="data" type="const GLvoid *" count="imageSize"/>
501    </function>
502
503    <function name="CopyTexSubImage3DOES" alias="CopyTexSubImage3D" es2="2.0">
504        <param name="target" type="GLenum"/>
505        <param name="level" type="GLint"/>
506        <param name="xoffset" type="GLint"/>
507        <param name="yoffset" type="GLint"/>
508        <param name="zoffset" type="GLint"/>
509        <param name="x" type="GLint"/>
510        <param name="y" type="GLint"/>
511        <param name="width" type="GLsizei"/>
512        <param name="height" type="GLsizei"/>
513    </function>
514
515    <function name="FramebufferTexture3DOES" alias="FramebufferTexture3D"
516	      es2="2.0">
517        <param name="target" type="GLenum"/>
518        <param name="attachment" type="GLenum"/>
519        <param name="textarget" type="GLenum"/>
520        <param name="texture" type="GLuint"/>
521        <param name="level" type="GLint"/>
522        <param name="zoffset" type="GLint"/>
523    </function>
524
525    <function name="TexImage3DOES" alias="TexImage3D" es2="2.0">
526        <param name="target" type="GLenum"/>
527        <param name="level" type="GLint"/>
528        <param name="internalformat" type="GLenum"/>
529        <param name="width" type="GLsizei"/>
530        <param name="height" type="GLsizei"/>
531        <param name="depth" type="GLsizei"/>
532        <param name="border" type="GLint"/>
533        <param name="format" type="GLenum"/>
534        <param name="type" type="GLenum"/>
535        <param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_depth="depth" img_format="format" img_type="type" img_target="target" img_null_flag="true" img_pad_dimensions="true"/>
536    </function>
537
538    <function name="TexSubImage3DOES" alias="TexSubImage3D" es2="2.0">
539        <param name="target" type="GLenum"/>
540        <param name="level" type="GLint"/>
541        <param name="xoffset" type="GLint"/>
542        <param name="yoffset" type="GLint"/>
543        <param name="zoffset" type="GLint"/>
544        <param name="width" type="GLsizei"/>
545        <param name="height" type="GLsizei"/>
546        <param name="depth" type="GLsizei"/>
547        <param name="format" type="GLenum"/>
548        <param name="type" type="GLenum"/>
549        <param name="UNUSED" type="GLuint" padding="true"/>
550        <param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_depth="depth" img_xoff="xoffset" img_yoff="yoffset" img_zoff="zoffset" img_format="format" img_type="type" img_target="target" img_pad_dimensions="true"/>
551    </function>
552</category>
553
554<!-- the other name is OES_texture_float_linear -->
555<!-- 35. GL_OES_texture_half_float_linear -->
556
557<!-- the other name is OES_texture_float -->
558<category name="GL_OES_texture_half_float" number="36">
559    <enum name="HALF_FLOAT_OES"                           value="0x8D61"/>
560</category>
561
562<!-- 37. GL_OES_texture_npot -->
563
564<category name="GL_OES_vertex_half_float" number="38">
565    <enum name="HALF_FLOAT_OES"                           value="0x8D61"/>
566</category>
567
568<category name="GL_AMD_compressed_ATC_texture" number="40">
569    <enum name="ATC_RGB_AMD"                              value="0x8C92"/>
570    <enum name="ATC_RGBA_EXPLICIT_ALPHA_AMD"              value="0x8C93"/>
571    <enum name="ATC_RGBA_INTERPOLATED_ALPHA_AMD"          value="0x87EE"/>
572</category>
573
574<!-- 41. GL_EXT_texture_filter_anisotropic -->
575
576<category name="GL_EXT_texture_type_2_10_10_10_REV" number="42">
577    <enum name="UNSIGNED_INT_2_10_10_10_REV_EXT"          value="0x8368"/>
578</category>
579
580<category name="GL_OES_packed_depth_stencil" number="43">
581    <enum name="DEPTH_STENCIL_OES"                        value="0x84F9"/>
582    <enum name="UNSIGNED_INT_24_8_OES"                    value="0x84FA"/>
583    <enum name="DEPTH24_STENCIL8_OES"                     value="0x88F0"/>
584</category>
585
586<!-- 44. GL_OES_depth_texture -->
587
588<category name="GL_OES_standard_derivatives" number="45">
589    <enum name="FRAGMENT_SHADER_DERIVATIVE_HINT_OES"      value="0x8B8B"/>
590</category>
591
592<category name="GL_OES_vertex_type_10_10_10_2" number="46">
593    <enum name="UNSIGNED_INT_10_10_10_2_OES"              value="0x8DF6"/>
594    <enum name="INT_10_10_10_2_OES"                       value="0x8DF7"/>
595</category>
596
597<category name="GL_OES_get_program_binary" number="47">
598    <enum name="PROGRAM_BINARY_LENGTH_OES"                value="0x8741"/>
599    <enum name="NUM_PROGRAM_BINARY_FORMATS_OES"           value="0x87FE"/>
600    <enum name="PROGRAM_BINARY_FORMATS_OES"               value="0x87FF"/>
601
602    <function name="GetProgramBinaryOES" alias="GetProgramBinary" es2="2.0">
603        <param name="program" type="GLuint"/>
604        <param name="bufSize" type="GLsizei"/>
605        <param name="length" type="GLsizei *"/>
606        <param name="binaryFormat" type="GLenum *"/>
607        <param name="binary" type="GLvoid *"/>
608    </function>
609
610    <function name="ProgramBinaryOES" alias="ProgramBinary" es2="2.0">
611        <param name="program" type="GLuint"/>
612        <param name="binaryFormat" type="GLenum"/>
613        <param name="binary" type="const GLvoid *"/>
614        <param name="length" type="GLint"/>
615    </function>
616</category>
617
618<category name="GL_EXT_texture_compression_dxt1" number="49">
619    <enum name="COMPRESSED_RGB_S3TC_DXT1_EXT"             value="0x83F0"/>
620    <enum name="COMPRESSED_RGBA_S3TC_DXT1_EXT"            value="0x83F1"/>
621</category>
622
623<category name="GL_EXT_texture_format_BGRA8888" number="51">
624    <enum name="BGRA_EXT"                                 value="0x80E1"/>
625</category>
626
627<category name="GL_EXT_texture_lod_bias" number="60">
628    <enum name="TEXTURE_FILTER_CONTROL_EXT"               value="0x8500"/>
629    <enum name="TEXTURE_LOD_BIAS_EXT"                     value="0x8501"/>
630    <enum name="MAX_TEXTURE_LOD_BIAS_EXT"                 value="0x84FD"/>
631</category>
632
633<!-- 64. GL_EXT_discard_framebuffer -->
634
635<category name="GL_EXT_discard_framebuffer" number="64">
636    <function name="DiscardFramebufferEXT" es1="1.0" es2="2.0" desktop="false">
637        <param name="target" type="GLenum"/>
638        <param name="numAttachments" type="GLsizei"/>
639        <param name="attachments" type="const GLenum *" count="numAttachments"/>
640    </function>
641    <enum name="COLOR_EXT"                                value="0x1800"/>
642    <enum name="DEPTH_EXT"                                value="0x1801"/>
643    <enum name="STENCIL_EXT"                              value="0x1802"/>
644</category>
645
646<!-- 65. GL_EXT_blend_minmax -->
647
648<category name="GL_EXT_read_format_bgra" number="66">
649    <enum name="BGRA_EXT"                                 value="0x80E1"/>
650    <enum name="UNSIGNED_SHORT_4_4_4_4_REV_EXT"           value="0x8365"/>
651    <enum name="UNSIGNED_SHORT_1_5_5_5_REV_EXT"           value="0x8366"/>
652</category>
653
654<!-- 69. GL_EXT_multi_draw_arrays -->
655
656<!-- 71. GL_OES_vertex_array_object -->
657<category name="GL_OES_vertex_array_object" number="71">
658    <function name="BindVertexArrayOES" alias="BindVertexArray" es2="2.0">
659        <param name="array" type="GLuint"/>
660    </function>
661
662    <function name="DeleteVertexArraysOES" alias="DeleteVertexArrays" es2="2.0">
663        <param name="n" type="GLsizei"/>
664        <param name="arrays" type="const GLuint *" count="n"/>
665    </function>
666
667    <function name="GenVertexArraysOES" alias="GenVertexArrays" es2="2.0">
668        <param name="n" type="GLsizei"/>
669        <param name="arrays" type="GLuint *" output="true" count="n"/>
670    </function>
671
672    <function name="IsVertexArrayOES" alias="IsVertexArray" es2="2.0">
673        <param name="array" type="GLuint"/>
674        <return type="GLboolean"/>
675    </function>
676
677    <enum name="VERTEX_ARRAY_BINDING_OES"      count="1"  value="0x85B5">
678        <size name="Get" mode="get"/>
679    </enum>
680</category>
681
682<!-- 87. GL_OES_EGL_image_external -->
683<category name="GL_OES_EGL_image_external" number="87">
684    <enum name="TEXTURE_EXTERNAL_OES"                     value="0x8D65"/>
685    <enum name="SAMPLER_EXTERNAL_OES"                     value="0x8D66"/>
686    <enum name="TEXTURE_BINDING_EXTERNAL_OES"             value="0x8D67"/>
687    <enum name="REQUIRED_TEXTURE_IMAGE_UNITS_OES"         value="0x8D68"/>
688</category>
689
690<!--
691    This extension serves a similar purpose to ARB_draw_buffers except
692    that this is for OpenGL ES 2.0.
693-->
694<category name="GL_NV_draw_buffers" number="91">
695    <enum name="MAX_DRAW_BUFFERS_NV"           count="1"  value="0x8824">
696        <size name="Get" mode="get"/>
697    </enum>
698    <enum name="DRAW_BUFFER0_NV"               count="1"  value="0x8825">
699        <size name="Get" mode="get"/>
700    </enum>
701    <enum name="DRAW_BUFFER1_NV"               count="1"  value="0x8826">
702        <size name="Get" mode="get"/>
703    </enum>
704    <enum name="DRAW_BUFFER2_NV"               count="1"  value="0x8827">
705        <size name="Get" mode="get"/>
706    </enum>
707    <enum name="DRAW_BUFFER3_NV"               count="1"  value="0x8828">
708        <size name="Get" mode="get"/>
709    </enum>
710    <enum name="DRAW_BUFFER4_NV"               count="1"  value="0x8829">
711        <size name="Get" mode="get"/>
712    </enum>
713    <enum name="DRAW_BUFFER5_NV"               count="1"  value="0x882A">
714        <size name="Get" mode="get"/>
715    </enum>
716    <enum name="DRAW_BUFFER6_NV"               count="1"  value="0x882B">
717        <size name="Get" mode="get"/>
718    </enum>
719    <enum name="DRAW_BUFFER7_NV"               count="1"  value="0x882C">
720        <size name="Get" mode="get"/>
721    </enum>
722    <enum name="DRAW_BUFFER8_NV"               count="1"  value="0x882D">
723        <size name="Get" mode="get"/>
724    </enum>
725    <enum name="DRAW_BUFFER9_NV"               count="1"  value="0x882E">
726        <size name="Get" mode="get"/>
727    </enum>
728    <enum name="DRAW_BUFFER10_NV"              count="1"  value="0x882F">
729        <size name="Get" mode="get"/>
730    </enum>
731    <enum name="DRAW_BUFFER11_NV"              count="1"  value="0x8830">
732        <size name="Get" mode="get"/>
733    </enum>
734    <enum name="DRAW_BUFFER12_NV"              count="1"  value="0x8831">
735        <size name="Get" mode="get"/>
736    </enum>
737    <enum name="DRAW_BUFFER13_NV"              count="1"  value="0x8832">
738        <size name="Get" mode="get"/>
739    </enum>
740    <enum name="DRAW_BUFFER14_NV"              count="1"  value="0x8833">
741        <size name="Get" mode="get"/>
742    </enum>
743    <enum name="DRAW_BUFFER15_NV"              count="1"  value="0x8834">
744        <size name="Get" mode="get"/>
745    </enum>
746
747    <function name="DrawBuffersNV" alias="DrawBuffers" es2="2.0">
748        <param name="n" type="GLsizei" counter="true"/>
749        <param name="bufs" type="const GLenum *" count="n"/>
750    </function>
751</category>
752
753<!-- 93. GL_NV_read_buffer -->
754<category name="GL_NV_read_buffer">
755    <function name="ReadBufferNV" alias="ReadBuffer" es2="2.0">
756        <param name="mode" type="GLenum"/>
757    </function>
758</category>
759
760<!-- 100. GL_EXT_occlusion_query_boolean -->
761<category name="GL_EXT_occlusion_query_boolean" number="100">
762    <enum name="CURRENT_QUERY_EXT"                   value="0x8865"/>
763    <enum name="QUERY_RESULT_EXT"                    value="0x8866"/>
764    <enum name="QUERY_RESULT_AVAILABLE_EXT"          value="0x8867"/>
765    <enum name="ANY_SAMPLES_PASSED_EXT"              value="0x8C2F"/>
766    <enum name="ANY_SAMPLES_PASSED_CONSERVATIVE_EXT" value="0x8D6A"/>
767
768    <function name="GenQueriesEXT" alias="GenQueries" es2="2.0">
769        <param name="n" type="GLsizei"/>
770        <param name="ids" type="GLuint *"/>
771    </function>
772
773    <function name="DeleteQueriesEXT" alias="DeleteQueries" es2="2.0">
774        <param name="n" type="GLsizei"/>
775        <param name="ids" type="const GLuint *"/>
776    </function>
777
778    <function name="IsQueryEXT" alias="IsQuery" es2="2.0">
779        <param name="id" type="GLuint"/>
780        <return type="GLboolean"/>
781    </function>
782
783    <function name="BeginQueryEXT" alias="BeginQuery" es2="2.0">
784        <param name="target" type="GLenum"/>
785        <param name="id" type="GLuint"/>
786    </function>
787
788    <function name="EndQueryEXT" alias="EndQuery" es2="2.0">
789        <param name="target" type="GLenum"/>
790    </function>
791
792    <function name="GetQueryivEXT" alias="GetQueryiv" es2="2.0">
793        <param name="target" type="GLenum"/>
794        <param name="pname" type="GLenum"/>
795        <param name="params" type="GLint *"/>
796    </function>
797
798    <function name="GetQueryObjectivEXT" alias="GetQueryObjectiv" es2="2.0">
799        <param name="id" type="GLuint"/>
800        <param name="pname" type="GLenum"/>
801        <param name="params" type="GLint *"/>
802    </function>
803
804    <function name="GetQueryObjectuivEXT" alias="GetQueryObjectuiv" es2="2.0">
805        <param name="id" type="GLuint"/>
806        <param name="pname" type="GLenum"/>
807        <param name="params" type="GLuint *"/>
808    </function>
809</category>
810
811<!-- 103. GL_EXT_texture_rg -->
812<category name="GL_EXT_texture_rg" number="103">
813    <enum name="RED_EXT"                                  value="0x1903"/>
814    <enum name="RG_EXT"                                   value="0x8227"/>
815    <enum name="R8_EXT"                                   value="0x8229"/>
816    <enum name="RG8_EXT"                                  value="0x822B"/>
817</category>
818
819<xi:include href="EXT_multisampled_render_to_texture.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
820
821<!-- 111. GL_ANGLE_texture_compression_dxt -->
822<category name="GL_ANGLE_texture_compression_dxt" number="111">
823    <enum name="COMPRESSED_RGBA_S3TC_DXT3_ANGLE"        value="0x83F2"/>
824    <enum name="COMPRESSED_RGBA_S3TC_DXT5_ANGLE"        value="0x83F3"/>
825</category>
826
827<!-- 121. GL_EXT_map_buffer_range -->
828<category name="GL_EXT_map_buffer_range" number="121">
829    <enum name="MAP_READ_BIT_EXT"                         value="0x0001"/>
830    <enum name="MAP_WRITE_BIT_EXT"                        value="0x0002"/>
831    <enum name="MAP_INVALIDATE_RANGE_BIT_EXT"             value="0x0004"/>
832    <enum name="MAP_INVALIDATE_BUFFER_BIT_EXT"            value="0x0008"/>
833    <enum name="MAP_FLUSH_EXPLICIT_BIT_EXT"               value="0x0010"/>
834    <enum name="MAP_UNSYNCHRONIZED_BIT_EXT"               value="0x0020"/>
835
836    <function name="MapBufferRangeEXT" alias="MapBufferRange"
837	      es1="1.0" es2="2.0">
838        <param name="target" type="GLenum"/>
839        <param name="offset" type="GLintptr"/>
840        <param name="size" type="GLsizeiptr"/>
841        <param name="length" type="GLbitfield"/>
842        <return type="GLvoid *"/>
843    </function>
844
845    <function name="FlushMappedBufferRangeEXT" alias="FlushMappedBufferRange"
846	      es1="1.0" es2="2.0">
847        <param name="target" type="GLenum"/>
848        <param name="offset" type="GLintptr"/>
849        <param name="length" type="GLsizeiptr"/>
850    </function>
851</category>
852
853<!-- 150. GL_EXT_disjoint_timer_query -->
854<category name="GL_EXT_disjoint_timer_query" number="150">
855    <enum name="QUERY_COUNTER_BITS_EXT"     value="0x8864"/>
856    <enum name="CURRENT_QUERY_EXT"          value="0x8865"/>
857    <enum name="QUERY_RESULT_EXT"           value="0x8866"/>
858    <enum name="QUERY_RESULT_AVAILABLE_EXT" value="0x8867"/>
859    <enum name="TIME_ELAPSED_EXT"           value="0x88BF"/>
860    <enum name="TIMESTAMP_EXT"              value="0x8E28"/>
861    <enum name="GPU_DISJOINT_EXT"           value="0x8FBB"/>
862
863    <function name="QueryCounterEXT" alias="QueryCounter" es2="2.0">
864        <param name="id" type="GLuint"/>
865        <param name="target" type="GLenum"/>
866    </function>
867</category>
868
869<!-- 151. GL_EXT_draw_buffers -->
870<category name="GL_EXT_draw_buffers" number="151">
871    <function name="DrawBuffersEXT" alias="DrawBuffers" es2="2.0">
872        <param name="n" type="GLsizei" counter="true"/>
873        <param name="bufs" type="const GLenum *" count="n"/>
874    </function>
875</category>
876
877<category name="GL_OES_sample_shading" number="169">
878    <function name="MinSampleShadingOES" alias="MinSampleShading" es2="3.0">
879        <param name="value" type="GLfloat"/>
880    </function>
881</category>
882
883<!-- 174. GL_OES_texture_storage_multisample_2d_array -->
884<category name="GL_OES_texture_storage_multisample_2d_array" number="174">
885    <enum name="TEXTURE_2D_MULTISAMPLE_ARRAY_OES"              value="0x9102"/>
886    <enum name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"      value="0x9105"/>
887    <enum name="SAMPLER_2D_MULTISAMPLE_ARRAY_OES"              value="0x910B"/>
888    <enum name="INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"          value="0x910C"/>
889    <enum name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES" value="0x910D"/>
890
891    <function name="TexStorage3DMultisampleOES" alias="TexStorage3DMultisample" es2="3.1">
892        <param name="target" type="GLenum"/>
893        <param name="samples" type="GLsizei"/>
894        <param name="internalformat" type="GLenum"/>
895        <param name="width" type="GLsizei"/>
896        <param name="height" type="GLsizei"/>
897        <param name="depth" type="GLsizei"/>
898        <param name="fixedsamplelocations" type="GLboolean"/>
899    </function>
900</category>
901
902<category name="GL_EXT_draw_buffers_indexed" number="176">
903
904  <function name="BlendFunciEXT" alias="BlendFunciARB" es2="3.0">
905    <param name="buf" type="GLuint"/>
906    <param name="sfactor" type="GLenum"/>
907    <param name="dfactor" type="GLenum"/>
908  </function>
909
910  <function name="BlendFuncSeparateiEXT" alias="BlendFuncSeparateiARB" es2="3.0">
911    <param name="buf" type="GLuint"/>
912    <param name="sfactorRGB" type="GLenum"/>
913    <param name="dfactorRGB" type="GLenum"/>
914    <param name="sfactorAlpha" type="GLenum"/>
915    <param name="dfactorAlpha" type="GLenum"/>
916  </function>
917
918  <function name="BlendEquationiEXT" alias="BlendEquationiARB" es2="3.0">
919    <param name="buf" type="GLuint"/>
920    <param name="mode" type="GLenum"/>
921  </function>
922
923  <function name="BlendEquationSeparateiEXT" alias="BlendEquationSeparateiARB" es2="3.0">
924    <param name="buf" type="GLuint"/>
925    <param name="modeRGB" type="GLenum"/>
926    <param name="modeA" type="GLenum"/>
927  </function>
928
929  <function name="ColorMaskiEXT" alias="ColorMaski" es2="3.0">
930    <param name="buf" type="GLuint"/>
931    <param name="r" type="GLboolean"/>
932    <param name="g" type="GLboolean"/>
933    <param name="b" type="GLboolean"/>
934    <param name="a" type="GLboolean"/>
935  </function>
936
937  <function name="EnableiEXT" alias="Enablei" es2="3.0">
938    <param name="target" type="GLenum"/>
939    <param name="index" type="GLuint"/>
940  </function>
941
942  <function name="DisableiEXT" alias="Disablei" es2="3.0">
943    <param name="target" type="GLenum"/>
944    <param name="index" type="GLuint"/>
945  </function>
946
947  <function name="IsEnablediEXT" alias="IsEnabledi" es2="3.0">
948    <param name="target" type="GLenum"/>
949    <param name="index" type="GLuint"/>
950    <return type="GLboolean"/>
951  </function>
952
953</category>
954
955<category name="GL_EXT_geometry_shader" number="177">
956    <!-- The rest of the bits for this are below in OES_geometry_shader. -->
957    <function name="FramebufferTextureEXT" alias="FramebufferTexture" es2="3.1">
958        <param name="target" type="GLenum"/>
959        <param name="attachment" type="GLenum"/>
960        <param name="texture" type="GLuint"/>
961        <param name="level" type="GLint"/>
962    </function>
963</category>
964
965<category name="GL_EXT_texture_border_clamp" number="182">
966
967    <!-- The *TexParameter* functions are added in EXT_texture_integer -->
968
969    <function name="SamplerParameterIivEXT" es2="3.0" alias="SamplerParameterIiv">
970      <param name="sampler" type="GLuint"/>
971      <param name="pname" type="GLenum"/>
972      <param name="params" type="const GLint *"/>
973    </function>
974
975    <function name="SamplerParameterIuivEXT" es2="3.0" alias="SamplerParameterIuiv">
976      <param name="sampler" type="GLuint"/>
977      <param name="pname" type="GLenum"/>
978      <param name="params" type="const GLuint *"/>
979    </function>
980
981    <function name="GetSamplerParameterIivEXT" es2="3.0" alias="GetSamplerParameterIiv">
982      <param name="sampler" type="GLuint"/>
983      <param name="pname" type="GLenum"/>
984      <param name="params" type="GLint *"/>
985    </function>
986
987    <function name="GetSamplerParameterIuivEXT" es2="3.0" alias="GetSamplerParameterIuiv">
988      <param name="sampler" type="GLuint"/>
989      <param name="pname" type="GLenum"/>
990      <param name="params" type="GLuint *"/>
991    </function>
992
993</category>
994
995<category name="GL_EXT_texture_buffer" number="183">
996
997    <function name="TexBufferEXT" es2="3.1" alias="TexBuffer">
998        <param name="target" type="GLenum"/>
999        <param name="internalFormat" type="GLenum"/>
1000        <param name="buffer" type="GLuint"/>
1001    </function>
1002
1003    <function name="TexBufferRangeEXT" es2="3.1" alias="TexBufferRange">
1004        <param name="target" type="GLenum"/>
1005        <param name="internalformat" type="GLenum"/>
1006        <param name="buffer" type="GLuint"/>
1007        <param name="offset" type="GLintptr"/>
1008        <param name="size" type="GLsizeiptr"/>
1009    </function>
1010
1011</category>
1012
1013<category name="GL_EXT_primitive_bounding_box" number="187">
1014
1015    <function name="PrimitiveBoundingBoxEXT" es2="3.1" alias="PrimitiveBoundingBox">
1016        <param name="minX" type="GLfloat"/>
1017        <param name="minY" type="GLfloat"/>
1018        <param name="minZ" type="GLfloat"/>
1019        <param name="minW" type="GLfloat"/>
1020        <param name="maxX" type="GLfloat"/>
1021        <param name="maxY" type="GLfloat"/>
1022        <param name="maxZ" type="GLfloat"/>
1023        <param name="maxW" type="GLfloat"/>
1024    </function>
1025
1026</category>
1027
1028<xi:include href="KHR_robustness_es.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
1029
1030<category name="GL_EXT_base_instance" number="203">
1031
1032  <function name="DrawArraysInstancedBaseInstanceEXT" es2="3.0"
1033            alias="DrawArraysInstancedBaseInstance">
1034    <param name="mode" type="GLenum"/>
1035    <param name="first" type="GLint"/>
1036    <param name="count" type="GLsizei"/>
1037    <param name="instancecount" type="GLsizei"/>
1038    <param name="baseinstance" type="GLuint"/>
1039  </function>
1040
1041  <function name="DrawElementsInstancedBaseInstanceEXT" es2="3.0"
1042            alias="DrawElementsInstancedBaseInstance">
1043    <param name="mode" type="GLenum"/>
1044    <param name="count" type="GLsizei"/>
1045    <param name="type" type="GLenum"/>
1046    <param name="indices" type="const GLvoid *"/>
1047    <param name="instancecount" type="GLsizei"/>
1048    <param name="baseinstance" type="GLuint"/>
1049  </function>
1050
1051  <function name="DrawElementsInstancedBaseVertexBaseInstanceEXT" es2="3.0"
1052            alias="DrawElementsInstancedBaseVertexBaseInstance">
1053    <param name="mode" type="GLenum"/>
1054    <param name="count" type="GLsizei"/>
1055    <param name="type" type="GLenum"/>
1056    <param name="indices" type="const GLvoid *"/>
1057    <param name="instancecount" type="GLsizei"/>
1058    <param name="basevertex" type="GLint"/>
1059    <param name="baseinstance" type="GLuint"/>
1060  </function>
1061
1062</category>
1063
1064<category name="GL_EXT_draw_elements_base_vertex" number="204">
1065
1066    <function name="DrawElementsBaseVertexEXT" alias="DrawElementsBaseVertex"
1067              es2="2.0" exec="dynamic">
1068        <param name="mode" type="GLenum"/>
1069        <param name="count" type="GLsizei"/>
1070        <param name="type" type="GLenum"/>
1071        <param name="indices" type="const GLvoid *"/>
1072        <param name="basevertex" type="GLint"/>
1073    </function>
1074
1075    <function name="DrawRangeElementsBaseVertexEXT" alias="DrawRangeElementsBaseVertex"
1076              es2="3.0" exec="dynamic">
1077        <param name="mode" type="GLenum"/>
1078        <param name="start" type="GLuint"/>
1079        <param name="end" type="GLuint"/>
1080        <param name="count" type="GLsizei"/>
1081        <param name="type" type="GLenum"/>
1082        <param name="indices" type="const GLvoid *"/>
1083        <param name="basevertex" type="GLint"/>
1084    </function>
1085
1086    <function name="MultiDrawElementsBaseVertexEXT" alias="MultiDrawElementsBaseVertex"
1087              es2="2.0" exec="dynamic">
1088        <param name="mode" type="GLenum"/>
1089        <param name="count" type="const GLsizei *"/>
1090        <param name="type" type="GLenum"/>
1091        <param name="indices" type="const GLvoid * const *"/>
1092        <param name="primcount" type="GLsizei"/>
1093        <param name="basevertex" type="const GLint *"/>
1094    </function>
1095
1096    <function name="DrawElementsInstancedBaseVertexEXT" alias="DrawElementsInstancedBaseVertex"
1097              es2="3.0" exec="dynamic">
1098        <param name="mode" type="GLenum"/>
1099        <param name="count" type="GLsizei"/>
1100        <param name="type" type="GLenum"/>
1101        <param name="indices" type="const GLvoid *"/>
1102        <param name="primcount" type="GLsizei"/>
1103        <param name="basevertex" type="GLint"/>
1104    </function>
1105
1106</category>
1107
1108<category name="GL_EXT_copy_image" number="208">
1109
1110    <function name="CopyImageSubDataEXT" alias="CopyImageSubData" es2="3.0">
1111        <param name="srcName" type="GLuint"/>
1112        <param name="srcTarget" type="GLenum"/>
1113        <param name="srcLevel" type="GLint"/>
1114        <param name="srcX" type="GLint"/>
1115        <param name="srcY" type="GLint"/>
1116        <param name="srcZ" type="GLint"/>
1117        <param name="dstName" type="GLuint"/>
1118        <param name="dstTarget" type="GLenum"/>
1119        <param name="dstLevel" type="GLint"/>
1120        <param name="dstX" type="GLint"/>
1121        <param name="dstY" type="GLint"/>
1122        <param name="dstZ" type="GLint"/>
1123        <param name="srcWidth" type="GLsizei"/>
1124        <param name="srcHeight" type="GLsizei"/>
1125        <param name="srcDepth" type="GLsizei"/>
1126    </function>
1127
1128</category>
1129
1130<category name="GL_OES_draw_buffers_indexed" number="209">
1131
1132  <function name="BlendFunciOES" alias="BlendFunciARB" es2="3.0">
1133    <param name="buf" type="GLuint"/>
1134    <param name="sfactor" type="GLenum"/>
1135    <param name="dfactor" type="GLenum"/>
1136  </function>
1137
1138  <function name="BlendFuncSeparateiOES" alias="BlendFuncSeparateiARB" es2="3.0">
1139    <param name="buf" type="GLuint"/>
1140    <param name="sfactorRGB" type="GLenum"/>
1141    <param name="dfactorRGB" type="GLenum"/>
1142    <param name="sfactorAlpha" type="GLenum"/>
1143    <param name="dfactorAlpha" type="GLenum"/>
1144  </function>
1145
1146  <function name="BlendEquationiOES" alias="BlendEquationiARB" es2="3.0">
1147    <param name="buf" type="GLuint"/>
1148    <param name="mode" type="GLenum"/>
1149  </function>
1150
1151  <function name="BlendEquationSeparateiOES" alias="BlendEquationSeparateiARB" es2="3.0">
1152    <param name="buf" type="GLuint"/>
1153    <param name="modeRGB" type="GLenum"/>
1154    <param name="modeA" type="GLenum"/>
1155  </function>
1156
1157  <function name="ColorMaskiOES" alias="ColorMaski" es2="3.0">
1158    <param name="buf" type="GLuint"/>
1159    <param name="r" type="GLboolean"/>
1160    <param name="g" type="GLboolean"/>
1161    <param name="b" type="GLboolean"/>
1162    <param name="a" type="GLboolean"/>
1163  </function>
1164
1165  <function name="EnableiOES" alias="Enablei" es2="3.0">
1166    <param name="target" type="GLenum"/>
1167    <param name="index" type="GLuint"/>
1168  </function>
1169
1170  <function name="DisableiOES" alias="Disablei" es2="3.0">
1171    <param name="target" type="GLenum"/>
1172    <param name="index" type="GLuint"/>
1173  </function>
1174
1175  <function name="IsEnablediOES" alias="IsEnabledi" es2="3.0">
1176    <param name="target" type="GLenum"/>
1177    <param name="index" type="GLuint"/>
1178    <return type="GLboolean"/>
1179  </function>
1180
1181</category>
1182
1183<category name="GL_EXT_primitive_bounding_box" number="212">
1184
1185    <function name="PrimitiveBoundingBoxOES" es2="3.1" alias="PrimitiveBoundingBox">
1186        <param name="minX" type="GLfloat"/>
1187        <param name="minY" type="GLfloat"/>
1188        <param name="minZ" type="GLfloat"/>
1189        <param name="minW" type="GLfloat"/>
1190        <param name="maxX" type="GLfloat"/>
1191        <param name="maxY" type="GLfloat"/>
1192        <param name="maxZ" type="GLfloat"/>
1193        <param name="maxW" type="GLfloat"/>
1194    </function>
1195
1196</category>
1197
1198<category name="GL_OES_texture_buffer" number="216">
1199
1200    <function name="TexBufferOES" es2="3.1" alias="TexBuffer">
1201        <param name="target" type="GLenum"/>
1202        <param name="internalFormat" type="GLenum"/>
1203        <param name="buffer" type="GLuint"/>
1204    </function>
1205
1206    <function name="TexBufferRangeOES" es2="3.1" alias="TexBufferRange">
1207        <param name="target" type="GLenum"/>
1208        <param name="internalformat" type="GLenum"/>
1209        <param name="buffer" type="GLuint"/>
1210        <param name="offset" type="GLintptr"/>
1211        <param name="size" type="GLsizeiptr"/>
1212    </function>
1213
1214</category>
1215
1216<category name="GL_OES_draw_elements_base_vertex" number="219">
1217
1218    <function name="DrawElementsBaseVertexOES" alias="DrawElementsBaseVertex"
1219              es2="2.0" exec="dynamic">
1220        <param name="mode" type="GLenum"/>
1221        <param name="count" type="GLsizei"/>
1222        <param name="type" type="GLenum"/>
1223        <param name="indices" type="const GLvoid *"/>
1224        <param name="basevertex" type="GLint"/>
1225    </function>
1226
1227    <function name="DrawRangeElementsBaseVertexOES" alias="DrawRangeElementsBaseVertex"
1228              es2="3.0" exec="dynamic">
1229        <param name="mode" type="GLenum"/>
1230        <param name="start" type="GLuint"/>
1231        <param name="end" type="GLuint"/>
1232        <param name="count" type="GLsizei"/>
1233        <param name="type" type="GLenum"/>
1234        <param name="indices" type="const GLvoid *"/>
1235        <param name="basevertex" type="GLint"/>
1236    </function>
1237
1238    <function name="DrawElementsInstancedBaseVertexOES" alias="DrawElementsInstancedBaseVertex"
1239              es2="3.0" exec="dynamic">
1240        <param name="mode" type="GLenum"/>
1241        <param name="count" type="GLsizei"/>
1242        <param name="type" type="GLenum"/>
1243        <param name="indices" type="const GLvoid *"/>
1244        <param name="primcount" type="GLsizei"/>
1245        <param name="basevertex" type="GLint"/>
1246    </function>
1247
1248</category>
1249
1250<category name="GL_EXT_buffer_storage" number="239">
1251    <function name="BufferStorageEXT" alias="BufferStorage" es2="3.1">
1252        <param name="target" type="GLenum"/>
1253        <param name="size" type="GLsizeiptr"/>
1254        <param name="data" type="const GLvoid *"/>
1255        <param name="flags" type="GLbitfield"/>
1256    </function>
1257</category>
1258
1259<category name="GL_EXT_blend_func_extended" number="247">
1260
1261    <function name="BindFragDataLocationIndexedEXT" alias="BindFragDataLocationIndexed"
1262            es2="3.0">
1263        <param name="program" type="GLuint"/>
1264        <param name="colorNumber" type="GLuint"/>
1265        <param name="index" type="GLuint"/>
1266        <param name="name" type="const GLchar *"/>
1267    </function>
1268
1269    <function name="GetFragDataIndexEXT" alias="GetFragDataIndex"
1270            es2="3.0">
1271        <param name="program" type="GLuint"/>
1272        <param name="name" type="const GLchar *"/>
1273        <return type="GLint"/>
1274    </function>
1275
1276    <function name="GetProgramResourceLocationIndexEXT" alias="GetProgramResourceLocationIndex"
1277           es2="3.1">
1278        <param name="program" type="GLuint"/>
1279        <param name="programInterface" type="GLenum"/>
1280        <param name="name" type="const GLchar *"/>
1281        <return type="GLint"/>
1282    </function>
1283
1284</category>
1285
1286<category name="GL_OES_copy_image" number="208">
1287
1288    <function name="CopyImageSubDataOES" alias="CopyImageSubData" es2="3.0">
1289        <param name="srcName" type="GLuint"/>
1290        <param name="srcTarget" type="GLenum"/>
1291        <param name="srcLevel" type="GLint"/>
1292        <param name="srcX" type="GLint"/>
1293        <param name="srcY" type="GLint"/>
1294        <param name="srcZ" type="GLint"/>
1295        <param name="dstName" type="GLuint"/>
1296        <param name="dstTarget" type="GLenum"/>
1297        <param name="dstLevel" type="GLint"/>
1298        <param name="dstX" type="GLint"/>
1299        <param name="dstY" type="GLint"/>
1300        <param name="dstZ" type="GLint"/>
1301        <param name="srcWidth" type="GLsizei"/>
1302        <param name="srcHeight" type="GLsizei"/>
1303        <param name="srcDepth" type="GLsizei"/>
1304    </function>
1305
1306</category>
1307
1308<!-- 175. GL_OES_geometry_shader -->
1309<category name="GL_OES_geometry_shader" number="210">
1310    <enum name="GEOMETRY_SHADER_OES"                             value="0x8DD9"/>
1311    <enum name="GEOMETRY_SHADER_BIT_OES"                         value="0x00000004"/>
1312    <enum name="GEOMETRY_LINKED_VERTICES_OUT_OES"                value="0x8916"/>
1313    <enum name="GEOMETRY_LINKED_INPUT_TYPE_OES"                  value="0x8917"/>
1314    <enum name="GEOMETRY_LINKED_OUTPUT_TYPE_OES"                 value="0x8918"/>
1315    <enum name="GEOMETRY_SHADER_INVOCATIONS_OES"                 value="0x887F"/>
1316    <enum name="LAYER_PROVOKING_VERTEX_OES"                      value="0x825E"/>
1317    <enum name="MAX_GEOMETRY_UNIFORM_BLOCKS_OES"                 value="0x8A2C"/>
1318    <enum name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES"    value="0x8A32"/>
1319    <enum name="MAX_GEOMETRY_INPUT_COMPONENTS_OES"               value="0x9123"/>
1320    <enum name="MAX_GEOMETRY_OUTPUT_COMPONENTS_OES"              value="0x9124"/>
1321    <enum name="MAX_GEOMETRY_OUTPUT_VERTICES_OES"                value="0x8DE0"/>
1322    <enum name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES"        value="0x8DE1"/>
1323    <enum name="MAX_GEOMETRY_SHADER_INVOCATIONS_OES"             value="0x8E5A"/>
1324    <enum name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES"            value="0x8C29"/>
1325    <enum name="MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES"         value="0x92CF"/>
1326    <enum name="MAX_GEOMETRY_ATOMIC_COUNTERS_OES"                value="0x92D5"/>
1327    <enum name="MAX_GEOMETRY_IMAGE_UNIFORMS_OES"                 value="0x90CD"/>
1328    <enum name="MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES"          value="0x90D7"/>
1329    <enum name="FIRST_VERTEX_CONVENTION_OES"                     value="0x8E4D"/>
1330    <enum name="LAST_VERTEX_CONVENTION_OES"                      value="0x8E4E"/>
1331    <enum name="UNDEFINED_VERTEX_OES"                            value="0x8260"/>
1332    <enum name="PRIMITIVES_GENERATED_OES"                        value="0x8C87"/>
1333    <enum name="LINES_ADJACENCY_OES"                             value="0xA"/>
1334    <enum name="LINE_STRIP_ADJACENCY_OES"                        value="0xB"/>
1335    <enum name="TRIANGLES_ADJACENCY_OES"                         value="0xC"/>
1336    <enum name="TRIANGLE_STRIP_ADJACENCY_OES"                    value="0xD"/>
1337    <enum name="FRAMEBUFFER_DEFAULT_LAYERS_OES"                  value="0x9312"/>
1338    <enum name="MAX_FRAMEBUFFER_LAYERS_OES"                      value="0x9317"/>
1339    <enum name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES"        value="0x8DA8"/>
1340    <enum name="FRAMEBUFFER_ATTACHMENT_LAYERED_OES"              value="0x8DA7"/>
1341    <enum name="REFERENCED_BY_GEOMETRY_SHADER_OES"               value="0x9309"/>
1342
1343    <function name="FramebufferTextureOES" alias="FramebufferTexture" es2="3.1">
1344        <param name="target" type="GLenum"/>
1345        <param name="attachment" type="GLenum"/>
1346        <param name="texture" type="GLuint"/>
1347        <param name="level" type="GLint"/>
1348    </function>
1349</category>
1350
1351<category name="GL_OES_texture_border_clamp" number="215">
1352
1353    <enum name="TEXTURE_BORDER_COLOR_OES" value ="0x1004"/>
1354    <enum name="CLAMP_TO_BORDER_OES"      value="0x812D"/>
1355
1356    <function name="TexParameterIivOES" es2="3.0" alias="TexParameterIiv">
1357        <param name="target" type="GLenum"/>
1358        <param name="pname"  type="GLenum"/>
1359        <param name="params" type="const GLint *"/>
1360    </function>
1361
1362    <function name="TexParameterIuivOES" es2="3.0" alias="TexParameterIuiv">
1363        <param name="target" type="GLenum"/>
1364        <param name="pname"  type="GLenum"/>
1365        <param name="params" type="const GLuint *"/>
1366    </function>
1367
1368    <function name="GetTexParameterIivOES" es2="3.0" alias="GetTexParameterIiv">
1369        <param name="target" type="GLenum"/>
1370        <param name="pname"  type="GLenum"/>
1371        <param name="params" type="GLint *"/>
1372    </function>
1373
1374    <function name="GetTexParameterIuivOES" es2="3.0" alias="GetTexParameterIuiv">
1375        <param name="target" type="GLenum"/>
1376        <param name="pname"  type="GLenum"/>
1377        <param name="params" type="GLuint *"/>
1378    </function>
1379
1380    <function name="SamplerParameterIivOES" es2="3.0" alias="SamplerParameterIiv">
1381      <param name="sampler" type="GLuint"/>
1382      <param name="pname" type="GLenum"/>
1383      <param name="params" type="const GLint *"/>
1384    </function>
1385
1386    <function name="SamplerParameterIuivOES" es2="3.0" alias="SamplerParameterIuiv">
1387      <param name="sampler" type="GLuint"/>
1388      <param name="pname" type="GLenum"/>
1389      <param name="params" type="const GLuint *"/>
1390    </function>
1391
1392    <function name="GetSamplerParameterIivOES" es2="3.0" alias="GetSamplerParameterIiv">
1393      <param name="sampler" type="GLuint"/>
1394      <param name="pname" type="GLenum"/>
1395      <param name="params" type="GLint *"/>
1396    </function>
1397
1398    <function name="GetSamplerParameterIuivOES" es2="3.0" alias="GetSamplerParameterIuiv">
1399      <param name="sampler" type="GLuint"/>
1400      <param name="pname" type="GLenum"/>
1401      <param name="params" type="GLuint *"/>
1402    </function>
1403
1404</category>
1405
1406<category name="GL_OES_viewport_array" number="267">
1407    <function name="ViewportArrayvOES" es2="3.1" alias="ViewportArrayv">
1408        <param name="first" type="GLuint"/>
1409        <param name="count" type="GLsizei"/>
1410        <param name="v" type="const GLfloat *"/>
1411    </function>
1412    <function name="ViewportIndexedfOES" es2="3.1" alias="ViewportIndexedf">
1413        <param name="index" type="GLuint"/>
1414        <param name="x" type="GLfloat"/>
1415        <param name="y" type="GLfloat"/>
1416        <param name="w" type="GLfloat"/>
1417        <param name="h" type="GLfloat"/>
1418    </function>
1419    <function name="ViewportIndexedfvOES" es2="3.1" alias="ViewportIndexedfv">
1420        <param name="index" type="GLuint"/>
1421        <param name="v" type="const GLfloat *"/>
1422    </function>
1423    <function name="ScissorArrayvOES" es2="3.1" alias="ScissorArrayv">
1424        <param name="first" type="GLuint"/>
1425        <param name="count" type="GLsizei"/>
1426        <param name="v" type="const int *"/>
1427    </function>
1428    <function name="ScissorIndexedOES" es2="3.1" alias="ScissorIndexed">
1429        <param name="index" type="GLuint"/>
1430        <param name="left" type="GLint"/>
1431        <param name="bottom" type="GLint"/>
1432        <param name="width" type="GLsizei"/>
1433        <param name="height" type="GLsizei"/>
1434    </function>
1435    <function name="ScissorIndexedvOES" es2="3.1" alias="ScissorIndexedv">
1436        <param name="index" type="GLuint"/>
1437        <param name="v" type="const GLint *"/>
1438    </function>
1439    <function name="DepthRangeArrayfvOES" es2="3.1" desktop="false">
1440        <param name="first" type="GLuint"/>
1441        <param name="count" type="GLsizei"/>
1442        <param name="v" type="const GLfloat *"/>
1443    </function>
1444    <function name="DepthRangeIndexedfOES" es2="3.1" desktop="false">
1445        <param name="index" type="GLuint"/>
1446        <param name="n" type="GLfloat"/>
1447        <param name="f" type="GLfloat"/>
1448    </function>
1449    <function name="GetFloati_vOES" es2="3.1" alias="GetFloati_v">
1450        <param name="target" type="GLenum"/>
1451        <param name="index" type="GLuint"/>
1452        <param name="data" type="GLfloat *"/>
1453    </function>
1454</category>
1455
1456<!-- 218. GL_OES_texture_view -->
1457
1458<category name="GL_OES_texture_view" number="218">
1459    <function name="TextureViewOES" es2="3.1" alias="TextureView">
1460        <param name="texture" type="GLuint"/>
1461        <param name="target" type="GLenum"/>
1462        <param name="origtexture" type="GLuint"/>
1463        <param name="internalformat" type="GLenum"/>
1464        <param name="minlevel" type="GLuint"/>
1465        <param name="numlevels" type="GLuint"/>
1466        <param name="minlayer" type="GLuint"/>
1467        <param name="numlayers" type="GLuint"/>
1468   </function>
1469</category>
1470
1471<category name="GL_EXT_texture_view" number="185">
1472    <function name="TextureViewEXT" es2="3.1" alias="TextureView">
1473        <param name="texture" type="GLuint"/>
1474        <param name="target" type="GLenum"/>
1475        <param name="origtexture" type="GLuint"/>
1476        <param name="internalformat" type="GLenum"/>
1477        <param name="minlevel" type="GLuint"/>
1478        <param name="numlevels" type="GLuint"/>
1479        <param name="minlayer" type="GLuint"/>
1480        <param name="numlayers" type="GLuint"/>
1481   </function>
1482</category>
1483
1484</OpenGLAPI>
1485