• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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<!-- 41. GL_EXT_texture_filter_anisotropic -->
569
570<category name="GL_EXT_texture_type_2_10_10_10_REV" number="42">
571    <enum name="UNSIGNED_INT_2_10_10_10_REV_EXT"          value="0x8368"/>
572</category>
573
574<category name="GL_OES_packed_depth_stencil" number="43">
575    <enum name="DEPTH_STENCIL_OES"                        value="0x84F9"/>
576    <enum name="UNSIGNED_INT_24_8_OES"                    value="0x84FA"/>
577    <enum name="DEPTH24_STENCIL8_OES"                     value="0x88F0"/>
578</category>
579
580<!-- 44. GL_OES_depth_texture -->
581
582<category name="GL_OES_standard_derivatives" number="45">
583    <enum name="FRAGMENT_SHADER_DERIVATIVE_HINT_OES"      value="0x8B8B"/>
584</category>
585
586<category name="GL_OES_vertex_type_10_10_10_2" number="46">
587    <enum name="UNSIGNED_INT_10_10_10_2_OES"              value="0x8DF6"/>
588    <enum name="INT_10_10_10_2_OES"                       value="0x8DF7"/>
589</category>
590
591<category name="GL_OES_get_program_binary" number="47">
592    <enum name="PROGRAM_BINARY_LENGTH_OES"                value="0x8741"/>
593    <enum name="NUM_PROGRAM_BINARY_FORMATS_OES"           value="0x87FE"/>
594    <enum name="PROGRAM_BINARY_FORMATS_OES"               value="0x87FF"/>
595
596    <function name="GetProgramBinaryOES" alias="GetProgramBinary" es2="2.0">
597        <param name="program" type="GLuint"/>
598        <param name="bufSize" type="GLsizei"/>
599        <param name="length" type="GLsizei *"/>
600        <param name="binaryFormat" type="GLenum *"/>
601        <param name="binary" type="GLvoid *"/>
602    </function>
603
604    <function name="ProgramBinaryOES" alias="ProgramBinary" es2="2.0">
605        <param name="program" type="GLuint"/>
606        <param name="binaryFormat" type="GLenum"/>
607        <param name="binary" type="const GLvoid *"/>
608        <param name="length" type="GLint"/>
609    </function>
610</category>
611
612<category name="GL_EXT_texture_compression_dxt1" number="49">
613    <enum name="COMPRESSED_RGB_S3TC_DXT1_EXT"             value="0x83F0"/>
614    <enum name="COMPRESSED_RGBA_S3TC_DXT1_EXT"            value="0x83F1"/>
615</category>
616
617<category name="GL_EXT_texture_format_BGRA8888" number="51">
618    <enum name="BGRA_EXT"                                 value="0x80E1"/>
619</category>
620
621<category name="GL_EXT_texture_lod_bias" number="60">
622    <enum name="TEXTURE_FILTER_CONTROL_EXT"               value="0x8500"/>
623    <enum name="TEXTURE_LOD_BIAS_EXT"                     value="0x8501"/>
624    <enum name="MAX_TEXTURE_LOD_BIAS_EXT"                 value="0x84FD"/>
625</category>
626
627<!-- 64. GL_EXT_discard_framebuffer -->
628
629<category name="GL_EXT_discard_framebuffer" number="64">
630    <function name="DiscardFramebufferEXT" es1="1.0" es2="2.0" desktop="false">
631        <param name="target" type="GLenum"/>
632        <param name="numAttachments" type="GLsizei"/>
633        <param name="attachments" type="const GLenum *" count="numAttachments"/>
634    </function>
635    <enum name="COLOR_EXT"                                value="0x1800"/>
636    <enum name="DEPTH_EXT"                                value="0x1801"/>
637    <enum name="STENCIL_EXT"                              value="0x1802"/>
638</category>
639
640<!-- 65. GL_EXT_blend_minmax -->
641
642<category name="GL_EXT_read_format_bgra" number="66">
643    <enum name="BGRA_EXT"                                 value="0x80E1"/>
644    <enum name="UNSIGNED_SHORT_4_4_4_4_REV_EXT"           value="0x8365"/>
645    <enum name="UNSIGNED_SHORT_1_5_5_5_REV_EXT"           value="0x8366"/>
646</category>
647
648<!-- 69. GL_EXT_multi_draw_arrays -->
649
650<!-- 71. GL_OES_vertex_array_object -->
651<category name="GL_OES_vertex_array_object" number="71">
652    <function name="BindVertexArrayOES" alias="BindVertexArray" es2="2.0">
653        <param name="array" type="GLuint"/>
654    </function>
655
656    <function name="DeleteVertexArraysOES" alias="DeleteVertexArrays" es2="2.0">
657        <param name="n" type="GLsizei"/>
658        <param name="arrays" type="const GLuint *" count="n"/>
659    </function>
660
661    <function name="GenVertexArraysOES" alias="GenVertexArrays" es2="2.0">
662        <param name="n" type="GLsizei"/>
663        <param name="arrays" type="GLuint *" output="true" count="n"/>
664    </function>
665
666    <function name="IsVertexArrayOES" alias="IsVertexArray" es2="2.0">
667        <param name="array" type="GLuint"/>
668        <return type="GLboolean"/>
669    </function>
670
671    <enum name="VERTEX_ARRAY_BINDING_OES"      count="1"  value="0x85B5">
672        <size name="Get" mode="get"/>
673    </enum>
674</category>
675
676<!-- 87. GL_OES_EGL_image_external -->
677<category name="GL_OES_EGL_image_external" number="87">
678    <enum name="TEXTURE_EXTERNAL_OES"                     value="0x8D65"/>
679    <enum name="SAMPLER_EXTERNAL_OES"                     value="0x8D66"/>
680    <enum name="TEXTURE_BINDING_EXTERNAL_OES"             value="0x8D67"/>
681    <enum name="REQUIRED_TEXTURE_IMAGE_UNITS_OES"         value="0x8D68"/>
682</category>
683
684<!--
685    This extension serves a similar purpose to ARB_draw_buffers except
686    that this is for OpenGL ES 2.0.
687-->
688<category name="GL_NV_draw_buffers" number="91">
689    <enum name="MAX_DRAW_BUFFERS_NV"           count="1"  value="0x8824">
690        <size name="Get" mode="get"/>
691    </enum>
692    <enum name="DRAW_BUFFER0_NV"               count="1"  value="0x8825">
693        <size name="Get" mode="get"/>
694    </enum>
695    <enum name="DRAW_BUFFER1_NV"               count="1"  value="0x8826">
696        <size name="Get" mode="get"/>
697    </enum>
698    <enum name="DRAW_BUFFER2_NV"               count="1"  value="0x8827">
699        <size name="Get" mode="get"/>
700    </enum>
701    <enum name="DRAW_BUFFER3_NV"               count="1"  value="0x8828">
702        <size name="Get" mode="get"/>
703    </enum>
704    <enum name="DRAW_BUFFER4_NV"               count="1"  value="0x8829">
705        <size name="Get" mode="get"/>
706    </enum>
707    <enum name="DRAW_BUFFER5_NV"               count="1"  value="0x882A">
708        <size name="Get" mode="get"/>
709    </enum>
710    <enum name="DRAW_BUFFER6_NV"               count="1"  value="0x882B">
711        <size name="Get" mode="get"/>
712    </enum>
713    <enum name="DRAW_BUFFER7_NV"               count="1"  value="0x882C">
714        <size name="Get" mode="get"/>
715    </enum>
716    <enum name="DRAW_BUFFER8_NV"               count="1"  value="0x882D">
717        <size name="Get" mode="get"/>
718    </enum>
719    <enum name="DRAW_BUFFER9_NV"               count="1"  value="0x882E">
720        <size name="Get" mode="get"/>
721    </enum>
722    <enum name="DRAW_BUFFER10_NV"              count="1"  value="0x882F">
723        <size name="Get" mode="get"/>
724    </enum>
725    <enum name="DRAW_BUFFER11_NV"              count="1"  value="0x8830">
726        <size name="Get" mode="get"/>
727    </enum>
728    <enum name="DRAW_BUFFER12_NV"              count="1"  value="0x8831">
729        <size name="Get" mode="get"/>
730    </enum>
731    <enum name="DRAW_BUFFER13_NV"              count="1"  value="0x8832">
732        <size name="Get" mode="get"/>
733    </enum>
734    <enum name="DRAW_BUFFER14_NV"              count="1"  value="0x8833">
735        <size name="Get" mode="get"/>
736    </enum>
737    <enum name="DRAW_BUFFER15_NV"              count="1"  value="0x8834">
738        <size name="Get" mode="get"/>
739    </enum>
740
741    <function name="DrawBuffersNV" alias="DrawBuffers" es2="2.0">
742        <param name="n" type="GLsizei" counter="true"/>
743        <param name="bufs" type="const GLenum *" count="n"/>
744    </function>
745</category>
746
747<!-- 93. GL_NV_read_buffer -->
748<category name="GL_NV_read_buffer">
749    <function name="ReadBufferNV" alias="ReadBuffer" es2="2.0">
750        <param name="mode" type="GLenum"/>
751    </function>
752</category>
753
754<!-- 100. GL_EXT_occlusion_query_boolean -->
755<category name="GL_EXT_occlusion_query_boolean" number="100">
756    <enum name="CURRENT_QUERY_EXT"                   value="0x8865"/>
757    <enum name="QUERY_RESULT_EXT"                    value="0x8866"/>
758    <enum name="QUERY_RESULT_AVAILABLE_EXT"          value="0x8867"/>
759    <enum name="ANY_SAMPLES_PASSED_EXT"              value="0x8C2F"/>
760    <enum name="ANY_SAMPLES_PASSED_CONSERVATIVE_EXT" value="0x8D6A"/>
761
762    <function name="GenQueriesEXT" alias="GenQueries" es2="2.0">
763        <param name="n" type="GLsizei"/>
764        <param name="ids" type="GLuint *"/>
765    </function>
766
767    <function name="DeleteQueriesEXT" alias="DeleteQueries" es2="2.0">
768        <param name="n" type="GLsizei"/>
769        <param name="ids" type="const GLuint *"/>
770    </function>
771
772    <function name="IsQueryEXT" alias="IsQuery" es2="2.0">
773        <param name="id" type="GLuint"/>
774        <return type="GLboolean"/>
775    </function>
776
777    <function name="BeginQueryEXT" alias="BeginQuery" es2="2.0">
778        <param name="target" type="GLenum"/>
779        <param name="id" type="GLuint"/>
780    </function>
781
782    <function name="EndQueryEXT" alias="EndQuery" es2="2.0">
783        <param name="target" type="GLenum"/>
784    </function>
785
786    <function name="GetQueryivEXT" alias="GetQueryiv" es2="2.0">
787        <param name="target" type="GLenum"/>
788        <param name="pname" type="GLenum"/>
789        <param name="params" type="GLint *"/>
790    </function>
791
792    <function name="GetQueryObjectivEXT" alias="GetQueryObjectiv" es2="2.0">
793        <param name="id" type="GLuint"/>
794        <param name="pname" type="GLenum"/>
795        <param name="params" type="GLint *"/>
796    </function>
797
798    <function name="GetQueryObjectuivEXT" alias="GetQueryObjectuiv" es2="2.0">
799        <param name="id" type="GLuint"/>
800        <param name="pname" type="GLenum"/>
801        <param name="params" type="GLuint *"/>
802    </function>
803</category>
804
805<!-- 103. GL_EXT_texture_rg -->
806<category name="GL_EXT_texture_rg" number="103">
807    <enum name="RED_EXT"                                  value="0x1903"/>
808    <enum name="RG_EXT"                                   value="0x8227"/>
809    <enum name="R8_EXT"                                   value="0x8229"/>
810    <enum name="RG8_EXT"                                  value="0x822B"/>
811</category>
812
813<!-- 111. GL_ANGLE_texture_compression_dxt -->
814<category name="GL_ANGLE_texture_compression_dxt" number="111">
815    <enum name="COMPRESSED_RGBA_S3TC_DXT3_ANGLE"        value="0x83F2"/>
816    <enum name="COMPRESSED_RGBA_S3TC_DXT5_ANGLE"        value="0x83F3"/>
817</category>
818
819<!-- 121. GL_EXT_map_buffer_range -->
820<category name="GL_EXT_map_buffer_range" number="121">
821    <enum name="MAP_READ_BIT_EXT"                         value="0x0001"/>
822    <enum name="MAP_WRITE_BIT_EXT"                        value="0x0002"/>
823    <enum name="MAP_INVALIDATE_RANGE_BIT_EXT"             value="0x0004"/>
824    <enum name="MAP_INVALIDATE_BUFFER_BIT_EXT"            value="0x0008"/>
825    <enum name="MAP_FLUSH_EXPLICIT_BIT_EXT"               value="0x0010"/>
826    <enum name="MAP_UNSYNCHRONIZED_BIT_EXT"               value="0x0020"/>
827
828    <function name="MapBufferRangeEXT" alias="MapBufferRange"
829	      es1="1.0" es2="2.0">
830        <param name="target" type="GLenum"/>
831        <param name="offset" type="GLintptr"/>
832        <param name="size" type="GLsizeiptr"/>
833        <param name="length" type="GLbitfield"/>
834        <return type="GLvoid *"/>
835    </function>
836
837    <function name="FlushMappedBufferRangeEXT" alias="FlushMappedBufferRange"
838	      es1="1.0" es2="2.0">
839        <param name="target" type="GLenum"/>
840        <param name="offset" type="GLintptr"/>
841        <param name="length" type="GLsizeiptr"/>
842    </function>
843</category>
844
845<!-- 122. GL_EXT_shader_framebuffer_fetch -->
846<category name="GL_EXT_shader_framebuffer_fetch" number="122">
847    <enum name="FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT" value="0x8A52"/>
848</category>
849
850<!-- 150. GL_EXT_disjoint_timer_query -->
851<category name="GL_EXT_disjoint_timer_query" number="150">
852    <enum name="QUERY_COUNTER_BITS_EXT"     value="0x8864"/>
853    <enum name="CURRENT_QUERY_EXT"          value="0x8865"/>
854    <enum name="QUERY_RESULT_EXT"           value="0x8866"/>
855    <enum name="QUERY_RESULT_AVAILABLE_EXT" value="0x8867"/>
856    <enum name="TIME_ELAPSED_EXT"           value="0x88BF"/>
857    <enum name="TIMESTAMP_EXT"              value="0x8E28"/>
858    <enum name="GPU_DISJOINT_EXT"           value="0x8FBB"/>
859
860    <function name="QueryCounterEXT" alias="QueryCounter" es2="2.0">
861        <param name="id" type="GLuint"/>
862        <param name="target" type="GLenum"/>
863    </function>
864</category>
865
866<!-- 151. GL_EXT_draw_buffers -->
867<category name="GL_EXT_draw_buffers" number="151">
868    <function name="DrawBuffersEXT" alias="DrawBuffers" es2="2.0">
869        <param name="n" type="GLsizei" counter="true"/>
870        <param name="bufs" type="const GLenum *" count="n"/>
871    </function>
872</category>
873
874<category name="GL_OES_sample_shading" number="169">
875    <function name="MinSampleShadingOES" alias="MinSampleShading" es2="3.0">
876        <param name="value" type="GLfloat"/>
877    </function>
878</category>
879
880<!-- 174. GL_OES_texture_storage_multisample_2d_array -->
881<category name="GL_OES_texture_storage_multisample_2d_array" number="174">
882    <enum name="TEXTURE_2D_MULTISAMPLE_ARRAY_OES"              value="0x9102"/>
883    <enum name="TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"      value="0x9105"/>
884    <enum name="SAMPLER_2D_MULTISAMPLE_ARRAY_OES"              value="0x910B"/>
885    <enum name="INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"          value="0x910C"/>
886    <enum name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES" value="0x910D"/>
887
888    <function name="TexStorage3DMultisampleOES" alias="TexStorage3DMultisample" es2="3.1">
889        <param name="target" type="GLenum"/>
890        <param name="samples" type="GLsizei"/>
891        <param name="internalformat" type="GLenum"/>
892        <param name="width" type="GLsizei"/>
893        <param name="height" type="GLsizei"/>
894        <param name="depth" type="GLsizei"/>
895        <param name="fixedsamplelocations" type="GLboolean"/>
896    </function>
897</category>
898
899<category name="GL_EXT_draw_buffers_indexed" number="176">
900
901  <function name="BlendFunciEXT" alias="BlendFunciARB" es2="3.0">
902    <param name="buf" type="GLuint"/>
903    <param name="sfactor" type="GLenum"/>
904    <param name="dfactor" type="GLenum"/>
905  </function>
906
907  <function name="BlendFuncSeparateiEXT" alias="BlendFuncSeparateiARB" es2="3.0">
908    <param name="buf" type="GLuint"/>
909    <param name="sfactorRGB" type="GLenum"/>
910    <param name="dfactorRGB" type="GLenum"/>
911    <param name="sfactorAlpha" type="GLenum"/>
912    <param name="dfactorAlpha" type="GLenum"/>
913  </function>
914
915  <function name="BlendEquationiEXT" alias="BlendEquationiARB" es2="3.0">
916    <param name="buf" type="GLuint"/>
917    <param name="mode" type="GLenum"/>
918  </function>
919
920  <function name="BlendEquationSeparateiEXT" alias="BlendEquationSeparateiARB" es2="3.0">
921    <param name="buf" type="GLuint"/>
922    <param name="modeRGB" type="GLenum"/>
923    <param name="modeA" type="GLenum"/>
924  </function>
925
926  <function name="ColorMaskiEXT" alias="ColorMaski" es2="3.0">
927    <param name="buf" type="GLuint"/>
928    <param name="r" type="GLboolean"/>
929    <param name="g" type="GLboolean"/>
930    <param name="b" type="GLboolean"/>
931    <param name="a" type="GLboolean"/>
932  </function>
933
934  <function name="EnableiEXT" alias="Enablei" es2="3.0">
935    <param name="target" type="GLenum"/>
936    <param name="index" type="GLuint"/>
937  </function>
938
939  <function name="DisableiEXT" alias="Disablei" es2="3.0">
940    <param name="target" type="GLenum"/>
941    <param name="index" type="GLuint"/>
942  </function>
943
944  <function name="IsEnablediEXT" alias="IsEnabledi" es2="3.0">
945    <param name="target" type="GLenum"/>
946    <param name="index" type="GLuint"/>
947    <return type="GLboolean"/>
948  </function>
949
950</category>
951
952<category name="GL_EXT_geometry_shader" number="177">
953    <!-- The rest of the bits for this are below in OES_geometry_shader. -->
954    <function name="FramebufferTextureEXT" alias="FramebufferTexture" es2="3.1">
955        <param name="target" type="GLenum"/>
956        <param name="attachment" type="GLenum"/>
957        <param name="texture" type="GLuint"/>
958        <param name="level" type="GLint"/>
959    </function>
960</category>
961
962<category name="GL_EXT_texture_border_clamp" number="182">
963
964    <!-- The *TexParameter* functions are added in EXT_texture_integer -->
965
966    <function name="SamplerParameterIivEXT" es2="3.0" alias="SamplerParameterIiv">
967      <param name="sampler" type="GLuint"/>
968      <param name="pname" type="GLenum"/>
969      <param name="params" type="const GLint *"/>
970    </function>
971
972    <function name="SamplerParameterIuivEXT" es2="3.0" alias="SamplerParameterIuiv">
973      <param name="sampler" type="GLuint"/>
974      <param name="pname" type="GLenum"/>
975      <param name="params" type="const GLuint *"/>
976    </function>
977
978    <function name="GetSamplerParameterIivEXT" es2="3.0" alias="GetSamplerParameterIiv">
979      <param name="sampler" type="GLuint"/>
980      <param name="pname" type="GLenum"/>
981      <param name="params" type="GLint *"/>
982    </function>
983
984    <function name="GetSamplerParameterIuivEXT" es2="3.0" alias="GetSamplerParameterIuiv">
985      <param name="sampler" type="GLuint"/>
986      <param name="pname" type="GLenum"/>
987      <param name="params" type="GLuint *"/>
988    </function>
989
990</category>
991
992<category name="GL_EXT_texture_buffer" number="183">
993
994    <function name="TexBufferEXT" es2="3.1" alias="TexBuffer">
995        <param name="target" type="GLenum"/>
996        <param name="internalFormat" type="GLenum"/>
997        <param name="buffer" type="GLuint"/>
998    </function>
999
1000    <function name="TexBufferRangeEXT" es2="3.1" alias="TexBufferRange">
1001        <param name="target" type="GLenum"/>
1002        <param name="internalformat" type="GLenum"/>
1003        <param name="buffer" type="GLuint"/>
1004        <param name="offset" type="GLintptr"/>
1005        <param name="size" type="GLsizeiptr"/>
1006    </function>
1007
1008</category>
1009
1010<category name="GL_EXT_primitive_bounding_box" number="187">
1011
1012    <function name="PrimitiveBoundingBoxEXT" es2="3.1" alias="PrimitiveBoundingBox">
1013        <param name="minX" type="GLfloat"/>
1014        <param name="minY" type="GLfloat"/>
1015        <param name="minZ" type="GLfloat"/>
1016        <param name="minW" type="GLfloat"/>
1017        <param name="maxX" type="GLfloat"/>
1018        <param name="maxY" type="GLfloat"/>
1019        <param name="maxZ" type="GLfloat"/>
1020        <param name="maxW" type="GLfloat"/>
1021    </function>
1022
1023</category>
1024
1025<xi:include href="KHR_robustness_es.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
1026
1027<category name="GL_EXT_base_instance" number="203">
1028
1029  <function name="DrawArraysInstancedBaseInstanceEXT" es2="3.0"
1030            alias="DrawArraysInstancedBaseInstance">
1031    <param name="mode" type="GLenum"/>
1032    <param name="first" type="GLint"/>
1033    <param name="count" type="GLsizei"/>
1034    <param name="instancecount" type="GLsizei"/>
1035    <param name="baseinstance" type="GLuint"/>
1036  </function>
1037
1038  <function name="DrawElementsInstancedBaseInstanceEXT" es2="3.0"
1039            alias="DrawElementsInstancedBaseInstance">
1040    <param name="mode" type="GLenum"/>
1041    <param name="count" type="GLsizei"/>
1042    <param name="type" type="GLenum"/>
1043    <param name="indices" type="const GLvoid *"/>
1044    <param name="instancecount" type="GLsizei"/>
1045    <param name="baseinstance" type="GLuint"/>
1046  </function>
1047
1048  <function name="DrawElementsInstancedBaseVertexBaseInstanceEXT" es2="3.0"
1049            alias="DrawElementsInstancedBaseVertexBaseInstance">
1050    <param name="mode" type="GLenum"/>
1051    <param name="count" type="GLsizei"/>
1052    <param name="type" type="GLenum"/>
1053    <param name="indices" type="const GLvoid *"/>
1054    <param name="instancecount" type="GLsizei"/>
1055    <param name="basevertex" type="GLint"/>
1056    <param name="baseinstance" type="GLuint"/>
1057  </function>
1058
1059</category>
1060
1061<category name="GL_EXT_draw_elements_base_vertex" number="204">
1062
1063    <function name="DrawElementsBaseVertexEXT" alias="DrawElementsBaseVertex"
1064              es2="2.0" exec="dynamic">
1065        <param name="mode" type="GLenum"/>
1066        <param name="count" type="GLsizei"/>
1067        <param name="type" type="GLenum"/>
1068        <param name="indices" type="const GLvoid *"/>
1069        <param name="basevertex" type="GLint"/>
1070    </function>
1071
1072    <function name="DrawRangeElementsBaseVertexEXT" alias="DrawRangeElementsBaseVertex"
1073              es2="3.0" exec="dynamic">
1074        <param name="mode" type="GLenum"/>
1075        <param name="start" type="GLuint"/>
1076        <param name="end" type="GLuint"/>
1077        <param name="count" type="GLsizei"/>
1078        <param name="type" type="GLenum"/>
1079        <param name="indices" type="const GLvoid *"/>
1080        <param name="basevertex" type="GLint"/>
1081    </function>
1082
1083    <function name="MultiDrawElementsBaseVertexEXT" alias="MultiDrawElementsBaseVertex"
1084              es2="2.0" exec="dynamic">
1085        <param name="mode" type="GLenum"/>
1086        <param name="count" type="const GLsizei *"/>
1087        <param name="type" type="GLenum"/>
1088        <param name="indices" type="const GLvoid * const *"/>
1089        <param name="primcount" type="GLsizei"/>
1090        <param name="basevertex" type="const GLint *"/>
1091    </function>
1092
1093    <function name="DrawElementsInstancedBaseVertexEXT" alias="DrawElementsInstancedBaseVertex"
1094              es2="3.0" exec="dynamic">
1095        <param name="mode" type="GLenum"/>
1096        <param name="count" type="GLsizei"/>
1097        <param name="type" type="GLenum"/>
1098        <param name="indices" type="const GLvoid *"/>
1099        <param name="primcount" type="GLsizei"/>
1100        <param name="basevertex" type="GLint"/>
1101    </function>
1102
1103</category>
1104
1105<category name="GL_EXT_copy_image" number="208">
1106
1107    <function name="CopyImageSubDataEXT" alias="CopyImageSubData" es2="3.0">
1108        <param name="srcName" type="GLuint"/>
1109        <param name="srcTarget" type="GLenum"/>
1110        <param name="srcLevel" type="GLint"/>
1111        <param name="srcX" type="GLint"/>
1112        <param name="srcY" type="GLint"/>
1113        <param name="srcZ" type="GLint"/>
1114        <param name="dstName" type="GLuint"/>
1115        <param name="dstTarget" type="GLenum"/>
1116        <param name="dstLevel" type="GLint"/>
1117        <param name="dstX" type="GLint"/>
1118        <param name="dstY" type="GLint"/>
1119        <param name="dstZ" type="GLint"/>
1120        <param name="srcWidth" type="GLsizei"/>
1121        <param name="srcHeight" type="GLsizei"/>
1122        <param name="srcDepth" type="GLsizei"/>
1123    </function>
1124
1125</category>
1126
1127<category name="GL_OES_draw_buffers_indexed" number="209">
1128
1129  <function name="BlendFunciOES" alias="BlendFunciARB" es2="3.0">
1130    <param name="buf" type="GLuint"/>
1131    <param name="sfactor" type="GLenum"/>
1132    <param name="dfactor" type="GLenum"/>
1133  </function>
1134
1135  <function name="BlendFuncSeparateiOES" alias="BlendFuncSeparateiARB" es2="3.0">
1136    <param name="buf" type="GLuint"/>
1137    <param name="sfactorRGB" type="GLenum"/>
1138    <param name="dfactorRGB" type="GLenum"/>
1139    <param name="sfactorAlpha" type="GLenum"/>
1140    <param name="dfactorAlpha" type="GLenum"/>
1141  </function>
1142
1143  <function name="BlendEquationiOES" alias="BlendEquationiARB" es2="3.0">
1144    <param name="buf" type="GLuint"/>
1145    <param name="mode" type="GLenum"/>
1146  </function>
1147
1148  <function name="BlendEquationSeparateiOES" alias="BlendEquationSeparateiARB" es2="3.0">
1149    <param name="buf" type="GLuint"/>
1150    <param name="modeRGB" type="GLenum"/>
1151    <param name="modeA" type="GLenum"/>
1152  </function>
1153
1154  <function name="ColorMaskiOES" alias="ColorMaski" es2="3.0">
1155    <param name="buf" type="GLuint"/>
1156    <param name="r" type="GLboolean"/>
1157    <param name="g" type="GLboolean"/>
1158    <param name="b" type="GLboolean"/>
1159    <param name="a" type="GLboolean"/>
1160  </function>
1161
1162  <function name="EnableiOES" alias="Enablei" es2="3.0">
1163    <param name="target" type="GLenum"/>
1164    <param name="index" type="GLuint"/>
1165  </function>
1166
1167  <function name="DisableiOES" alias="Disablei" es2="3.0">
1168    <param name="target" type="GLenum"/>
1169    <param name="index" type="GLuint"/>
1170  </function>
1171
1172  <function name="IsEnablediOES" alias="IsEnabledi" es2="3.0">
1173    <param name="target" type="GLenum"/>
1174    <param name="index" type="GLuint"/>
1175    <return type="GLboolean"/>
1176  </function>
1177
1178</category>
1179
1180<category name="GL_EXT_primitive_bounding_box" number="212">
1181
1182    <function name="PrimitiveBoundingBoxOES" es2="3.1" alias="PrimitiveBoundingBox">
1183        <param name="minX" type="GLfloat"/>
1184        <param name="minY" type="GLfloat"/>
1185        <param name="minZ" type="GLfloat"/>
1186        <param name="minW" type="GLfloat"/>
1187        <param name="maxX" type="GLfloat"/>
1188        <param name="maxY" type="GLfloat"/>
1189        <param name="maxZ" type="GLfloat"/>
1190        <param name="maxW" type="GLfloat"/>
1191    </function>
1192
1193</category>
1194
1195<category name="GL_OES_texture_buffer" number="216">
1196
1197    <function name="TexBufferOES" es2="3.1" alias="TexBuffer">
1198        <param name="target" type="GLenum"/>
1199        <param name="internalFormat" type="GLenum"/>
1200        <param name="buffer" type="GLuint"/>
1201    </function>
1202
1203    <function name="TexBufferRangeOES" es2="3.1" alias="TexBufferRange">
1204        <param name="target" type="GLenum"/>
1205        <param name="internalformat" type="GLenum"/>
1206        <param name="buffer" type="GLuint"/>
1207        <param name="offset" type="GLintptr"/>
1208        <param name="size" type="GLsizeiptr"/>
1209    </function>
1210
1211</category>
1212
1213<category name="GL_OES_draw_elements_base_vertex" number="219">
1214
1215    <function name="DrawElementsBaseVertexOES" alias="DrawElementsBaseVertex"
1216              es2="2.0" exec="dynamic">
1217        <param name="mode" type="GLenum"/>
1218        <param name="count" type="GLsizei"/>
1219        <param name="type" type="GLenum"/>
1220        <param name="indices" type="const GLvoid *"/>
1221        <param name="basevertex" type="GLint"/>
1222    </function>
1223
1224    <function name="DrawRangeElementsBaseVertexOES" alias="DrawRangeElementsBaseVertex"
1225              es2="3.0" exec="dynamic">
1226        <param name="mode" type="GLenum"/>
1227        <param name="start" type="GLuint"/>
1228        <param name="end" type="GLuint"/>
1229        <param name="count" type="GLsizei"/>
1230        <param name="type" type="GLenum"/>
1231        <param name="indices" type="const GLvoid *"/>
1232        <param name="basevertex" type="GLint"/>
1233    </function>
1234
1235    <function name="DrawElementsInstancedBaseVertexOES" alias="DrawElementsInstancedBaseVertex"
1236              es2="3.0" exec="dynamic">
1237        <param name="mode" type="GLenum"/>
1238        <param name="count" type="GLsizei"/>
1239        <param name="type" type="GLenum"/>
1240        <param name="indices" type="const GLvoid *"/>
1241        <param name="primcount" type="GLsizei"/>
1242        <param name="basevertex" type="GLint"/>
1243    </function>
1244
1245</category>
1246
1247<category name="GL_EXT_buffer_storage" number="239">
1248    <function name="BufferStorageEXT" alias="BufferStorage" es2="3.1">
1249        <param name="target" type="GLenum"/>
1250        <param name="size" type="GLsizeiptr"/>
1251        <param name="data" type="const GLvoid *"/>
1252        <param name="flags" type="GLbitfield"/>
1253    </function>
1254</category>
1255
1256<category name="GL_EXT_blend_func_extended" number="247">
1257
1258    <function name="BindFragDataLocationIndexedEXT" alias="BindFragDataLocationIndexed"
1259            es2="3.0">
1260        <param name="program" type="GLuint"/>
1261        <param name="colorNumber" type="GLuint"/>
1262        <param name="index" type="GLuint"/>
1263        <param name="name" type="const GLchar *"/>
1264    </function>
1265
1266    <function name="GetFragDataIndexEXT" alias="GetFragDataIndex"
1267            es2="3.0">
1268        <param name="program" type="GLuint"/>
1269        <param name="name" type="const GLchar *"/>
1270        <return type="GLint"/>
1271    </function>
1272
1273    <function name="GetProgramResourceLocationIndexEXT" alias="GetProgramResourceLocationIndex"
1274           es2="3.1">
1275        <param name="program" type="GLuint"/>
1276        <param name="programInterface" type="GLenum"/>
1277        <param name="name" type="const GLchar *"/>
1278        <return type="GLint"/>
1279    </function>
1280
1281</category>
1282
1283<category name="GL_OES_copy_image" number="208">
1284
1285    <function name="CopyImageSubDataOES" alias="CopyImageSubData" es2="3.0">
1286        <param name="srcName" type="GLuint"/>
1287        <param name="srcTarget" type="GLenum"/>
1288        <param name="srcLevel" type="GLint"/>
1289        <param name="srcX" type="GLint"/>
1290        <param name="srcY" type="GLint"/>
1291        <param name="srcZ" type="GLint"/>
1292        <param name="dstName" type="GLuint"/>
1293        <param name="dstTarget" type="GLenum"/>
1294        <param name="dstLevel" type="GLint"/>
1295        <param name="dstX" type="GLint"/>
1296        <param name="dstY" type="GLint"/>
1297        <param name="dstZ" type="GLint"/>
1298        <param name="srcWidth" type="GLsizei"/>
1299        <param name="srcHeight" type="GLsizei"/>
1300        <param name="srcDepth" type="GLsizei"/>
1301    </function>
1302
1303</category>
1304
1305<!-- 175. GL_OES_geometry_shader -->
1306<category name="GL_OES_geometry_shader" number="210">
1307    <enum name="GEOMETRY_SHADER_OES"                             value="0x8DD9"/>
1308    <enum name="GEOMETRY_SHADER_BIT_OES"                         value="0x00000004"/>
1309    <enum name="GEOMETRY_LINKED_VERTICES_OUT_OES"                value="0x8916"/>
1310    <enum name="GEOMETRY_LINKED_INPUT_TYPE_OES"                  value="0x8917"/>
1311    <enum name="GEOMETRY_LINKED_OUTPUT_TYPE_OES"                 value="0x8918"/>
1312    <enum name="GEOMETRY_SHADER_INVOCATIONS_OES"                 value="0x887F"/>
1313    <enum name="LAYER_PROVOKING_VERTEX_OES"                      value="0x825E"/>
1314    <enum name="MAX_GEOMETRY_UNIFORM_BLOCKS_OES"                 value="0x8A2C"/>
1315    <enum name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES"    value="0x8A32"/>
1316    <enum name="MAX_GEOMETRY_INPUT_COMPONENTS_OES"               value="0x9123"/>
1317    <enum name="MAX_GEOMETRY_OUTPUT_COMPONENTS_OES"              value="0x9124"/>
1318    <enum name="MAX_GEOMETRY_OUTPUT_VERTICES_OES"                value="0x8DE0"/>
1319    <enum name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES"        value="0x8DE1"/>
1320    <enum name="MAX_GEOMETRY_SHADER_INVOCATIONS_OES"             value="0x8E5A"/>
1321    <enum name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES"            value="0x8C29"/>
1322    <enum name="MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES"         value="0x92CF"/>
1323    <enum name="MAX_GEOMETRY_ATOMIC_COUNTERS_OES"                value="0x92D5"/>
1324    <enum name="MAX_GEOMETRY_IMAGE_UNIFORMS_OES"                 value="0x90CD"/>
1325    <enum name="MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES"          value="0x90D7"/>
1326    <enum name="FIRST_VERTEX_CONVENTION_OES"                     value="0x8E4D"/>
1327    <enum name="LAST_VERTEX_CONVENTION_OES"                      value="0x8E4E"/>
1328    <enum name="UNDEFINED_VERTEX_OES"                            value="0x8260"/>
1329    <enum name="PRIMITIVES_GENERATED_OES"                        value="0x8C87"/>
1330    <enum name="LINES_ADJACENCY_OES"                             value="0xA"/>
1331    <enum name="LINE_STRIP_ADJACENCY_OES"                        value="0xB"/>
1332    <enum name="TRIANGLES_ADJACENCY_OES"                         value="0xC"/>
1333    <enum name="TRIANGLE_STRIP_ADJACENCY_OES"                    value="0xD"/>
1334    <enum name="FRAMEBUFFER_DEFAULT_LAYERS_OES"                  value="0x9312"/>
1335    <enum name="MAX_FRAMEBUFFER_LAYERS_OES"                      value="0x9317"/>
1336    <enum name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES"        value="0x8DA8"/>
1337    <enum name="FRAMEBUFFER_ATTACHMENT_LAYERED_OES"              value="0x8DA7"/>
1338    <enum name="REFERENCED_BY_GEOMETRY_SHADER_OES"               value="0x9309"/>
1339
1340    <function name="FramebufferTextureOES" alias="FramebufferTexture" es2="3.1">
1341        <param name="target" type="GLenum"/>
1342        <param name="attachment" type="GLenum"/>
1343        <param name="texture" type="GLuint"/>
1344        <param name="level" type="GLint"/>
1345    </function>
1346</category>
1347
1348<category name="GL_OES_texture_border_clamp" number="215">
1349
1350    <enum name="TEXTURE_BORDER_COLOR_OES" value ="0x1004"/>
1351    <enum name="CLAMP_TO_BORDER_OES"      value="0x812D"/>
1352
1353    <function name="TexParameterIivOES" es2="3.0" alias="TexParameterIiv">
1354        <param name="target" type="GLenum"/>
1355        <param name="pname"  type="GLenum"/>
1356        <param name="params" type="const GLint *"/>
1357    </function>
1358
1359    <function name="TexParameterIuivOES" es2="3.0" alias="TexParameterIuiv">
1360        <param name="target" type="GLenum"/>
1361        <param name="pname"  type="GLenum"/>
1362        <param name="params" type="const GLuint *"/>
1363    </function>
1364
1365    <function name="GetTexParameterIivOES" es2="3.0" alias="GetTexParameterIiv">
1366        <param name="target" type="GLenum"/>
1367        <param name="pname"  type="GLenum"/>
1368        <param name="params" type="GLint *"/>
1369    </function>
1370
1371    <function name="GetTexParameterIuivOES" es2="3.0" alias="GetTexParameterIuiv">
1372        <param name="target" type="GLenum"/>
1373        <param name="pname"  type="GLenum"/>
1374        <param name="params" type="GLuint *"/>
1375    </function>
1376
1377    <function name="SamplerParameterIivOES" es2="3.0" alias="SamplerParameterIiv">
1378      <param name="sampler" type="GLuint"/>
1379      <param name="pname" type="GLenum"/>
1380      <param name="params" type="const GLint *"/>
1381    </function>
1382
1383    <function name="SamplerParameterIuivOES" es2="3.0" alias="SamplerParameterIuiv">
1384      <param name="sampler" type="GLuint"/>
1385      <param name="pname" type="GLenum"/>
1386      <param name="params" type="const GLuint *"/>
1387    </function>
1388
1389    <function name="GetSamplerParameterIivOES" es2="3.0" alias="GetSamplerParameterIiv">
1390      <param name="sampler" type="GLuint"/>
1391      <param name="pname" type="GLenum"/>
1392      <param name="params" type="GLint *"/>
1393    </function>
1394
1395    <function name="GetSamplerParameterIuivOES" es2="3.0" alias="GetSamplerParameterIuiv">
1396      <param name="sampler" type="GLuint"/>
1397      <param name="pname" type="GLenum"/>
1398      <param name="params" type="GLuint *"/>
1399    </function>
1400
1401</category>
1402
1403<category name="GL_OES_viewport_array" number="267">
1404    <function name="ViewportArrayvOES" es2="3.1" alias="ViewportArrayv">
1405        <param name="first" type="GLuint"/>
1406        <param name="count" type="GLsizei"/>
1407        <param name="v" type="const GLfloat *"/>
1408    </function>
1409    <function name="ViewportIndexedfOES" es2="3.1" alias="ViewportIndexedf">
1410        <param name="index" type="GLuint"/>
1411        <param name="x" type="GLfloat"/>
1412        <param name="y" type="GLfloat"/>
1413        <param name="w" type="GLfloat"/>
1414        <param name="h" type="GLfloat"/>
1415    </function>
1416    <function name="ViewportIndexedfvOES" es2="3.1" alias="ViewportIndexedfv">
1417        <param name="index" type="GLuint"/>
1418        <param name="v" type="const GLfloat *"/>
1419    </function>
1420    <function name="ScissorArrayvOES" es2="3.1" alias="ScissorArrayv">
1421        <param name="first" type="GLuint"/>
1422        <param name="count" type="GLsizei"/>
1423        <param name="v" type="const int *"/>
1424    </function>
1425    <function name="ScissorIndexedOES" es2="3.1" alias="ScissorIndexed">
1426        <param name="index" type="GLuint"/>
1427        <param name="left" type="GLint"/>
1428        <param name="bottom" type="GLint"/>
1429        <param name="width" type="GLsizei"/>
1430        <param name="height" type="GLsizei"/>
1431    </function>
1432    <function name="ScissorIndexedvOES" es2="3.1" alias="ScissorIndexedv">
1433        <param name="index" type="GLuint"/>
1434        <param name="v" type="const GLint *"/>
1435    </function>
1436    <function name="DepthRangeArrayfvOES" es2="3.1" desktop="false">
1437        <param name="first" type="GLuint"/>
1438        <param name="count" type="GLsizei"/>
1439        <param name="v" type="const GLfloat *"/>
1440    </function>
1441    <function name="DepthRangeIndexedfOES" es2="3.1" desktop="false">
1442        <param name="index" type="GLuint"/>
1443        <param name="n" type="GLfloat"/>
1444        <param name="f" type="GLfloat"/>
1445    </function>
1446    <function name="GetFloati_vOES" es2="3.1" alias="GetFloati_v">
1447        <param name="target" type="GLenum"/>
1448        <param name="index" type="GLuint"/>
1449        <param name="data" type="GLfloat *"/>
1450    </function>
1451</category>
1452
1453</OpenGLAPI>
1454