APIspec.xml revision dd0eb004874645135b9aaac3ebbd0aaf274079ea
1<?xml version="1.0"?>
2<!DOCTYPE apispec SYSTEM "APIspec.dtd">
3
4<!-- A function is generated from a template.  Multiple functions can be
5     generated from a single template with different arguments.  For example,
6     glColor3f can be generated from
7
8     <function name="Color3f" template="Color" gltype="GLfloat" vector_size="3" expand_vector="true"/>
9
10     and glColor4iv can be generated from
11
12     <function name="Color4iv" template="Color" gltype="GLint" vector_size="4"/>
13
14     In a template, there are <desc>s that describe the properties of
15     parameters.  A <desc> can enumerate the valid values of a parameter.  It
16     can also specify the error code when an invalid value is given, and etc.
17     By nesting <desc>s, they can create dependency between parameters.
18
19     A function can be marked as external.  It means that the function cannot
20     be dispatched to the corresponding mesa function, if one exists, directly,
21     and requires an external implementation.
22-->
23
24<apispec>
25
26<template name="Color">
27	<proto>
28		<return type="void"/>
29		<vector name="v" type="const GLtype *" size="dynamic">
30			<param name="red" type="GLtype"/>
31			<param name="green" type="GLtype"/>
32			<param name="blue" type="GLtype"/>
33			<param name="alpha" type="GLtype"/>
34		</vector>
35	</proto>
36</template>
37
38<template name="ClipPlane">
39	<proto>
40		<return type="void"/>
41		<param name="plane" type="GLenum"/>
42		<vector name="equation" type="const GLtype *" size="4"/>
43	</proto>
44</template>
45
46<template name="CullFace">
47	<proto>
48		<return type="void"/>
49		<param name="mode" type="GLenum"/>
50	</proto>
51</template>
52
53<template name="Fog">
54	<proto>
55		<return type="void"/>
56		<param name="pname" type="GLenum"/>
57		<vector name="params" type="const GLtype *" size="dynamic">
58			<param name="param" type="GLtype"/>
59		</vector>
60	</proto>
61
62        <desc name="pname">
63		<value name="GL_FOG_MODE"/>
64		<desc name="param">
65			<value name="GL_EXP"/>
66			<value name="GL_EXP2"/>
67			<value name="GL_LINEAR"/>
68		</desc>
69        </desc>
70
71	<desc name="pname">
72		<value name="GL_FOG_COLOR"/>
73
74		<desc name="params" vector_size="4"/>
75	</desc>
76
77	<desc name="pname">
78		<value name="GL_FOG_DENSITY"/>
79		<value name="GL_FOG_START"/>
80		<value name="GL_FOG_END"/>
81
82		<desc name="params" vector_size="1"/>
83	</desc>
84</template>
85
86<template name="FrontFace">
87	<proto>
88		<return type="void"/>
89		<param name="mode" type="GLenum"/>
90	</proto>
91</template>
92
93<template name="Hint">
94	<proto>
95		<return type="void"/>
96		<param name="target" type="GLenum"/>
97		<param name="mode" type="GLenum"/>
98	</proto>
99
100	<desc name="target" category="GLES1.1">
101		<value name="GL_FOG_HINT"/>
102		<value name="GL_LINE_SMOOTH_HINT"/>
103		<value name="GL_PERSPECTIVE_CORRECTION_HINT"/>
104		<value name="GL_POINT_SMOOTH_HINT"/>
105	</desc>
106	<desc name="target" category="OES_standard_derivatives">
107		<value name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/>
108	</desc>
109	<desc name="target">
110		<value name="GL_GENERATE_MIPMAP_HINT"/>
111	</desc>
112</template>
113
114<template name="Light">
115	<proto>
116		<return type="void"/>
117		<param name="light" type="GLenum"/>
118		<param name="pname" type="GLenum"/>
119		<vector name="params" type="const GLtype *" size="dynamic">
120			<param name="param" type="GLtype"/>
121		</vector>
122	</proto>
123</template>
124
125<template name="LightModel">
126	<proto>
127		<return type="void"/>
128		<param name="pname" type="GLenum"/>
129		<vector name="params" type="const GLtype *" size="dynamic">
130			<param name="param" type="GLtype"/>
131		</vector>
132	</proto>
133
134	<desc name="pname">
135		<value name="GL_LIGHT_MODEL_AMBIENT"/>
136
137		<desc name="params" vector_size="4"/>
138	</desc>
139
140	<desc name="pname">
141		<value name="GL_LIGHT_MODEL_TWO_SIDE"/>
142		<desc name="param">
143			<value name="GL_TRUE"/>
144			<value name="GL_FALSE"/>
145		</desc>
146	</desc>
147</template>
148
149<template name="LineWidth">
150	<proto>
151		<return type="void"/>
152		<param name="width" type="GLtype"/>
153	</proto>
154</template>
155
156<template name="Material">
157	<proto>
158		<return type="void"/>
159		<param name="face" type="GLenum"/>
160		<param name="pname" type="GLenum"/>
161		<vector name="params" type="const GLtype *" size="dynamic">
162			<param name="param" type="GLtype"/>
163		</vector>
164	</proto>
165
166	<desc name="face">
167		<value name="GL_FRONT_AND_BACK"/>
168	</desc>
169
170	<desc name="pname">
171		<value name="GL_AMBIENT"/>
172		<value name="GL_DIFFUSE"/>
173		<value name="GL_AMBIENT_AND_DIFFUSE"/>
174		<value name="GL_SPECULAR"/>
175		<value name="GL_EMISSION"/>
176
177		<desc name="params" vector_size="4"/>
178	</desc>
179
180	<desc name="pname">
181		<value name="GL_SHININESS"/>
182
183		<desc name="params" vector_size="1"/>
184	</desc>
185</template>
186
187<template name="PointSize">
188	<proto>
189		<return type="void"/>
190		<param name="size" type="GLtype"/>
191	</proto>
192</template>
193
194<template name="PointSizePointer">
195	<proto>
196		<return type="void"/>
197		<param name="type" type="GLenum"/>
198		<param name="stride" type="GLsizei"/>
199		<param name="pointer" type="const GLvoid *"/>
200	</proto>
201</template>
202
203<template name="Scissor">
204	<proto>
205		<return type="void"/>
206		<param name="x" type="GLint"/>
207		<param name="y" type="GLint"/>
208		<param name="width" type="GLsizei"/>
209		<param name="height" type="GLsizei"/>
210	</proto>
211</template>
212
213<template name="ShadeModel">
214	<proto>
215		<return type="void"/>
216		<param name="mode" type="GLenum"/>
217	</proto>
218</template>
219
220<template name="TexParameter">
221	<proto>
222		<return type="void"/>
223		<param name="target" type="GLenum"/>
224		<param name="pname" type="GLenum"/>
225		<vector name="params" type="const GLtype *" size="dynamic">
226			<param name="param" type="GLtype"/>
227		</vector>
228	</proto>
229</template>
230
231<template name="TexImage2D">
232	<proto>
233		<return type="void"/>
234		<param name="target" type="GLenum"/>
235		<param name="level" type="GLint"/>
236		<param name="internalFormat" type="GLint"/> <!-- should be GLenum -->
237		<param name="width" type="GLsizei"/>
238		<param name="height" type="GLsizei"/>
239		<param name="border" type="GLint"/>
240		<param name="format" type="GLenum"/>
241		<param name="type" type="GLenum"/>
242		<param name="pixels" type="const GLvoid *"/>
243	</proto>
244</template>
245
246<template name="TexEnv">
247	<proto>
248		<return type="void"/>
249		<param name="target" type="GLenum"/>
250		<param name="pname" type="GLenum"/>
251		<vector name="params" type="const GLtype *" size="dynamic">
252			<param name="param" type="GLtype"/>
253		</vector>
254	</proto>
255
256	<desc name="target" category="OES_point_sprite">
257		<value name="GL_POINT_SPRITE_OES"/>
258
259		<desc name="pname">
260			<value name="GL_COORD_REPLACE_OES"/>
261		</desc>
262	</desc>
263
264	<desc name="pname" category="OES_point_sprite">
265		<value name="GL_COORD_REPLACE_OES"/>
266
267		<desc name="param">
268			<value name="GL_TRUE"/>
269			<value name="GL_FALSE"/>
270		</desc>
271	</desc>
272
273	<desc name="target" category="EXT_texture_lod_bias">
274		<value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
275
276		<desc name="pname">
277			<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
278		</desc>
279	</desc>
280
281	<desc name="pname" category="EXT_texture_lod_bias">
282		<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
283		<desc name="params" vector_size="1"/>
284	</desc>
285
286	<desc name="target">
287		<value name="GL_TEXTURE_ENV"/>
288
289		<desc name="pname">
290			<value name="GL_TEXTURE_ENV_MODE"/>
291			<value name="GL_COMBINE_RGB"/>
292			<value name="GL_COMBINE_ALPHA"/>
293			<value name="GL_RGB_SCALE"/>
294			<value name="GL_ALPHA_SCALE"/>
295			<value name="GL_SRC0_RGB"/>
296			<value name="GL_SRC1_RGB"/>
297			<value name="GL_SRC2_RGB"/>
298			<value name="GL_SRC0_ALPHA"/>
299			<value name="GL_SRC1_ALPHA"/>
300			<value name="GL_SRC2_ALPHA"/>
301			<value name="GL_OPERAND0_RGB"/>
302			<value name="GL_OPERAND1_RGB"/>
303			<value name="GL_OPERAND2_RGB"/>
304			<value name="GL_OPERAND0_ALPHA"/>
305			<value name="GL_OPERAND1_ALPHA"/>
306			<value name="GL_OPERAND2_ALPHA"/>
307			<value name="GL_TEXTURE_ENV_COLOR"/>
308		</desc>
309	</desc>
310
311	<desc name="pname">
312		<value name="GL_TEXTURE_ENV_MODE"/>
313
314		<desc name="param">
315			<value name="GL_REPLACE"/>
316			<value name="GL_MODULATE"/>
317			<value name="GL_DECAL"/>
318			<value name="GL_BLEND"/>
319			<value name="GL_ADD"/>
320			<value name="GL_COMBINE"/>
321		</desc>
322	</desc>
323
324	<desc name="pname">
325		<value name="GL_COMBINE_RGB"/>
326
327		<desc name="param">
328			<value name="GL_REPLACE"/>
329			<value name="GL_MODULATE"/>
330			<value name="GL_ADD"/>
331			<value name="GL_ADD_SIGNED"/>
332			<value name="GL_INTERPOLATE"/>
333			<value name="GL_SUBTRACT"/>
334			<value name="GL_DOT3_RGB"/>
335			<value name="GL_DOT3_RGBA"/>
336		</desc>
337	</desc>
338
339	<desc name="pname">
340		<value name="GL_COMBINE_ALPHA"/>
341
342		<desc name="param">
343			<value name="GL_REPLACE"/>
344			<value name="GL_MODULATE"/>
345			<value name="GL_ADD"/>
346			<value name="GL_ADD_SIGNED"/>
347			<value name="GL_INTERPOLATE"/>
348			<value name="GL_SUBTRACT"/>
349		</desc>
350	</desc>
351
352	<desc name="pname">
353		<value name="GL_RGB_SCALE"/>
354		<value name="GL_ALPHA_SCALE"/>
355	</desc>
356
357	<desc name="pname">
358		<value name="GL_SRC0_RGB"/>
359		<value name="GL_SRC1_RGB"/>
360		<value name="GL_SRC2_RGB"/>
361		<value name="GL_SRC0_ALPHA"/>
362		<value name="GL_SRC1_ALPHA"/>
363		<value name="GL_SRC2_ALPHA"/>
364
365		<desc name="param">
366			<value name="GL_TEXTURE"/>
367			<value name="GL_CONSTANT"/>
368			<value name="GL_PRIMARY_COLOR"/>
369			<value name="GL_PREVIOUS"/>
370
371			<range base="GL_TEXTURE" from="0" to="31" category="OES_texture_env_crossbar"/>
372		</desc>
373	</desc>
374
375	<desc name="pname">
376		<value name="GL_OPERAND0_RGB"/>
377		<value name="GL_OPERAND1_RGB"/>
378		<value name="GL_OPERAND2_RGB"/>
379
380		<desc name="param">
381			<value name="GL_SRC_COLOR"/>
382			<value name="GL_ONE_MINUS_SRC_COLOR"/>
383			<value name="GL_SRC_ALPHA"/>
384			<value name="GL_ONE_MINUS_SRC_ALPHA"/>
385		</desc>
386	</desc>
387
388	<desc name="pname">
389		<value name="GL_OPERAND0_ALPHA"/>
390		<value name="GL_OPERAND1_ALPHA"/>
391		<value name="GL_OPERAND2_ALPHA"/>
392
393		<desc name="param">
394			<value name="GL_SRC_ALPHA"/>
395			<value name="GL_ONE_MINUS_SRC_ALPHA"/>
396		</desc>
397	</desc>
398
399	<desc name="pname">
400		<value name="GL_TEXTURE_ENV_COLOR"/>
401
402		<desc name="params" vector_size="4"/>
403	</desc>
404</template>
405
406<template name="TexGen">
407	<proto>
408		<return type="void"/>
409		<param name="coord" type="GLenum"/>
410		<param name="pname" type="GLenum"/>
411		<vector name="params" type="const GLtype *" size="dynamic">
412			<param name="param" type="GLtype"/>
413		</vector>
414	</proto>
415
416	<desc name="coord" category="OES_texture_cube_map">
417		<value name="GL_TEXTURE_GEN_STR_OES"/>
418	</desc>
419
420	<desc name="pname" category="OES_texture_cube_map">
421		<value name="GL_TEXTURE_GEN_MODE_OES"/>
422
423		<desc name="param">
424			<value name="GL_NORMAL_MAP_OES"/>
425			<value name="GL_REFLECTION_MAP_OES"/>
426		</desc>
427	</desc>
428</template>
429
430<template name="Clear">
431	<proto>
432		<return type="void"/>
433		<param name="mask" type="GLbitfield"/>
434	</proto>
435
436	<desc name="mask" error="GL_INVALID_VALUE">
437		<value name="0"/>
438		<value name="(GL_COLOR_BUFFER_BIT)"/>
439		<value name="(GL_DEPTH_BUFFER_BIT)"/>
440		<value name="(GL_STENCIL_BUFFER_BIT)"/>
441		<value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)"/>
442		<value name="(GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/>
443		<value name="(GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/>
444		<value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/>
445	</desc>
446</template>
447
448<template name="ClearColor">
449	<proto>
450		<return type="void"/>
451		<param name="red" type="GLtype"/>
452		<param name="green" type="GLtype"/>
453		<param name="blue" type="GLtype"/>
454		<param name="alpha" type="GLtype"/>
455	</proto>
456</template>
457
458<template name="ClearStencil">
459	<proto>
460		<return type="void"/>
461		<param name="s" type="GLint"/>
462	</proto>
463</template>
464
465<template name="ClearDepth">
466	<proto>
467		<return type="void"/>
468		<param name="depth" type="GLtype"/>
469	</proto>
470</template>
471
472<template name="StencilMask">
473	<proto>
474		<return type="void"/>
475		<param name="mask" type="GLuint"/>
476	</proto>
477</template>
478
479<template name="StencilMaskSeparate">
480	<proto>
481		<return type="void"/>
482		<param name="face" type="GLenum"/>
483		<param name="mask" type="GLuint"/>
484	</proto>
485</template>
486
487<template name="ColorMask">
488	<proto>
489		<return type="void"/>
490		<param name="red" type="GLboolean"/>
491		<param name="green" type="GLboolean"/>
492		<param name="blue" type="GLboolean"/>
493		<param name="alpha" type="GLboolean"/>
494	</proto>
495</template>
496
497<template name="DepthMask">
498	<proto>
499		<return type="void"/>
500		<param name="flag" type="GLboolean"/>
501	</proto>
502</template>
503
504<template name="Disable">
505	<proto>
506		<return type="void"/>
507		<param name="cap" type="GLenum"/>
508	</proto>
509
510	<desc name="cap" category="GLES1.1">
511		<value name="GL_NORMALIZE"/>
512		<value name="GL_RESCALE_NORMAL"/>
513
514		<range base="GL_CLIP_PLANE" from="0" to="5"/>
515		<value name="GL_CLIP_PLANE0+6"/>
516		<value name="GL_CLIP_PLANE0+7"/>
517
518		<value name="GL_FOG"/>
519		<value name="GL_LIGHTING"/>
520		<value name="GL_COLOR_MATERIAL"/>
521
522		<range base="GL_LIGHT" from="0" to="7"/>
523
524		<value name="GL_POINT_SMOOTH"/>
525		<value name="GL_LINE_SMOOTH"/>
526		<value name="GL_CULL_FACE"/>
527		<value name="GL_POLYGON_OFFSET_FILL"/>
528		<value name="GL_MULTISAMPLE"/>
529		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
530		<value name="GL_SAMPLE_ALPHA_TO_ONE"/>
531		<value name="GL_SAMPLE_COVERAGE"/>
532		<value name="GL_TEXTURE_2D"/>
533		<value name="GL_SCISSOR_TEST"/>
534		<value name="GL_ALPHA_TEST"/>
535		<value name="GL_STENCIL_TEST"/>
536		<value name="GL_DEPTH_TEST"/>
537		<value name="GL_BLEND"/>
538		<value name="GL_DITHER"/>
539		<value name="GL_COLOR_LOGIC_OP"/>
540
541		<value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
542		<value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
543		<value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
544		<value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
545		<value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
546	</desc>
547
548	<desc name="cap" category="GLES2.0">
549		<value name="GL_CULL_FACE"/>
550		<value name="GL_SCISSOR_TEST"/>
551		<value name="GL_POLYGON_OFFSET_FILL"/>
552		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
553		<value name="GL_SAMPLE_COVERAGE"/>
554		<value name="GL_STENCIL_TEST"/>
555		<value name="GL_DEPTH_TEST"/>
556		<value name="GL_DITHER"/>
557		<value name="GL_BLEND"/>
558	</desc>
559</template>
560
561<!-- it is exactly the same as Disable -->
562<template name="Enable">
563	<proto>
564		<return type="void"/>
565		<param name="cap" type="GLenum"/>
566	</proto>
567
568	<desc name="cap" category="GLES1.1">
569		<value name="GL_NORMALIZE"/>
570		<value name="GL_RESCALE_NORMAL"/>
571
572		<range base="GL_CLIP_PLANE" from="0" to="5"/>
573		<value name="GL_CLIP_PLANE0+6"/>
574		<value name="GL_CLIP_PLANE0+7"/>
575
576		<value name="GL_FOG"/>
577		<value name="GL_LIGHTING"/>
578		<value name="GL_COLOR_MATERIAL"/>
579
580		<range base="GL_LIGHT" from="0" to="7"/>
581
582		<value name="GL_POINT_SMOOTH"/>
583		<value name="GL_LINE_SMOOTH"/>
584		<value name="GL_CULL_FACE"/>
585		<value name="GL_POLYGON_OFFSET_FILL"/>
586		<value name="GL_MULTISAMPLE"/>
587		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
588		<value name="GL_SAMPLE_ALPHA_TO_ONE"/>
589		<value name="GL_SAMPLE_COVERAGE"/>
590		<value name="GL_TEXTURE_2D"/>
591		<value name="GL_SCISSOR_TEST"/>
592		<value name="GL_ALPHA_TEST"/>
593		<value name="GL_STENCIL_TEST"/>
594		<value name="GL_DEPTH_TEST"/>
595		<value name="GL_BLEND"/>
596		<value name="GL_DITHER"/>
597		<value name="GL_COLOR_LOGIC_OP"/>
598
599		<value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
600		<value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
601		<value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
602		<value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
603		<value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
604	</desc>
605
606	<desc name="cap" category="GLES2.0">
607		<value name="GL_CULL_FACE"/>
608		<value name="GL_SCISSOR_TEST"/>
609		<value name="GL_POLYGON_OFFSET_FILL"/>
610		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
611		<value name="GL_SAMPLE_COVERAGE"/>
612		<value name="GL_STENCIL_TEST"/>
613		<value name="GL_DEPTH_TEST"/>
614		<value name="GL_DITHER"/>
615		<value name="GL_BLEND"/>
616	</desc>
617</template>
618
619<template name="Finish">
620	<proto>
621		<return type="void"/>
622	</proto>
623</template>
624
625<template name="Flush">
626	<proto>
627		<return type="void"/>
628	</proto>
629</template>
630
631<template name="AlphaFunc">
632	<proto>
633		<return type="void"/>
634		<param name="func" type="GLenum"/>
635		<param name="ref" type="GLtype"/>
636	</proto>
637</template>
638
639<template name="BlendFunc">
640	<proto>
641		<return type="void"/>
642		<param name="sfactor" type="GLenum"/>
643		<param name="dfactor" type="GLenum"/>
644	</proto>
645
646	<desc name="sfactor">
647		<value name="GL_ZERO"/>
648		<value name="GL_ONE"/>
649		<value name="GL_SRC_COLOR"/>
650		<value name="GL_ONE_MINUS_SRC_COLOR"/>
651		<value name="GL_SRC_ALPHA"/>
652		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
653		<value name="GL_DST_ALPHA"/>
654		<value name="GL_ONE_MINUS_DST_ALPHA"/>
655		<value name="GL_DST_COLOR"/>
656		<value name="GL_ONE_MINUS_DST_COLOR"/>
657		<value name="GL_SRC_ALPHA_SATURATE"/>
658
659		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
660		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
661		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
662		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
663	</desc>
664
665	<desc name="dfactor">
666		<value name="GL_ZERO"/>
667		<value name="GL_ONE"/>
668		<value name="GL_SRC_COLOR"/>
669		<value name="GL_ONE_MINUS_SRC_COLOR"/>
670		<value name="GL_SRC_ALPHA"/>
671		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
672		<value name="GL_DST_ALPHA"/>
673		<value name="GL_ONE_MINUS_DST_ALPHA"/>
674		<value name="GL_DST_COLOR"/>
675		<value name="GL_ONE_MINUS_DST_COLOR"/>
676
677		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
678		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
679		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
680		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
681	</desc>
682</template>
683
684<template name="LogicOp">
685	<proto>
686		<return type="void"/>
687		<param name="opcode" type="GLenum"/>
688	</proto>
689</template>
690
691<template name="StencilFunc">
692	<proto>
693		<return type="void"/>
694		<param name="func" type="GLenum"/>
695		<param name="ref" type="GLint"/>
696		<param name="mask" type="GLuint"/>
697	</proto>
698</template>
699
700<template name="StencilFuncSeparate">
701	<proto>
702		<return type="void"/>
703		<param name="face" type="GLenum"/>
704		<param name="func" type="GLenum"/>
705		<param name="ref" type="GLint"/>
706		<param name="mask" type="GLuint"/>
707	</proto>
708</template>
709
710<template name="StencilOp">
711	<proto>
712		<return type="void"/>
713		<param name="fail" type="GLenum"/>
714		<param name="zfail" type="GLenum"/>
715		<param name="zpass" type="GLenum"/>
716	</proto>
717</template>
718
719<template name="StencilOpSeparate">
720	<proto>
721		<return type="void"/>
722		<param name="face" type="GLenum"/>
723		<param name="fail" type="GLenum"/>
724		<param name="zfail" type="GLenum"/>
725		<param name="zpass" type="GLenum"/>
726	</proto>
727</template>
728
729<template name="DepthFunc">
730	<proto>
731		<return type="void"/>
732		<param name="func" type="GLenum"/>
733	</proto>
734</template>
735
736<template name="PixelStore">
737	<proto>
738		<return type="void"/>
739		<param name="pname" type="GLenum"/>
740		<param name="param" type="GLtype"/>
741	</proto>
742
743	<desc name="pname">
744		<value name="GL_PACK_ALIGNMENT"/>
745		<desc name="param" error="GL_INVALID_VALUE">
746			<value name="1"/>
747			<value name="2"/>
748			<value name="4"/>
749			<value name="8"/>
750		</desc>
751	</desc>
752
753	<desc name="pname">
754		<value name="GL_UNPACK_ALIGNMENT"/>
755		<desc name="param" error="GL_INVALID_VALUE">
756			<value name="1"/>
757			<value name="2"/>
758			<value name="4"/>
759			<value name="8"/>
760		</desc>
761	</desc>
762
763	<desc name="pname" category="EXT_unpack_subimage">
764		<value name="GL_UNPACK_ROW_LENGTH"/>
765		<value name="GL_UNPACK_SKIP_PIXELS"/>
766		<value name="GL_UNPACK_SKIP_ROWS"/>
767	</desc>
768
769</template>
770
771<template name="ReadPixels" direction="get">
772	<proto>
773		<return type="void"/>
774		<param name="x" type="GLint"/>
775		<param name="y" type="GLint"/>
776		<param name="width" type="GLsizei"/>
777		<param name="height" type="GLsizei"/>
778		<param name="format" type="GLenum"/>
779		<param name="type" type="GLenum"/>
780		<param name="pixels" type="GLvoid *"/>
781	</proto>
782
783	<!-- Technically, only two combinations are actually allowed:
784	     GL_RGBA/GL_UNSIGNED_BYTE, and some implementation-specific
785	     internal preferred combination.  I don't know what that is, so I'm
786	     allowing any valid combination for now; the underlying support
787	     should fail when necessary.-->
788	<desc name="format">
789		<value name="GL_ALPHA"/>
790		<desc name="type" error="GL_INVALID_OPERATION">
791			<value name="GL_UNSIGNED_BYTE"/>
792		</desc>
793	</desc>
794
795	<desc name="format">
796		<value name="GL_RGB"/>
797		<desc name="type" error="GL_INVALID_OPERATION">
798			<value name="GL_UNSIGNED_BYTE"/>
799			<value name="GL_UNSIGNED_SHORT_5_6_5"/>
800		</desc>
801	</desc>
802
803	<desc name="format">
804		<value name="GL_RGBA"/>
805		<desc name="type" error="GL_INVALID_OPERATION">
806			<value name="GL_UNSIGNED_BYTE"/>
807			<value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
808			<value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
809		</desc>
810	</desc>
811
812	<desc name="format">
813		<value name="GL_LUMINANCE"/>
814		<desc name="type" error="GL_INVALID_OPERATION">
815			<value name="GL_UNSIGNED_BYTE"/>
816		</desc>
817	</desc>
818
819	<desc name="format">
820		<value name="GL_LUMINANCE_ALPHA"/>
821		<desc name="type" error="GL_INVALID_OPERATION">
822			<value name="GL_UNSIGNED_BYTE"/>
823		</desc>
824	</desc>
825
826	<desc name="format" category="EXT_read_format_bgra">
827		<value name="GL_BGRA_EXT"/>
828
829		<desc name="type" error="GL_INVALID_OPERATION">
830			<value name="GL_UNSIGNED_BYTE"/>
831			<value name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/>
832			<value name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
833		</desc>
834	</desc>
835</template>
836
837<template name="GetClipPlane" direction="get">
838	<proto>
839		<return type="void"/>
840		<param name="plane" type="GLenum"/>
841		<vector name="equation" type="GLtype *" size="4"/>
842	</proto>
843</template>
844
845<template name="GetError" direction="get">
846	<proto>
847		<return type="GLenum"/>
848	</proto>
849</template>
850
851<!-- template for GetFloatv, GetIntegerv, GetBoolean, and GetFixedv -->
852<template name="GetState" direction="get">
853	<proto>
854		<return type="void"/>
855		<param name="pname" type="GLenum"/>
856		<vector name="params" type="GLtype *" size="dynamic"/>
857	</proto>
858	<!-- param checking is done in mesa -->
859</template>
860
861<template name="GetLight" direction="get">
862	<proto>
863		<return type="void"/>
864		<param name="light" type="GLenum"/>
865		<param name="pname" type="GLenum"/>
866		<vector name="params" type="GLtype *" size="dynamic"/>
867	</proto>
868</template>
869
870<template name="GetMaterial" direction="get">
871	<proto>
872		<return type="void"/>
873		<param name="face" type="GLenum"/>
874		<param name="pname" type="GLenum"/>
875		<vector name="params" type="GLtype *" size="dynamic">
876			<param name="param" type="GLtype"/>
877		</vector>
878	</proto>
879
880	<desc name="face">
881		<value name="GL_FRONT"/>
882		<value name="GL_BACK"/>
883	</desc>
884
885	<desc name="pname">
886		<value name="GL_SHININESS"/>
887		<desc name="params" vector_size="1"/>
888	</desc>
889
890	<desc name="pname">
891		<value name="GL_AMBIENT"/>
892		<value name="GL_DIFFUSE"/>
893		<value name="GL_AMBIENT_AND_DIFFUSE"/>
894		<value name="GL_SPECULAR"/>
895		<value name="GL_EMISSION"/>
896
897		<desc name="params" vector_size="4"/>
898	</desc>
899</template>
900
901<template name="GetString" direction="get">
902	<proto>
903		<return type="const GLubyte *"/>
904		<param name="name" type="GLenum"/>
905	</proto>
906
907	<desc name="name">
908		<value name="GL_VENDOR"/>
909		<value name="GL_RENDERER"/>
910		<value name="GL_VERSION"/>
911		<value name="GL_EXTENSIONS"/>
912		<value name="GL_SHADING_LANGUAGE_VERSION" category="GLES2.0"/>
913	</desc>
914</template>
915
916<template name="GetTexEnv" direction="get">
917	<proto>
918		<return type="void"/>
919		<param name="target" type="GLenum"/>
920		<param name="pname" type="GLenum"/>
921		<vector name="params" type="GLtype *" size="dynamic"/>
922	</proto>
923
924	<desc name="target" category="OES_point_sprite">
925		<value name="GL_POINT_SPRITE_OES"/>
926		<desc name="pname">
927			<value name="GL_COORD_REPLACE_OES"/>
928		</desc>
929	</desc>
930
931	<desc name="pname" category="OES_point_sprite">
932		<value name="GL_COORD_REPLACE_OES"/>
933		<desc name="params" vector_size="1" convert="false"/>
934	</desc>
935
936	<desc name="target" category="EXT_texture_lod_bias">
937		<value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
938
939		<desc name="pname">
940			<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
941		</desc>
942	</desc>
943
944	<desc name="pname" category="EXT_texture_lod_bias">
945		<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
946		<desc name="params" vector_size="1"/>
947	</desc>
948
949	<desc name="target">
950		<value name="GL_TEXTURE_ENV"/>
951
952		<desc name="pname">
953			<value name="GL_TEXTURE_ENV_COLOR"/>
954			<value name="GL_RGB_SCALE"/>
955			<value name="GL_ALPHA_SCALE"/>
956			<value name="GL_TEXTURE_ENV_MODE"/>
957			<value name="GL_COMBINE_RGB"/>
958			<value name="GL_COMBINE_ALPHA"/>
959			<value name="GL_SRC0_RGB"/>
960			<value name="GL_SRC1_RGB"/>
961			<value name="GL_SRC2_RGB"/>
962			<value name="GL_SRC0_ALPHA"/>
963			<value name="GL_SRC1_ALPHA"/>
964			<value name="GL_SRC2_ALPHA"/>
965			<value name="GL_OPERAND0_RGB"/>
966			<value name="GL_OPERAND1_RGB"/>
967			<value name="GL_OPERAND2_RGB"/>
968			<value name="GL_OPERAND0_ALPHA"/>
969			<value name="GL_OPERAND1_ALPHA"/>
970			<value name="GL_OPERAND2_ALPHA"/>
971		</desc>
972	</desc>
973
974	<desc name="pname">
975		<value name="GL_TEXTURE_ENV_COLOR"/>
976		<desc name="params" vector_size="4"/>
977	</desc>
978
979	<desc name="pname">
980		<value name="GL_RGB_SCALE"/>
981		<value name="GL_ALPHA_SCALE"/>
982
983		<desc name="params" vector_size="1"/>
984	</desc>
985
986	<desc name="pname">
987		<value name="GL_TEXTURE_ENV_MODE"/>
988		<value name="GL_COMBINE_RGB"/>
989		<value name="GL_COMBINE_ALPHA"/>
990		<value name="GL_SRC0_RGB"/>
991		<value name="GL_SRC1_RGB"/>
992		<value name="GL_SRC2_RGB"/>
993		<value name="GL_SRC0_ALPHA"/>
994		<value name="GL_SRC1_ALPHA"/>
995		<value name="GL_SRC2_ALPHA"/>
996		<value name="GL_OPERAND0_RGB"/>
997		<value name="GL_OPERAND1_RGB"/>
998		<value name="GL_OPERAND2_RGB"/>
999		<value name="GL_OPERAND0_ALPHA"/>
1000		<value name="GL_OPERAND1_ALPHA"/>
1001		<value name="GL_OPERAND2_ALPHA"/>
1002
1003		<desc name="params" vector_size="1" convert="false"/>
1004	</desc>
1005</template>
1006
1007<template name="GetTexGen" direction="get">
1008	<proto>
1009		<return type="void"/>
1010		<param name="coord" type="GLenum"/>
1011		<param name="pname" type="GLenum"/>
1012		<vector name="params" type="GLtype *" size="dynamic"/>
1013	</proto>
1014
1015	<desc name="coord">
1016		<value name="GL_TEXTURE_GEN_STR_OES"/>
1017	</desc>
1018	<desc name="pname">
1019		<value name="GL_TEXTURE_GEN_MODE_OES"/>
1020		<desc name="params" vector_size="1" convert="false"/>
1021	</desc>
1022</template>
1023
1024<template name="GetTexParameter" direction="get">
1025	<proto>
1026		<return type="void"/>
1027		<param name="target" type="GLenum"/>
1028		<param name="pname" type="GLenum"/>
1029		<vector name="params" type="GLtype *" size="dynamic"/>
1030	</proto>
1031</template>
1032
1033<template name="IsEnabled" direction="get">
1034	<proto>
1035		<return type="GLboolean"/>
1036		<param name="cap" type="GLenum"/>
1037	</proto>
1038
1039	<desc name="cap" category="GLES1.1">
1040		<value name="GL_NORMALIZE"/>
1041		<value name="GL_RESCALE_NORMAL"/>
1042
1043		<range base="GL_CLIP_PLANE" from="0" to="5"/>
1044		<value name="GL_CLIP_PLANE0+6"/>
1045		<value name="GL_CLIP_PLANE0+7"/>
1046
1047		<value name="GL_FOG"/>
1048		<value name="GL_LIGHTING"/>
1049		<value name="GL_COLOR_MATERIAL"/>
1050
1051		<range base="GL_LIGHT" from="0" to="7"/>
1052
1053		<value name="GL_POINT_SMOOTH"/>
1054		<value name="GL_LINE_SMOOTH"/>
1055		<value name="GL_CULL_FACE"/>
1056		<value name="GL_POLYGON_OFFSET_FILL"/>
1057		<value name="GL_MULTISAMPLE"/>
1058		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
1059		<value name="GL_SAMPLE_ALPHA_TO_ONE"/>
1060		<value name="GL_SAMPLE_COVERAGE"/>
1061		<value name="GL_TEXTURE_2D"/>
1062		<value name="GL_SCISSOR_TEST"/>
1063		<value name="GL_ALPHA_TEST"/>
1064		<value name="GL_STENCIL_TEST"/>
1065		<value name="GL_DEPTH_TEST"/>
1066		<value name="GL_BLEND"/>
1067		<value name="GL_DITHER"/>
1068		<value name="GL_COLOR_LOGIC_OP"/>
1069
1070		<value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
1071		<value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
1072		<value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
1073
1074		<value name="GL_VERTEX_ARRAY"/>
1075		<value name="GL_NORMAL_ARRAY"/>
1076		<value name="GL_COLOR_ARRAY"/>
1077		<value name="GL_TEXTURE_COORD_ARRAY"/>
1078		<value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1079		<value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1080		<value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1081		<value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
1082	</desc>
1083
1084	<desc name="cap" category="GLES2.0">
1085		<value name="GL_CULL_FACE"/>
1086		<value name="GL_SCISSOR_TEST"/>
1087		<value name="GL_POLYGON_OFFSET_FILL"/>
1088		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
1089		<value name="GL_SAMPLE_COVERAGE"/>
1090		<value name="GL_STENCIL_TEST"/>
1091		<value name="GL_DEPTH_TEST"/>
1092		<value name="GL_DITHER"/>
1093		<value name="GL_BLEND"/>
1094	</desc>
1095</template>
1096
1097<template name="DepthRange">
1098	<proto>
1099		<return type="void"/>
1100		<param name="zNear" type="GLtype"/>
1101		<param name="zFar" type="GLtype"/>
1102	</proto>
1103</template>
1104
1105<template name="Frustum">
1106	<proto>
1107		<return type="void"/>
1108		<param name="left" type="GLtype"/>
1109		<param name="right" type="GLtype"/>
1110		<param name="bottom" type="GLtype"/>
1111		<param name="top" type="GLtype"/>
1112		<param name="zNear" type="GLtype"/>
1113		<param name="zFar" type="GLtype"/>
1114	</proto>
1115</template>
1116
1117<template name="LoadIdentity">
1118	<proto>
1119		<return type="void"/>
1120	</proto>
1121</template>
1122
1123<template name="LoadMatrix">
1124	<proto>
1125		<return type="void"/>
1126		<vector name="m" type="const GLtype *" size="16"/>
1127	</proto>
1128</template>
1129
1130<template name="MatrixMode">
1131	<proto>
1132		<return type="void"/>
1133		<param name="mode" type="GLenum"/>
1134	</proto>
1135
1136	<desc name="mode">
1137		<value name="GL_MODELVIEW"/>
1138		<value name="GL_PROJECTION"/>
1139		<value name="GL_TEXTURE"/>
1140		<value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
1141	</desc>
1142</template>
1143
1144<template name="MultMatrix">
1145	<proto>
1146		<return type="void"/>
1147		<vector name="m" type="const GLtype *" size="16"/>
1148	</proto>
1149</template>
1150
1151<template name="Ortho">
1152	<proto>
1153		<return type="void"/>
1154		<param name="left" type="GLtype"/>
1155		<param name="right" type="GLtype"/>
1156		<param name="bottom" type="GLtype"/>
1157		<param name="top" type="GLtype"/>
1158		<param name="zNear" type="GLtype"/>
1159		<param name="zFar" type="GLtype"/>
1160	</proto>
1161</template>
1162
1163<template name="PopMatrix">
1164	<proto>
1165		<return type="void"/>
1166	</proto>
1167</template>
1168
1169<template name="PushMatrix">
1170	<proto>
1171		<return type="void"/>
1172	</proto>
1173</template>
1174
1175<template name="Rotate">
1176	<proto>
1177		<return type="void"/>
1178		<param name="angle" type="GLtype"/>
1179		<param name="x" type="GLtype"/>
1180		<param name="y" type="GLtype"/>
1181		<param name="z" type="GLtype"/>
1182	</proto>
1183</template>
1184
1185<template name="Scale">
1186	<proto>
1187		<return type="void"/>
1188		<param name="x" type="GLtype"/>
1189		<param name="y" type="GLtype"/>
1190		<param name="z" type="GLtype"/>
1191	</proto>
1192</template>
1193
1194<template name="Translate">
1195	<proto>
1196		<return type="void"/>
1197		<param name="x" type="GLtype"/>
1198		<param name="y" type="GLtype"/>
1199		<param name="z" type="GLtype"/>
1200	</proto>
1201</template>
1202
1203<template name="Viewport">
1204	<proto>
1205		<return type="void"/>
1206		<param name="x" type="GLint"/>
1207		<param name="y" type="GLint"/>
1208		<param name="width" type="GLsizei"/>
1209		<param name="height" type="GLsizei"/>
1210	</proto>
1211</template>
1212
1213<template name="ColorPointer">
1214	<proto>
1215		<return type="void"/>
1216		<param name="size" type="GLint"/>
1217		<param name="type" type="GLenum"/>
1218		<param name="stride" type="GLsizei"/>
1219		<param name="pointer" type="const GLvoid *"/>
1220	</proto>
1221
1222	<desc name="size" error="GL_INVALID_VALUE">
1223		<value name="4"/>
1224	</desc>
1225
1226	<desc name="type">
1227		<value name="GL_UNSIGNED_BYTE"/>
1228		<value name="GL_FLOAT"/>
1229		<value name="GL_FIXED"/>
1230		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1231	</desc>
1232</template>
1233
1234<template name="DisableClientState">
1235	<proto>
1236		<return type="void"/>
1237		<param name="array" type="GLenum"/>
1238	</proto>
1239
1240	<desc name="array">
1241		<value name="GL_VERTEX_ARRAY"/>
1242		<value name="GL_NORMAL_ARRAY"/>
1243		<value name="GL_COLOR_ARRAY"/>
1244		<value name="GL_TEXTURE_COORD_ARRAY"/>
1245		<value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1246		<value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1247		<value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1248	</desc>
1249</template>
1250
1251<template name="DrawArrays">
1252	<proto>
1253		<return type="void"/>
1254		<param name="mode" type="GLenum"/>
1255		<param name="first" type="GLint"/>
1256		<param name="count" type="GLsizei"/>
1257	</proto>
1258
1259	<desc name="mode">
1260		<value name="GL_POINTS"/>
1261		<value name="GL_LINES"/>
1262		<value name="GL_LINE_LOOP"/>
1263		<value name="GL_LINE_STRIP"/>
1264		<value name="GL_TRIANGLES"/>
1265		<value name="GL_TRIANGLE_STRIP"/>
1266		<value name="GL_TRIANGLE_FAN"/>
1267	</desc>
1268</template>
1269
1270<template name="DrawElements">
1271	<proto>
1272		<return type="void"/>
1273		<param name="mode" type="GLenum"/>
1274		<param name="count" type="GLsizei"/>
1275		<param name="type" type="GLenum"/>
1276		<param name="indices" type="const GLvoid *"/>
1277	</proto>
1278
1279	<desc name="mode">
1280		<value name="GL_POINTS"/>
1281		<value name="GL_LINES"/>
1282		<value name="GL_LINE_LOOP"/>
1283		<value name="GL_LINE_STRIP"/>
1284		<value name="GL_TRIANGLES"/>
1285		<value name="GL_TRIANGLE_STRIP"/>
1286		<value name="GL_TRIANGLE_FAN"/>
1287	</desc>
1288</template>
1289
1290<template name="EnableClientState">
1291	<proto>
1292		<return type="void"/>
1293		<param name="array" type="GLenum"/>
1294	</proto>
1295
1296	<desc name="array">
1297		<value name="GL_VERTEX_ARRAY"/>
1298		<value name="GL_NORMAL_ARRAY"/>
1299		<value name="GL_COLOR_ARRAY"/>
1300		<value name="GL_TEXTURE_COORD_ARRAY"/>
1301		<value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1302		<value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1303		<value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1304	</desc>
1305</template>
1306
1307<template name="GetPointer" direction="get">
1308	<proto>
1309		<return type="void"/>
1310		<param name="pname" type="GLenum"/>
1311		<vector name="params" type="GLvoid **" size="dynamic"/>
1312	</proto>
1313
1314	<desc name="pname">
1315		<value name="GL_VERTEX_ARRAY_POINTER"/>
1316		<value name="GL_NORMAL_ARRAY_POINTER"/>
1317		<value name="GL_COLOR_ARRAY_POINTER"/>
1318		<value name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
1319		<value name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
1320		<value name="GL_WEIGHT_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
1321		<value name="GL_POINT_SIZE_ARRAY_POINTER_OES" category="OES_point_size_array"/>
1322	</desc>
1323</template>
1324
1325<template name="Normal">
1326	<proto>
1327		<return type="void"/>
1328		<vector name="v" type="const GLtype *" size="3">
1329			<param name="nx" type="GLtype"/>
1330			<param name="ny" type="GLtype"/>
1331			<param name="nz" type="GLtype"/>
1332		</vector>
1333	</proto>
1334</template>
1335
1336<template name="NormalPointer">
1337	<proto>
1338		<return type="void"/>
1339		<param name="type" type="GLenum"/>
1340		<param name="stride" type="GLsizei"/>
1341		<param name="pointer" type="const GLvoid *"/>
1342	</proto>
1343
1344	<desc name="type">
1345		<value name="GL_BYTE"/>
1346		<value name="GL_SHORT"/>
1347		<value name="GL_FLOAT"/>
1348		<value name="GL_FIXED"/>
1349		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1350	</desc>
1351</template>
1352
1353<template name="TexCoordPointer">
1354	<proto>
1355		<return type="void"/>
1356		<param name="size" type="GLint"/>
1357		<param name="type" type="GLenum"/>
1358		<param name="stride" type="GLsizei"/>
1359		<param name="pointer" type="const GLvoid *"/>
1360	</proto>
1361
1362	<desc name="size" error="GL_INVALID_VALUE">
1363		<value name="2"/>
1364		<value name="3"/>
1365		<value name="4"/>
1366	</desc>
1367
1368	<desc name="type">
1369		<value name="GL_BYTE"/>
1370		<value name="GL_SHORT"/>
1371		<value name="GL_FLOAT"/>
1372		<value name="GL_FIXED"/>
1373		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1374	</desc>
1375</template>
1376
1377<template name="VertexPointer">
1378	<proto>
1379		<return type="void"/>
1380		<param name="size" type="GLint"/>
1381		<param name="type" type="GLenum"/>
1382		<param name="stride" type="GLsizei"/>
1383		<param name="pointer" type="const GLvoid *"/>
1384	</proto>
1385
1386	<desc name="size" error="GL_INVALID_VALUE">
1387		<value name="2"/>
1388		<value name="3"/>
1389		<value name="4"/>
1390	</desc>
1391
1392	<desc name="type">
1393		<value name="GL_BYTE"/>
1394		<value name="GL_SHORT"/>
1395		<value name="GL_FLOAT"/>
1396		<value name="GL_FIXED"/>
1397		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1398	</desc>
1399</template>
1400
1401<template name="PolygonOffset">
1402	<proto>
1403		<return type="void"/>
1404		<param name="factor" type="GLtype"/>
1405		<param name="units" type="GLtype"/>
1406	</proto>
1407</template>
1408
1409<template name="CopyTexImage2D">
1410	<proto>
1411		<return type="void"/>
1412		<param name="target" type="GLenum"/>
1413		<param name="level" type="GLint"/>
1414		<param name="internalFormat" type="GLenum"/>
1415		<param name="x" type="GLint"/>
1416		<param name="y" type="GLint"/>
1417		<param name="width" type="GLsizei"/>
1418		<param name="height" type="GLsizei"/>
1419		<param name="border" type="GLint"/>
1420	</proto>
1421</template>
1422
1423<template name="CopyTexSubImage2D">
1424	<proto>
1425		<return type="void"/>
1426		<param name="target" type="GLenum"/>
1427		<param name="level" type="GLint"/>
1428		<param name="xoffset" type="GLint"/>
1429		<param name="yoffset" type="GLint"/>
1430		<param name="x" type="GLint"/>
1431		<param name="y" type="GLint"/>
1432		<param name="width" type="GLsizei"/>
1433		<param name="height" type="GLsizei"/>
1434	</proto>
1435</template>
1436
1437<template name="TexSubImage2D">
1438	<proto>
1439		<return type="void"/>
1440		<param name="target" type="GLenum"/>
1441		<param name="level" type="GLint"/>
1442		<param name="xoffset" type="GLint"/>
1443		<param name="yoffset" type="GLint"/>
1444		<param name="width" type="GLsizei"/>
1445		<param name="height" type="GLsizei"/>
1446		<param name="format" type="GLenum"/>
1447		<param name="type" type="GLenum"/>
1448		<param name="pixels" type="const GLvoid *"/>
1449	</proto>
1450</template>
1451
1452<template name="BindTexture">
1453	<proto>
1454		<return type="void"/>
1455		<param name="target" type="GLenum"/>
1456		<param name="texture" type="GLuint"/>
1457	</proto>
1458</template>
1459
1460<template name="DeleteTextures">
1461	<proto>
1462		<return type="void"/>
1463		<param name="n" type="GLsizei"/>
1464		<param name="textures" type="const GLuint *"/>
1465	</proto>
1466</template>
1467
1468<template name="GenTextures" direction="get">
1469	<proto>
1470		<return type="void"/>
1471		<param name="n" type="GLsizei"/>
1472		<param name="textures" type="GLuint *"/>
1473	</proto>
1474</template>
1475
1476<template name="IsTexture" direction="get">
1477	<proto>
1478		<return type="GLboolean"/>
1479		<param name="texture" type="GLuint"/>
1480	</proto>
1481</template>
1482
1483<template name="BlendColor">
1484	<proto>
1485		<return type="void"/>
1486		<param name="red" type="GLtype"/>
1487		<param name="green" type="GLtype"/>
1488		<param name="blue" type="GLtype"/>
1489		<param name="alpha" type="GLtype"/>
1490	</proto>
1491</template>
1492
1493<template name="BlendEquation">
1494	<proto>
1495		<return type="void"/>
1496		<param name="mode" type="GLenum"/>
1497	</proto>
1498</template>
1499
1500<template name="BlendEquationSeparate">
1501	<proto>
1502		<return type="void"/>
1503		<param name="modeRGB" type="GLenum"/>
1504		<param name="modeAlpha" type="GLenum"/>
1505	</proto>
1506</template>
1507
1508<template name="TexImage3D">
1509	<proto>
1510		<return type="void"/>
1511		<param name="target" type="GLenum"/>
1512		<param name="level" type="GLint"/>
1513		<param name="internalFormat" type="GLenum"/>
1514		<param name="width" type="GLsizei"/>
1515		<param name="height" type="GLsizei"/>
1516		<param name="depth" type="GLsizei"/>
1517		<param name="border" type="GLint"/>
1518		<param name="format" type="GLenum"/>
1519		<param name="type" type="GLenum"/>
1520		<param name="pixels" type="const GLvoid *"/>
1521	</proto>
1522
1523</template>
1524
1525<template name="TexSubImage3D">
1526	<proto>
1527		<return type="void"/>
1528		<param name="target" type="GLenum"/>
1529		<param name="level" type="GLint"/>
1530		<param name="xoffset" type="GLint"/>
1531		<param name="yoffset" type="GLint"/>
1532		<param name="zoffset" type="GLint"/>
1533		<param name="width" type="GLsizei"/>
1534		<param name="height" type="GLsizei"/>
1535		<param name="depth" type="GLsizei"/>
1536		<param name="format" type="GLenum"/>
1537		<param name="type" type="GLenum"/>
1538		<param name="pixels" type="const GLvoid *"/>
1539	</proto>
1540</template>
1541
1542<template name="CopyTexSubImage3D">
1543	<proto>
1544		<return type="void"/>
1545		<param name="target" type="GLenum"/>
1546		<param name="level" type="GLint"/>
1547		<param name="xoffset" type="GLint"/>
1548		<param name="yoffset" type="GLint"/>
1549		<param name="zoffset" type="GLint"/>
1550		<param name="x" type="GLint"/>
1551		<param name="y" type="GLint"/>
1552		<param name="width" type="GLsizei"/>
1553		<param name="height" type="GLsizei"/>
1554	</proto>
1555</template>
1556
1557<template name="MultiTexCoord">
1558	<proto>
1559		<return type="void"/>
1560		<param name="texture" type="GLenum"/>
1561		<vector name="v" type="const GLtype *" size="dynamic">
1562			<param name="s" type="GLtype"/>
1563			<param name="t" type="GLtype"/>
1564			<param name="r" type="GLtype"/>
1565			<param name="q" type="GLtype"/>
1566		</vector>
1567	</proto>
1568</template>
1569
1570<template name="CompressedTexImage3D">
1571	<proto>
1572		<return type="void"/>
1573		<param name="target" type="GLenum"/>
1574		<param name="level" type="GLint"/>
1575		<param name="internalFormat" type="GLenum"/>
1576		<param name="width" type="GLsizei"/>
1577		<param name="height" type="GLsizei"/>
1578		<param name="depth" type="GLsizei"/>
1579		<param name="border" type="GLint"/>
1580		<param name="imagesize" type="GLsizei"/>
1581		<param name="data" type="const GLvoid *"/>
1582	</proto>
1583</template>
1584
1585<template name="CompressedTexSubImage3D">
1586	<proto>
1587		<return type="void"/>
1588		<param name="target" type="GLenum"/>
1589		<param name="level" type="GLint"/>
1590		<param name="xoffset" type="GLint"/>
1591		<param name="yoffset" type="GLint"/>
1592		<param name="zoffset" type="GLint"/>
1593		<param name="width" type="GLsizei"/>
1594		<param name="height" type="GLsizei"/>
1595		<param name="depth" type="GLsizei"/>
1596		<param name="format" type="GLenum"/>
1597		<param name="imagesize" type="GLsizei"/>
1598		<param name="data" type="const GLvoid *"/>
1599	</proto>
1600</template>
1601
1602<template name="ActiveTexture">
1603	<proto>
1604		<return type="void"/>
1605		<param name="texture" type="GLenum"/>
1606	</proto>
1607</template>
1608
1609<template name="ClientActiveTexture">
1610	<proto>
1611		<return type="void"/>
1612		<param name="texture" type="GLenum"/>
1613	</proto>
1614</template>
1615
1616<template name="SampleCoverage">
1617	<proto>
1618		<return type="void"/>
1619		<param name="value" type="GLtype"/>
1620		<param name="invert" type="GLboolean"/>
1621	</proto>
1622</template>
1623
1624<template name="CompressedTexImage2D">
1625	<proto>
1626		<return type="void"/>
1627		<param name="target" type="GLenum"/>
1628		<param name="level" type="GLint"/>
1629		<param name="internalFormat" type="GLenum"/>
1630		<param name="width" type="GLsizei"/>
1631		<param name="height" type="GLsizei"/>
1632		<param name="border" type="GLint"/>
1633		<param name="imageSize" type="GLsizei"/>
1634		<param name="data" type="const GLvoid *"/>
1635	</proto>
1636</template>
1637
1638<template name="CompressedTexSubImage2D">
1639	<proto>
1640		<return type="void"/>
1641		<param name="target" type="GLenum"/>
1642		<param name="level" type="GLint"/>
1643		<param name="xoffset" type="GLint"/>
1644		<param name="yoffset" type="GLint"/>
1645		<param name="width" type="GLsizei"/>
1646		<param name="height" type="GLsizei"/>
1647		<param name="format" type="GLenum"/>
1648		<param name="imageSize" type="GLsizei"/>
1649		<param name="data" type="const GLvoid *"/>
1650	</proto>
1651
1652	<desc name="format">
1653		<value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
1654		<value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
1655	</desc>
1656</template>
1657
1658<template name="BlendFuncSeparate">
1659	<proto>
1660		<return type="void"/>
1661		<param name="srcRGB" type="GLenum"/>
1662		<param name="dstRGB" type="GLenum"/>
1663		<param name="srcAlpha" type="GLenum"/>
1664		<param name="dstAlpha" type="GLenum"/>
1665	</proto>
1666
1667	<desc name="srcRGB">
1668		<value name="GL_ZERO"/>
1669		<value name="GL_ONE"/>
1670		<value name="GL_SRC_COLOR"/>
1671		<value name="GL_ONE_MINUS_SRC_COLOR"/>
1672		<value name="GL_SRC_ALPHA"/>
1673		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
1674		<value name="GL_DST_ALPHA"/>
1675		<value name="GL_ONE_MINUS_DST_ALPHA"/>
1676		<value name="GL_DST_COLOR"/>
1677		<value name="GL_ONE_MINUS_DST_COLOR"/>
1678		<value name="GL_SRC_ALPHA_SATURATE"/>
1679
1680		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
1681		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
1682		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
1683		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
1684	</desc>
1685
1686	<desc name="dstRGB">
1687		<value name="GL_ZERO"/>
1688		<value name="GL_ONE"/>
1689		<value name="GL_SRC_COLOR"/>
1690		<value name="GL_ONE_MINUS_SRC_COLOR"/>
1691		<value name="GL_SRC_ALPHA"/>
1692		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
1693		<value name="GL_DST_ALPHA"/>
1694		<value name="GL_ONE_MINUS_DST_ALPHA"/>
1695		<value name="GL_DST_COLOR"/>
1696		<value name="GL_ONE_MINUS_DST_COLOR"/>
1697
1698		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
1699		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
1700		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
1701		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
1702	</desc>
1703
1704	<desc name="srcAlpha">
1705		<value name="GL_ZERO"/>
1706		<value name="GL_ONE"/>
1707		<value name="GL_SRC_COLOR"/>
1708		<value name="GL_ONE_MINUS_SRC_COLOR"/>
1709		<value name="GL_SRC_ALPHA"/>
1710		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
1711		<value name="GL_DST_ALPHA"/>
1712		<value name="GL_ONE_MINUS_DST_ALPHA"/>
1713		<value name="GL_DST_COLOR"/>
1714		<value name="GL_ONE_MINUS_DST_COLOR"/>
1715		<value name="GL_SRC_ALPHA_SATURATE"/>
1716
1717		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
1718		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
1719		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
1720		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
1721	</desc>
1722
1723	<desc name="dstAlpha">
1724		<value name="GL_ZERO"/>
1725		<value name="GL_ONE"/>
1726		<value name="GL_SRC_COLOR"/>
1727		<value name="GL_ONE_MINUS_SRC_COLOR"/>
1728		<value name="GL_SRC_ALPHA"/>
1729		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
1730		<value name="GL_DST_ALPHA"/>
1731		<value name="GL_ONE_MINUS_DST_ALPHA"/>
1732		<value name="GL_DST_COLOR"/>
1733		<value name="GL_ONE_MINUS_DST_COLOR"/>
1734
1735		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
1736		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
1737		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
1738		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
1739	</desc>
1740</template>
1741
1742<template name="PointParameter">
1743	<proto>
1744		<return type="void"/>
1745		<param name="pname" type="GLenum"/>
1746		<vector name="params" type="const GLtype *" size="dynamic">
1747			<param name="param" type="GLtype"/>
1748		</vector>
1749	</proto>
1750
1751	<desc name="pname">
1752		<value name="GL_POINT_SIZE_MIN"/>
1753		<value name="GL_POINT_SIZE_MAX"/>
1754		<value name="GL_POINT_FADE_THRESHOLD_SIZE"/>
1755
1756		<desc name="params" vector_size="1"/>
1757	</desc>
1758
1759	<desc name="pname">
1760		<value name="GL_POINT_DISTANCE_ATTENUATION"/>
1761		<desc name="params" vector_size="3"/>
1762	</desc>
1763</template>
1764
1765<template name="VertexAttrib">
1766	<proto>
1767		<return type="void"/>
1768		<param name="index" type="GLuint"/>
1769		<vector name="v" type="const GLtype *" size="dynamic">
1770			<param name="x" type="GLtype"/>
1771			<param name="y" type="GLtype"/>
1772			<param name="z" type="GLtype"/>
1773			<param name="w" type="GLtype"/>
1774		</vector>
1775	</proto>
1776</template>
1777
1778<template name="VertexAttribPointer">
1779	<proto>
1780		<return type="void"/>
1781		<param name="index" type="GLuint"/>
1782		<param name="size" type="GLint"/>
1783		<param name="type" type="GLenum"/>
1784		<param name="normalized" type="GLboolean"/>
1785		<param name="stride" type="GLsizei"/>
1786		<param name="pointer" type="const GLvoid *"/>
1787	</proto>
1788
1789	<desc name="size" error="GL_INVALID_VALUE">
1790		<value name="1"/>
1791		<value name="2"/>
1792		<value name="3"/>
1793		<value name="4"/>
1794	</desc>
1795
1796	<desc name="type" error="GL_INVALID_VALUE">
1797		<value name="GL_BYTE"/>
1798		<value name="GL_UNSIGNED_BYTE"/>
1799		<value name="GL_SHORT"/>
1800		<value name="GL_UNSIGNED_SHORT"/>
1801		<value name="GL_FLOAT"/>
1802		<value name="GL_FIXED"/>
1803		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1804		<value name="GL_UNSIGNED_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
1805		<value name="GL_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
1806	</desc>
1807
1808	<desc name="type" category="OES_vertex_type_10_10_10_2">
1809		<value name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
1810		<value name="GL_INT_10_10_10_2_OES"/>
1811
1812		<desc name="size">
1813			<value name="3"/>
1814			<value name="4"/>
1815		</desc>
1816	</desc>
1817</template>
1818
1819<template name="EnableVertexAttribArray">
1820	<proto>
1821		<return type="void"/>
1822		<param name="index" type="GLuint"/>
1823	</proto>
1824</template>
1825
1826<template name="DisableVertexAttribArray">
1827	<proto>
1828		<return type="void"/>
1829		<param name="index" type="GLuint"/>
1830	</proto>
1831</template>
1832
1833<template name="IsProgram" direction="get">
1834	<proto>
1835		<return type="GLboolean"/>
1836		<param name="program" type="GLuint"/>
1837	</proto>
1838</template>
1839
1840<template name="GetProgram" direction="get">
1841	<proto>
1842		<return type="void"/>
1843		<param name="program" type="GLuint"/>
1844		<param name="pname" type="GLenum"/>
1845		<vector name="params" type="GLtype *" size="dynamic"/>
1846	</proto>
1847
1848	<desc name="pname">
1849		<value name="GL_DELETE_STATUS"/>
1850		<value name="GL_LINK_STATUS"/>
1851		<value name="GL_VALIDATE_STATUS"/>
1852		<value name="GL_INFO_LOG_LENGTH"/>
1853		<value name="GL_ATTACHED_SHADERS"/>
1854		<value name="GL_ACTIVE_ATTRIBUTES"/>
1855		<value name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
1856		<value name="GL_ACTIVE_UNIFORMS"/>
1857		<value name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
1858		<value name="GL_PROGRAM_BINARY_LENGTH_OES" category="OES_get_program_binary"/>
1859
1860		<desc name="params" convert="false"/>
1861	</desc>
1862</template>
1863
1864<template name="GetVertexAttrib" direction="get">
1865	<proto>
1866		<return type="void"/>
1867		<param name="index" type="GLuint"/>
1868		<param name="pname" type="GLenum"/>
1869		<vector name="params" type="GLtype *" size="dynamic"/>
1870	</proto>
1871
1872	<desc name="pname">
1873		<value name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
1874		<value name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
1875		<value name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
1876		<value name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
1877		<value name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
1878		<value name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
1879
1880		<desc name="params" vector_size="1" convert="false"/>
1881	</desc>
1882
1883	<desc name="pname">
1884		<value name="GL_CURRENT_VERTEX_ATTRIB"/>
1885		<desc name="params" vector_size="16?" convert="false"/>
1886	</desc>
1887</template>
1888
1889<template name="GetVertexAttribPointer" direction="get">
1890	<proto>
1891		<return type="void"/>
1892		<param name="index" type="GLuint"/>
1893		<param name="pname" type="GLenum"/>
1894		<vector name="pointer" type="GLvoid **" size="dynamic"/>
1895	</proto>
1896</template>
1897
1898<template name="GetBufferPointer" direction="get">
1899	<proto>
1900		<return type="void"/>
1901		<param name="target" type="GLenum"/>
1902		<param name="pname" type="GLenum"/>
1903		<vector name="params" type="GLvoid **" size="dynamic"/>
1904	</proto>
1905
1906	<desc name="target">
1907		<value name="GL_ARRAY_BUFFER"/>
1908		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
1909	</desc>
1910</template>
1911
1912<template name="MapBuffer" direction="get">
1913	<proto>
1914		<return type="void *"/>
1915		<param name="target" type="GLenum"/>
1916		<param name="access" type="GLenum"/>
1917	</proto>
1918
1919	<desc name="target">
1920		<value name="GL_ARRAY_BUFFER"/>
1921		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
1922	</desc>
1923
1924	<desc name="access">
1925		<value name="GL_WRITE_ONLY_OES"/>
1926	</desc>
1927</template>
1928
1929<template name="UnmapBuffer" direction="get">
1930	<proto>
1931		<return type="GLboolean"/>
1932		<param name="target" type="GLenum"/>
1933	</proto>
1934
1935	<desc name="target">
1936		<value name="GL_ARRAY_BUFFER"/>
1937		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
1938	</desc>
1939</template>
1940
1941<template name="BindBuffer">
1942	<proto>
1943		<return type="void"/>
1944		<param name="target" type="GLenum"/>
1945		<param name="buffer" type="GLuint"/>
1946	</proto>
1947
1948	<desc name="target">
1949		<value name="GL_ARRAY_BUFFER"/>
1950		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
1951	</desc>
1952</template>
1953
1954<template name="BufferData">
1955	<proto>
1956		<return type="void"/>
1957		<param name="target" type="GLenum"/>
1958		<param name="size" type="GLsizeiptr"/>
1959		<param name="data" type="const GLvoid *"/>
1960		<param name="usage" type="GLenum"/>
1961	</proto>
1962
1963	<desc name="target">
1964		<value name="GL_ARRAY_BUFFER"/>
1965		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
1966	</desc>
1967
1968	<desc name="usage">
1969		<value name="GL_STATIC_DRAW"/>
1970		<value name="GL_DYNAMIC_DRAW"/>
1971		<value name="GL_STREAM_DRAW" category="GLES2.0"/>
1972	</desc>
1973</template>
1974
1975<template name="BufferSubData">
1976	<proto>
1977		<return type="void"/>
1978		<param name="target" type="GLenum"/>
1979		<param name="offset" type="GLintptr"/>
1980		<param name="size" type="GLsizeiptr"/>
1981		<param name="data" type="const GLvoid *"/>
1982	</proto>
1983
1984	<desc name="target">
1985		<value name="GL_ARRAY_BUFFER"/>
1986		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
1987	</desc>
1988</template>
1989
1990<template name="DeleteBuffers">
1991	<proto>
1992		<return type="void"/>
1993		<param name="n" type="GLsizei"/>
1994		<param name="buffer" type="const GLuint *"/>
1995	</proto>
1996</template>
1997
1998<template name="GenBuffers" direction="get">
1999	<proto>
2000		<return type="void"/>
2001		<param name="n" type="GLsizei"/>
2002		<param name="buffer" type="GLuint *"/>
2003	</proto>
2004</template>
2005
2006<template name="GetBufferParameter" direction="get">
2007	<proto>
2008		<return type="void"/>
2009		<param name="target" type="GLenum"/>
2010		<param name="pname" type="GLenum"/>
2011		<vector name="params" type="GLtype *" size="dynamic"/>
2012	</proto>
2013
2014	<desc name="target">
2015		<value name="GL_ARRAY_BUFFER"/>
2016		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2017	</desc>
2018
2019	<desc name="pname">
2020		<value name="GL_BUFFER_SIZE"/>
2021		<value name="GL_BUFFER_USAGE"/>
2022		<value name="GL_BUFFER_ACCESS_OES" category="OES_mapbuffer"/>
2023		<value name="GL_BUFFER_MAPPED_OES" category="OES_mapbuffer"/>
2024	</desc>
2025</template>
2026
2027<template name="IsBuffer" direction="get">
2028	<proto>
2029		<return type="GLboolean"/>
2030		<param name="buffer" type="GLuint"/>
2031	</proto>
2032</template>
2033
2034<template name="CreateShader">
2035	<proto>
2036		<return type="GLuint"/>
2037		<param name="type" type="GLenum"/>
2038	</proto>
2039
2040	<desc name="type">
2041		<value name="GL_VERTEX_SHADER"/>
2042		<value name="GL_FRAGMENT_SHADER"/>
2043	</desc>
2044</template>
2045
2046<template name="ShaderSource">
2047	<proto>
2048		<return type="void"/>
2049		<param name="shader" type="GLuint"/>
2050		<param name="count" type="GLsizei"/>
2051		<param name="string" type="const GLchar * const *"/>
2052		<param name="length" type="const int *"/>
2053	</proto>
2054</template>
2055
2056<template name="CompileShader">
2057	<proto>
2058		<return type="void"/>
2059		<param name="shader" type="GLuint"/>
2060	</proto>
2061</template>
2062
2063<template name="ReleaseShaderCompiler">
2064	<proto>
2065		<return type="void"/>
2066	</proto>
2067</template>
2068
2069<template name="DeleteShader">
2070	<proto>
2071		<return type="void"/>
2072		<param name="shader" type="GLuint"/>
2073	</proto>
2074</template>
2075
2076<template name="ShaderBinary">
2077	<proto>
2078		<return type="void"/>
2079		<param name="n" type="GLsizei"/>
2080		<param name="shaders" type="const GLuint *"/>
2081		<param name="binaryformat" type="GLenum"/>
2082		<param name="binary" type="const GLvoid *"/>
2083		<param name="length" type="GLsizei"/>
2084	</proto>
2085</template>
2086
2087<template name="CreateProgram">
2088	<proto>
2089		<return type="GLuint"/>
2090	</proto>
2091</template>
2092
2093<template name="AttachShader">
2094	<proto>
2095		<return type="void"/>
2096		<param name="program" type="GLuint"/>
2097		<param name="shader" type="GLuint"/>
2098	</proto>
2099</template>
2100
2101<template name="DetachShader">
2102	<proto>
2103		<return type="void"/>
2104		<param name="program" type="GLuint"/>
2105		<param name="shader" type="GLuint"/>
2106	</proto>
2107</template>
2108
2109<template name="LinkProgram">
2110	<proto>
2111		<return type="void"/>
2112		<param name="program" type="GLuint"/>
2113	</proto>
2114</template>
2115
2116<template name="UseProgram">
2117	<proto>
2118		<return type="void"/>
2119		<param name="program" type="GLuint"/>
2120	</proto>
2121</template>
2122
2123<template name="DeleteProgram">
2124	<proto>
2125		<return type="void"/>
2126		<param name="program" type="GLuint"/>
2127	</proto>
2128</template>
2129
2130<template name="GetActiveAttrib" direction="get">
2131	<proto>
2132		<return type="void"/>
2133		<param name="program" type="GLuint"/>
2134		<param name="index" type="GLuint"/>
2135		<param name="bufSize" type="GLsizei"/>
2136		<param name="length" type="GLsizei *"/>
2137		<param name="size" type="GLint *"/>
2138		<param name="type" type="GLenum *"/>
2139		<param name="name" type="GLchar *"/>
2140	</proto>
2141</template>
2142
2143<template name="GetAttribLocation" direction="get">
2144	<proto>
2145		<return type="GLint"/>
2146		<param name="program" type="GLuint"/>
2147		<param name="name" type="const char *"/>
2148	</proto>
2149</template>
2150
2151<template name="BindAttribLocation">
2152	<proto>
2153		<return type="void"/>
2154		<param name="program" type="GLuint"/>
2155		<param name="index" type="GLuint"/>
2156		<param name="name" type="const char *"/>
2157	</proto>
2158</template>
2159
2160<template name="GetUniformLocation" direction="get">
2161	<proto>
2162		<return type="GLint"/>
2163		<param name="program" type="GLuint"/>
2164		<param name="name" type="const char *"/>
2165	</proto>
2166</template>
2167
2168<template name="GetActiveUniform" direction="get">
2169	<proto>
2170		<return type="void"/>
2171		<param name="program" type="GLuint"/>
2172		<param name="index" type="GLuint"/>
2173		<param name="bufSize" type="GLsizei"/>
2174		<param name="length" type="GLsizei *"/>
2175		<param name="size" type="GLint *"/>
2176		<param name="type" type="GLenum *"/>
2177		<param name="name" type="GLchar *"/>
2178	</proto>
2179</template>
2180
2181<template name="Uniform">
2182	<proto>
2183		<return type="void"/>
2184		<param name="location" type="GLint"/>
2185		<param name="count" type="GLsizei" hide_if_expanded="true"/>
2186		<vector name="values" type="const GLtype *" size="dynamic">
2187			<param name="v0" type="GLtype"/>
2188			<param name="v1" type="GLtype"/>
2189			<param name="v2" type="GLtype"/>
2190			<param name="v3" type="GLtype"/>
2191		</vector>
2192	</proto>
2193</template>
2194
2195<template name="UniformMatrix">
2196	<proto>
2197		<return type="void"/>
2198		<param name="location" type="GLint"/>
2199		<param name="count" type="GLsizei"/>
2200		<param name="transpose" type="GLboolean"/>
2201		<vector name="value" type="const GLtype *" size="dynamic"/>
2202	</proto>
2203</template>
2204
2205<template name="ValidateProgram">
2206	<proto>
2207		<return type="void"/>
2208		<param name="program" type="GLuint"/>
2209	</proto>
2210</template>
2211
2212<template name="GenerateMipmap">
2213	<proto>
2214		<return type="void"/>
2215		<param name="target" type="GLenum"/>
2216	</proto>
2217
2218	<desc name="target">
2219		<value name="GL_TEXTURE_2D"/>
2220		<value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/>
2221		<value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
2222		<value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
2223	</desc>
2224</template>
2225
2226<template name="BindFramebuffer">
2227	<proto>
2228		<return type="void"/>
2229		<param name="target" type="GLenum"/>
2230		<param name="framebuffer" type="GLuint"/>
2231	</proto>
2232</template>
2233
2234<template name="DeleteFramebuffers">
2235	<proto>
2236		<return type="void"/>
2237		<param name="n" type="GLsizei"/>
2238		<param name="framebuffers" type="const GLuint *"/>
2239	</proto>
2240</template>
2241
2242<template name="GenFramebuffers">
2243	<proto>
2244		<return type="void"/>
2245		<param name="n" type="GLsizei"/>
2246		<param name="ids" type="GLuint *"/>
2247	</proto>
2248</template>
2249
2250<template name="BindRenderbuffer">
2251	<proto>
2252		<return type="void"/>
2253		<param name="target" type="GLenum"/>
2254		<param name="renderbuffer" type="GLuint"/>
2255	</proto>
2256</template>
2257
2258<template name="DeleteRenderbuffers">
2259	<proto>
2260		<return type="void"/>
2261		<param name="n" type="GLsizei"/>
2262		<param name="renderbuffers" type="const GLuint *"/>
2263	</proto>
2264</template>
2265
2266<template name="GenRenderbuffers">
2267	<proto>
2268		<return type="void"/>
2269		<param name="n" type="GLsizei"/>
2270		<param name="renderbuffers" type="GLuint *"/>
2271	</proto>
2272</template>
2273
2274<template name="RenderbufferStorage">
2275	<proto>
2276		<return type="void"/>
2277		<param name="target" type="GLenum"/>
2278		<param name="internalFormat" type="GLenum"/>
2279		<param name="width" type="GLsizei"/>
2280		<param name="height" type="GLsizei"/>
2281	</proto>
2282
2283	<desc name="internalFormat">
2284		<value name="GL_DEPTH_COMPONENT16_OES" category="OES_framebuffer_object"/>
2285		<value name="GL_RGBA4_OES" category="OES_framebuffer_object"/>
2286		<value name="GL_RGB5_A1_OES" category="OES_framebuffer_object"/>
2287		<value name="GL_RGB565_OES" category="OES_framebuffer_object"/>
2288		<value name="GL_STENCIL_INDEX8_OES" category="OES_stencil8"/>
2289
2290		<value name="GL_DEPTH_COMPONENT16" category="GLES2.0"/>
2291		<value name="GL_RGBA4" category="GLES2.0"/>
2292		<value name="GL_RGB5_A1" category="GLES2.0"/>
2293		<value name="GL_RGB565" category="GLES2.0"/>
2294		<value name="GL_STENCIL_INDEX8" category="GLES2.0"/>
2295
2296		<value name="GL_DEPTH_COMPONENT24_OES" category="OES_depth24"/>
2297		<value name="GL_DEPTH_COMPONENT32_OES" category="OES_depth32"/>
2298		<value name="GL_RGB8_OES" category="OES_rgb8_rgba8"/>
2299		<value name="GL_RGBA8_OES" category="OES_rgb8_rgba8"/>
2300		<value name="GL_STENCIL_INDEX1_OES" category="OES_stencil1"/>
2301		<value name="GL_STENCIL_INDEX4_OES" category="OES_stencil4"/>
2302		<value name="GL_DEPTH24_STENCIL8_OES" category="OES_packed_depth_stencil"/>
2303	</desc>
2304</template>
2305
2306<template name="FramebufferRenderbuffer">
2307	<proto>
2308		<return type="void"/>
2309		<param name="target" type="GLenum"/>
2310		<param name="attachment" type="GLenum"/>
2311		<param name="renderbuffertarget" type="GLenum"/>
2312		<param name="renderbuffer" type="GLuint"/>
2313	</proto>
2314</template>
2315
2316<template name="FramebufferTexture2D">
2317	<proto>
2318		<return type="void"/>
2319		<param name="target" type="GLenum"/>
2320		<param name="attachment" type="GLenum"/>
2321		<param name="textarget" type="GLenum"/>
2322		<param name="texture" type="GLuint"/>
2323		<param name="level" type="GLint"/>
2324	</proto>
2325
2326	<desc name="textarget" error="GL_INVALID_OPERATION">
2327		<value name="GL_TEXTURE_2D"/>
2328		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
2329		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
2330		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
2331		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
2332		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
2333		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
2334		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
2335		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
2336		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
2337		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
2338		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
2339		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
2340	</desc>
2341	<!-- According to the base specification, "level" must be 0.  But
2342	     extension GL_OES_fbo_render_mipmap lifts that restriction,
2343	     so no restriction is placed here. -->
2344</template>
2345
2346<template name="FramebufferTexture3D">
2347	<proto>
2348		<return type="void"/>
2349		<param name="target" type="GLenum"/>
2350		<param name="attachment" type="GLenum"/>
2351		<param name="textarget" type="GLenum"/>
2352		<param name="texture" type="GLuint"/>
2353		<param name="level" type="GLint"/>
2354		<param name="zoffset" type="GLint"/>
2355	</proto>
2356</template>
2357
2358<template name="CheckFramebufferStatus" direction="get">
2359	<proto>
2360		<return type="GLenum"/>
2361		<param name="target" type="GLenum"/>
2362	</proto>
2363</template>
2364
2365<template name="GetFramebufferAttachmentParameter" direction="get">
2366	<proto>
2367		<return type="void"/>
2368		<param name="target" type="GLenum"/>
2369		<param name="attachment" type="GLenum"/>
2370		<param name="pname" type="GLenum"/>
2371		<vector name="params" type="GLtype *" size="dynamic"/>
2372	</proto>
2373
2374	<desc name="pname">
2375		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" category="OES_framebuffer_object"/>
2376		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" category="OES_framebuffer_object"/>
2377		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" category="OES_framebuffer_object"/>
2378		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" category="OES_framebuffer_object"/>
2379
2380		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" category="GLES2.0"/>
2381		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" category="GLES2.0"/>
2382		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" category="GLES2.0"/>
2383		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" category="GLES2.0"/>
2384		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" category="OES_texture_3D"/>
2385
2386		<desc name="params" vector_size="1" convert="false"/>
2387	</desc>
2388</template>
2389
2390<template name="GetRenderbufferParameter" direction="get">
2391	<proto>
2392		<return type="void"/>
2393		<param name="target" type="GLenum"/>
2394		<param name="pname" type="GLenum"/>
2395		<vector name="params" type="GLtype *" size="dynamic"/>
2396	</proto>
2397
2398	<desc name="pname" category="OES_framebuffer_object">
2399		<value name="GL_RENDERBUFFER_WIDTH_OES"/>
2400		<value name="GL_RENDERBUFFER_HEIGHT_OES"/>
2401		<value name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
2402		<value name="GL_RENDERBUFFER_RED_SIZE_OES"/>
2403		<value name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
2404		<value name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
2405		<value name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
2406		<value name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
2407		<value name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
2408
2409		<desc name="params" vector_size="1" convert="false"/>
2410	</desc>
2411
2412	<desc name="pname" category="GLES2.0">
2413		<value name="GL_RENDERBUFFER_WIDTH"/>
2414		<value name="GL_RENDERBUFFER_HEIGHT"/>
2415		<value name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
2416		<value name="GL_RENDERBUFFER_RED_SIZE"/>
2417		<value name="GL_RENDERBUFFER_GREEN_SIZE"/>
2418		<value name="GL_RENDERBUFFER_BLUE_SIZE"/>
2419		<value name="GL_RENDERBUFFER_ALPHA_SIZE"/>
2420		<value name="GL_RENDERBUFFER_DEPTH_SIZE"/>
2421		<value name="GL_RENDERBUFFER_STENCIL_SIZE"/>
2422
2423		<desc name="params" vector_size="1" convert="false"/>
2424	</desc>
2425</template>
2426
2427<template name="IsRenderbuffer" direction="get">
2428	<proto>
2429		<return type="GLboolean"/>
2430		<param name="renderbuffer" type="GLuint"/>
2431	</proto>
2432</template>
2433
2434<template name="IsFramebuffer" direction="get">
2435	<proto>
2436		<return type="GLboolean"/>
2437		<param name="framebuffer" type="GLuint"/>
2438	</proto>
2439</template>
2440
2441<template name="IsShader" direction="get">
2442	<proto>
2443		<return type="GLboolean"/>
2444		<param name="shader" type="GLuint"/>
2445	</proto>
2446</template>
2447
2448<template name="GetShader" direction="get">
2449	<proto>
2450		<return type="void"/>
2451		<param name="shader" type="GLuint"/>
2452		<param name="pname" type="GLenum"/>
2453		<vector name="params" type="GLtype *" size="dynamic"/>
2454	</proto>
2455</template>
2456
2457<template name="GetAttachedShaders" direction="get">
2458	<proto>
2459		<return type="void"/>
2460		<param name="program" type="GLuint"/>
2461		<param name="maxCount" type="GLsizei"/>
2462		<param name="count" type="GLsizei *"/>
2463		<param name="shaders" type="GLuint *"/>
2464	</proto>
2465</template>
2466
2467<template name="GetShaderInfoLog" direction="get">
2468	<proto>
2469		<return type="void"/>
2470		<param name="shader" type="GLuint"/>
2471		<param name="bufSize" type="GLsizei"/>
2472		<param name="length" type="GLsizei *"/>
2473		<param name="infoLog" type="GLchar *"/>
2474	</proto>
2475</template>
2476
2477<template name="GetProgramInfoLog" direction="get">
2478	<proto>
2479		<return type="void"/>
2480		<param name="program" type="GLuint"/>
2481		<param name="bufSize" type="GLsizei"/>
2482		<param name="length" type="GLsizei *"/>
2483		<param name="infoLog" type="GLchar *"/>
2484	</proto>
2485</template>
2486
2487<template name="GetShaderSource" direction="get">
2488	<proto>
2489		<return type="void"/>
2490		<param name="shader" type="GLuint"/>
2491		<param name="bufSize" type="GLsizei"/>
2492		<param name="length" type="GLsizei *"/>
2493		<param name="source" type="GLchar *"/>
2494	</proto>
2495</template>
2496
2497<template name="GetShaderPrecisionFormat" direction="get">
2498	<proto>
2499		<return type="void"/>
2500		<param name="shadertype" type="GLenum"/>
2501		<param name="precisiontype" type="GLenum"/>
2502		<param name="range" type="GLint *"/>
2503		<param name="precision" type="GLint *"/>
2504	</proto>
2505</template>
2506
2507<template name="GetUniform" direction="get">
2508	<proto>
2509		<return type="void"/>
2510		<param name="program" type="GLuint"/>
2511		<param name="location" type="GLint"/>
2512		<vector name="params" type="GLtype *" size="dynamic"/>
2513	</proto>
2514</template>
2515
2516<template name="QueryMatrix" direction="get">
2517	<proto>
2518		<return type="GLbitfield"/>
2519		<vector name="mantissa" type="GLtype *" size="16"/>
2520		<vector name="exponent" type="GLint *" size="16"/>
2521	</proto>
2522</template>
2523
2524<template name="DrawTex">
2525	<proto>
2526		<return type="void"/>
2527		<vector name="coords" type="const GLtype *" size="5">
2528			<param name="x" type="GLtype"/>
2529			<param name="y" type="GLtype"/>
2530			<param name="z" type="GLtype"/>
2531			<param name="w" type="GLtype"/>
2532			<param name="h" type="GLtype"/>
2533		</vector>
2534	</proto>
2535</template>
2536
2537<template name="MultiDrawArrays">
2538	<proto>
2539		<return type="void"/>
2540		<param name="mode" type="GLenum"/>
2541		<param name="first" type="const GLint *"/>
2542		<param name="count" type="const GLsizei *"/>
2543		<param name="primcount" type="GLsizei"/>
2544	</proto>
2545
2546	<desc name="mode">
2547		<value name="GL_POINTS"/>
2548		<value name="GL_LINES"/>
2549		<value name="GL_LINE_LOOP"/>
2550		<value name="GL_LINE_STRIP"/>
2551		<value name="GL_TRIANGLES"/>
2552		<value name="GL_TRIANGLE_STRIP"/>
2553		<value name="GL_TRIANGLE_FAN"/>
2554	</desc>
2555</template>
2556
2557<template name="MultiDrawElements">
2558	<proto>
2559		<return type="void"/>
2560		<param name="mode" type="GLenum"/>
2561		<param name="count" type="const GLsizei *"/>
2562		<param name="type" type="GLenum"/>
2563		<param name="indices" type="const GLvoid **"/>
2564		<param name="primcount" type="GLsizei"/>
2565	</proto>
2566
2567	<desc name="mode">
2568		<value name="GL_POINTS"/>
2569		<value name="GL_LINES"/>
2570		<value name="GL_LINE_LOOP"/>
2571		<value name="GL_LINE_STRIP"/>
2572		<value name="GL_TRIANGLES"/>
2573		<value name="GL_TRIANGLE_STRIP"/>
2574		<value name="GL_TRIANGLE_FAN"/>
2575	</desc>
2576</template>
2577
2578<template name="EGLImageTargetTexture2D">
2579	<proto>
2580		<return type="void"/>
2581		<param name="target" type="GLenum"/>
2582		<param name="image" type="GLeglImageOES"/>
2583	</proto>
2584</template>
2585
2586<template name="EGLImageTargetRenderbufferStorage">
2587	<proto>
2588		<return type="void"/>
2589		<param name="target" type="GLenum"/>
2590		<param name="image" type="GLeglImageOES"/>
2591	</proto>
2592</template>
2593
2594<template name="DrawBuffers">
2595	<proto>
2596		<return type="void"/>
2597		<param name="n" type="GLsizei"/>
2598		<param name="bufs" type="const GLenum *"/>
2599	</proto>
2600</template>
2601
2602<template name="ReadBuffer">
2603	<proto>
2604		<return type="void"/>
2605		<param name="mode" type="GLenum"/>
2606	</proto>
2607</template>
2608
2609<api name="mesa" implementation="true">
2610	<category name="MESA"/>
2611
2612	<function name="Color4f"  default_prefix="_es_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2613	<function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/>
2614	<function name="CullFace" template="CullFace"/>
2615
2616	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
2617	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
2618
2619	<function name="FrontFace" template="FrontFace"/>
2620	<function name="Hint" template="Hint"/>
2621
2622	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
2623	<function name="Lightfv" template="Light" gltype="GLfloat"/>
2624
2625	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
2626	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
2627
2628	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
2629
2630	<function name="Materialf" default_prefix="_es_" template="Material" gltype="GLfloat" expand_vector="true"/>
2631	<function name="Materialfv" default_prefix="_es_" template="Material" gltype="GLfloat"/>
2632
2633	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
2634	<function name="PointSizePointer" template="PointSizePointer"/>
2635
2636	<function name="Scissor" template="Scissor"/>
2637	<function name="ShadeModel" template="ShadeModel"/>
2638
2639	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
2640	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
2641	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
2642	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
2643
2644	<function name="TexImage2D" template="TexImage2D"/>
2645
2646	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
2647	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
2648	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
2649	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
2650
2651	<function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/>
2652	<function name="TexGenfv" template="TexGen" gltype="GLfloat"/>
2653
2654	<function name="Clear" template="Clear"/>
2655	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
2656	<function name="ClearStencil" template="ClearStencil"/>
2657	<function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/>
2658	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
2659
2660	<function name="StencilMask" template="StencilMask"/>
2661	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
2662	<function name="ColorMask" template="ColorMask"/>
2663	<function name="DepthMask" template="DepthMask"/>
2664	<function name="Disable" template="Disable"/>
2665	<function name="Enable" template="Enable"/>
2666	<function name="Finish" template="Finish"/>
2667	<function name="Flush" template="Flush"/>
2668
2669	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
2670
2671	<function name="BlendFunc" template="BlendFunc"/>
2672	<function name="LogicOp" template="LogicOp"/>
2673	<function name="StencilFunc" template="StencilFunc"/>
2674	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
2675	<function name="StencilOp" template="StencilOp"/>
2676	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
2677	<function name="DepthFunc" template="DepthFunc"/>
2678	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
2679
2680	<function name="ReadPixels" template="ReadPixels"/>
2681	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
2682	<function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/>
2683	<function name="GetError" template="GetError"/>
2684	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
2685	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
2686	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
2687
2688	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
2689	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
2690	<function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/>
2691
2692	<function name="GetString" template="GetString"/>
2693
2694	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
2695	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
2696	<function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/>
2697	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
2698	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
2699
2700	<function name="IsEnabled" template="IsEnabled"/>
2701
2702	<function name="DepthRange" template="DepthRange" gltype="GLclampd"/>
2703	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
2704	<function name="Frustum" template="Frustum" gltype="GLdouble"/>
2705
2706	<function name="LoadIdentity" template="LoadIdentity"/>
2707	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
2708	<function name="MatrixMode" template="MatrixMode"/>
2709
2710	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
2711	<function name="Ortho" template="Ortho" gltype="GLdouble"/>
2712	<function name="PopMatrix" template="PopMatrix"/>
2713	<function name="PushMatrix" template="PushMatrix"/>
2714
2715	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
2716	<function name="Scalef" template="Scale" gltype="GLfloat"/>
2717	<function name="Translatef" template="Translate" gltype="GLfloat"/>
2718
2719	<function name="Viewport" template="Viewport"/>
2720
2721	<function name="ColorPointer" template="ColorPointer"/>
2722	<function name="DisableClientState" template="DisableClientState"/>
2723	<function name="DrawArrays" template="DrawArrays"/>
2724	<function name="DrawElements" template="DrawElements"/>
2725	<function name="EnableClientState" template="EnableClientState"/>
2726
2727	<function name="GetPointerv" template="GetPointer"/>
2728	<function name="Normal3f" default_prefix="_es_" template="Normal" gltype="GLfloat" expand_vector="true"/>
2729	<function name="NormalPointer" template="NormalPointer"/>
2730	<function name="TexCoordPointer" template="TexCoordPointer"/>
2731	<function name="VertexPointer" template="VertexPointer"/>
2732
2733	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
2734	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
2735	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
2736	<function name="TexSubImage2D" template="TexSubImage2D"/>
2737
2738	<function name="BindTexture" template="BindTexture"/>
2739	<function name="DeleteTextures" template="DeleteTextures"/>
2740	<function name="GenTextures" template="GenTextures"/>
2741	<function name="IsTexture" template="IsTexture"/>
2742
2743	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
2744	<function name="BlendEquation" template="BlendEquation"/>
2745	<function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/>
2746
2747	<function name="TexImage3D" template="TexImage3D"/>
2748	<function name="TexSubImage3D" template="TexSubImage3D"/>
2749	<function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/>
2750
2751	<function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/>
2752	<function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/>
2753
2754	<function name="ActiveTextureARB" template="ActiveTexture"/>
2755	<function name="ClientActiveTextureARB" template="ClientActiveTexture"/>
2756
2757	<function name="MultiTexCoord4f" default_prefix="_es_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2758
2759	<function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/>
2760
2761	<function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/>
2762	<function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/>
2763
2764	<function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/>
2765
2766	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
2767	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
2768
2769	<function name="VertexAttrib1f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2770	<function name="VertexAttrib2f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2771	<function name="VertexAttrib3f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2772	<function name="VertexAttrib4f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2773	<function name="VertexAttrib1fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
2774	<function name="VertexAttrib2fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
2775	<function name="VertexAttrib3fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
2776	<function name="VertexAttrib4fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
2777
2778	<function name="VertexAttribPointerARB" template="VertexAttribPointer"/>
2779	<function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/>
2780	<function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/>
2781
2782	<function name="IsProgram" template="IsProgram"/>
2783	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
2784
2785	<function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/>
2786	<function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/>
2787	<function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/>
2788
2789	<function name="GetBufferPointervARB" template="GetBufferPointer"/>
2790	<function name="MapBufferARB" template="MapBuffer"/>
2791	<function name="UnmapBufferARB" template="UnmapBuffer"/>
2792	<function name="BindBufferARB" template="BindBuffer"/>
2793	<function name="BufferDataARB" template="BufferData"/>
2794	<function name="BufferSubDataARB" template="BufferSubData"/>
2795	<function name="DeleteBuffersARB" template="DeleteBuffers"/>
2796	<function name="GenBuffersARB" template="GenBuffers"/>
2797	<function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/>
2798	<function name="IsBufferARB" template="IsBuffer"/>
2799
2800	<function name="CreateShader" template="CreateShader"/>
2801	<function name="ShaderSourceARB" template="ShaderSource"/>
2802	<function name="CompileShaderARB" template="CompileShader"/>
2803	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
2804	<function name="DeleteShader" template="DeleteShader"/>
2805	<function name="ShaderBinary" template="ShaderBinary"/>
2806	<function name="CreateProgram" template="CreateProgram"/>
2807	<function name="AttachShader" template="AttachShader"/>
2808	<function name="DetachShader" template="DetachShader"/>
2809	<function name="LinkProgramARB" template="LinkProgram"/>
2810	<function name="UseProgramObjectARB" template="UseProgram"/>
2811	<function name="DeleteProgram" template="DeleteProgram"/>
2812
2813	<function name="GetActiveAttribARB" template="GetActiveAttrib"/>
2814	<function name="GetAttribLocationARB" template="GetAttribLocation"/>
2815	<function name="BindAttribLocationARB" template="BindAttribLocation"/>
2816	<function name="GetUniformLocationARB" template="GetUniformLocation"/>
2817	<function name="GetActiveUniformARB" template="GetActiveUniform"/>
2818
2819	<function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2820	<function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2821	<function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2822	<function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2823	<function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
2824	<function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
2825	<function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
2826	<function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
2827	<function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/>
2828	<function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/>
2829	<function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/>
2830	<function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/>
2831	<function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/>
2832	<function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/>
2833	<function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/>
2834	<function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/>
2835
2836	<function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
2837	<function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
2838	<function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
2839
2840	<function name="ValidateProgramARB" template="ValidateProgram"/>
2841
2842	<function name="GenerateMipmapEXT" template="GenerateMipmap"/>
2843	<function name="BindFramebufferEXT" template="BindFramebuffer"/>
2844	<function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/>
2845	<function name="GenFramebuffersEXT" template="GenFramebuffers"/>
2846	<function name="BindRenderbufferEXT" template="BindRenderbuffer"/>
2847	<function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/>
2848	<function name="GenRenderbuffersEXT" template="GenRenderbuffers"/>
2849	<function name="RenderbufferStorageEXT" template="RenderbufferStorage"/>
2850	<function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/>
2851	<function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/>
2852	<function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/>
2853	<function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/>
2854	<function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
2855	<function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/>
2856	<function name="IsRenderbufferEXT" template="IsRenderbuffer"/>
2857	<function name="IsFramebufferEXT" template="IsFramebuffer"/>
2858
2859	<function name="IsShader" template="IsShader"/>
2860	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
2861	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
2862	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
2863	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
2864	<function name="GetShaderSourceARB" template="GetShaderSource"/>
2865	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
2866	<function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/>
2867	<function name="GetUniformivARB" template="GetUniform" gltype="GLint"/>
2868
2869	<function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
2870	<function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/>
2871	<function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/>
2872	<function name="DrawTexiv" template="DrawTex" gltype="GLint"/>
2873	<function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/>
2874	<function name="DrawTexsv" template="DrawTex" gltype="GLshort"/>
2875
2876        <!-- EXT_multi_draw_arrays -->
2877        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
2878        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
2879
2880        <!-- OES_EGL_image -->
2881        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
2882        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
2883
2884	<function name="DrawBuffersARB" template="DrawBuffers"/>
2885
2886	<function name="ReadBuffer" template="ReadBuffer"/>
2887
2888</api>
2889
2890<api name="GLES1.1">
2891	<category name="GLES1.1"/>
2892
2893	<category name="OES_byte_coordinates"/>
2894	<category name="OES_fixed_point"/>
2895	<category name="OES_single_precision"/>
2896	<category name="OES_matrix_get"/>
2897	<category name="OES_read_format"/>
2898	<category name="OES_compressed_paletted_texture"/>
2899	<category name="OES_compressed_ETC1_RGB8_texture"/>
2900	<category name="OES_point_size_array"/>
2901	<category name="OES_point_sprite"/>
2902	<category name="OES_query_matrix"/>
2903	<category name="OES_draw_texture"/>
2904	<category name="OES_blend_equation_separate"/>
2905	<category name="OES_blend_func_separate"/>
2906	<category name="OES_blend_subtract"/>
2907	<category name="OES_stencil_wrap"/>
2908	<category name="OES_texture_cube_map"/>
2909	<category name="OES_texture_env_crossbar"/>
2910	<category name="OES_texture_mirrored_repeat"/>
2911	<category name="OES_framebuffer_object"/>
2912	<category name="OES_depth24"/>
2913	<category name="OES_depth32"/>
2914	<category name="OES_fbo_render_mipmap"/>
2915	<category name="OES_rgb8_rgba8"/>
2916	<category name="OES_stencil1"/>
2917	<category name="OES_stencil4"/>
2918	<category name="OES_stencil8"/>
2919	<category name="OES_element_index_uint"/>
2920	<category name="OES_mapbuffer"/>
2921	<category name="EXT_texture_filter_anisotropic"/>
2922	<category name="EXT_texture_format_BGRA8888"/>
2923	<category name="EXT_read_format_bgra"/>
2924
2925	<category name="ARB_texture_non_power_of_two"/>
2926	<!-- disabled due to missing enums
2927	<category name="EXT_texture_compression_dxt1"/>
2928	-->
2929	<category name="EXT_texture_lod_bias"/>
2930	<category name="EXT_blend_minmax"/>
2931	<category name="EXT_multi_draw_arrays"/>
2932	<category name="OES_EGL_image"/>
2933	<category name="OES_EGL_image_external"/>
2934
2935	<category name="OES_matrix_palette"/>
2936
2937	<function name="Color4f" external="true" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2938	<function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/>
2939	<function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/>
2940
2941	<function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/>
2942	<function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/>
2943
2944	<function name="CullFace" template="CullFace"/>
2945
2946	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
2947	<function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/>
2948	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
2949	<function name="Fogxv" template="Fog" gltype="GLfixed"/>
2950
2951	<function name="FrontFace" template="FrontFace"/>
2952	<function name="Hint" template="Hint"/>
2953
2954	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
2955	<function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/>
2956	<function name="Lightfv" template="Light" gltype="GLfloat"/>
2957	<function name="Lightxv" template="Light" gltype="GLfixed"/>
2958
2959	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
2960	<function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/>
2961	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
2962	<function name="LightModelxv" template="LightModel" gltype="GLfixed"/>
2963
2964	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
2965	<function name="LineWidthx" template="LineWidth" gltype="GLfixed"/>
2966
2967	<function name="Materialf" external="true" template="Material" gltype="GLfloat" expand_vector="true"/>
2968	<function name="Materialfv" external="true" template="Material" gltype="GLfloat"/>
2969	<function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/>
2970	<function name="Materialxv" template="Material" gltype="GLfixed"/>
2971
2972	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
2973	<function name="PointSizex" template="PointSize" gltype="GLfixed"/>
2974	<function name="PointSizePointerOES" template="PointSizePointer"/>
2975
2976	<function name="Scissor" template="Scissor"/>
2977	<function name="ShadeModel" template="ShadeModel"/>
2978
2979	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
2980	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
2981	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
2982	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
2983	<function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/>
2984	<function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/>
2985
2986	<function name="TexImage2D" template="TexImage2D"/>
2987
2988	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
2989	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
2990	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
2991	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
2992	<function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/>
2993	<function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/>
2994
2995	<function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/>
2996	<function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/>
2997	<function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/>
2998	<function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/>
2999	<function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/>
3000	<function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/>
3001
3002	<function name="Clear" template="Clear"/>
3003	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
3004	<function name="ClearColorx" template="ClearColor" gltype="GLclampx"/>
3005
3006	<function name="ClearStencil" template="ClearStencil"/>
3007	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
3008	<function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/>
3009
3010	<function name="StencilMask" template="StencilMask"/>
3011	<function name="ColorMask" template="ColorMask"/>
3012	<function name="DepthMask" template="DepthMask"/>
3013
3014	<function name="Disable" template="Disable"/>
3015	<function name="Enable" template="Enable"/>
3016	<function name="Finish" template="Finish"/>
3017	<function name="Flush" template="Flush"/>
3018
3019	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
3020	<function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/>
3021
3022	<function name="BlendFunc" template="BlendFunc"/>
3023	<function name="LogicOp" template="LogicOp"/>
3024	<function name="StencilFunc" template="StencilFunc"/>
3025
3026	<function name="StencilOp" template="StencilOp"/>
3027	<function name="DepthFunc" template="DepthFunc"/>
3028
3029	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
3030	<function name="ReadPixels" template="ReadPixels"/>
3031
3032	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
3033
3034	<function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
3035	<function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
3036
3037	<function name="GetError" template="GetError"/>
3038	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
3039	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
3040	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
3041
3042	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
3043	<function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
3044
3045	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
3046	<function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/>
3047
3048	<function name="GetString" template="GetString"/>
3049
3050	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
3051	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
3052	<function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/>
3053
3054	<function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/>
3055	<function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/>
3056	<function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/>
3057
3058	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
3059	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
3060	<function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/>
3061
3062	<function name="IsEnabled" template="IsEnabled"/>
3063
3064	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
3065	<function name="DepthRangex" template="DepthRange" gltype="GLclampx"/>
3066
3067	<function name="Frustumf" template="Frustum" gltype="GLfloat"/>
3068	<function name="Frustumx" template="Frustum" gltype="GLfixed"/>
3069
3070	<function name="LoadIdentity" template="LoadIdentity"/>
3071	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
3072	<function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/>
3073	<function name="MatrixMode" template="MatrixMode"/>
3074
3075	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
3076	<function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/>
3077	<function name="Orthof" template="Ortho" gltype="GLfloat"/>
3078	<function name="Orthox" template="Ortho" gltype="GLfixed"/>
3079
3080	<function name="PopMatrix" template="PopMatrix"/>
3081	<function name="PushMatrix" template="PushMatrix"/>
3082
3083	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
3084	<function name="Rotatex" template="Rotate" gltype="GLfixed"/>
3085	<function name="Scalef" template="Scale" gltype="GLfloat"/>
3086	<function name="Scalex" template="Scale" gltype="GLfixed"/>
3087	<function name="Translatef" template="Translate" gltype="GLfloat"/>
3088	<function name="Translatex" template="Translate" gltype="GLfixed"/>
3089
3090	<function name="Viewport" template="Viewport"/>
3091	<function name="ColorPointer" template="ColorPointer"/>
3092	<function name="DisableClientState" template="DisableClientState"/>
3093	<function name="DrawArrays" template="DrawArrays"/>
3094	<function name="DrawElements" template="DrawElements"/>
3095	<function name="EnableClientState" template="EnableClientState"/>
3096
3097	<function name="GetPointerv" template="GetPointer"/>
3098
3099	<function name="Normal3f" external="true" template="Normal" gltype="GLfloat" expand_vector="true"/>
3100	<function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/>
3101	<function name="NormalPointer" template="NormalPointer"/>
3102	<function name="TexCoordPointer" template="TexCoordPointer"/>
3103	<function name="VertexPointer" template="VertexPointer"/>
3104
3105	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
3106	<function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/>
3107
3108	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
3109	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
3110
3111	<function name="TexSubImage2D" template="TexSubImage2D"/>
3112
3113	<function name="BindTexture" template="BindTexture"/>
3114	<function name="DeleteTextures" template="DeleteTextures"/>
3115	<function name="GenTextures" template="GenTextures"/>
3116	<function name="IsTexture" template="IsTexture"/>
3117
3118	<function name="BlendEquationOES" template="BlendEquation"/>
3119	<function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/>
3120
3121	<function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/>
3122
3123	<function name="ActiveTexture" template="ActiveTexture"/>
3124	<function name="ClientActiveTexture" template="ClientActiveTexture"/>
3125
3126	<function name="MultiTexCoord4f" external="true" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3127
3128	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
3129	<function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/>
3130
3131	<!-- CompressedTexImage2D calls out to two different functions based on
3132	     whether the image is a paletted image or not -->
3133	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
3134	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
3135
3136	<function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/>
3137
3138	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
3139	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
3140	<function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/>
3141	<function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/>
3142
3143	<!-- OES_mapbuffer -->
3144	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
3145	<function name="MapBufferOES" template="MapBuffer"/>
3146	<function name="UnmapBufferOES" template="UnmapBuffer"/>
3147
3148	<function name="BindBuffer" template="BindBuffer"/>
3149	<function name="BufferData" template="BufferData"/>
3150	<function name="BufferSubData" template="BufferSubData"/>
3151	<function name="DeleteBuffers" template="DeleteBuffers"/>
3152	<function name="GenBuffers" template="GenBuffers"/>
3153	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
3154	<function name="IsBuffer" template="IsBuffer"/>
3155
3156	<!-- OES_framebuffer_object -->
3157	<function name="GenerateMipmapOES" template="GenerateMipmap"/>
3158	<function name="BindFramebufferOES" template="BindFramebuffer"/>
3159	<function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/>
3160	<function name="GenFramebuffersOES" template="GenFramebuffers"/>
3161	<function name="BindRenderbufferOES" template="BindRenderbuffer"/>
3162	<function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
3163	<function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
3164	<function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
3165	<function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
3166	<function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
3167	<function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
3168	<function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
3169	<function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/>
3170	<function name="IsRenderbufferOES" template="IsRenderbuffer"/>
3171	<function name="IsFramebufferOES" template="IsFramebuffer"/>
3172
3173	<!-- OES_query_matrix -->
3174	<!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value
3175	     form; it has its own code for this -->
3176	<function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/>
3177
3178	<!-- OES_draw_texture -->
3179	<function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
3180	<function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/>
3181	<function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/>
3182	<function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/>
3183	<function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/>
3184	<function name="DrawTexivOES" template="DrawTex" gltype="GLint"/>
3185	<function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/>
3186	<function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/>
3187
3188        <!-- EXT_multi_draw_arrays -->
3189        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
3190        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
3191
3192        <!-- OES_EGL_image -->
3193        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
3194        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
3195</api>
3196
3197<api name="GLES2.0">
3198	<category name="GLES2.0"/>
3199
3200	<category name="OES_compressed_paletted_texture"/>
3201	<category name="OES_compressed_ETC1_RGB8_texture"/>
3202	<category name="OES_depth24"/>
3203	<category name="OES_depth32"/>
3204	<category name="OES_fbo_render_mipmap"/>
3205	<category name="OES_rgb8_rgba8"/>
3206	<category name="OES_stencil1"/>
3207	<category name="OES_stencil4"/>
3208	<category name="OES_element_index_uint"/>
3209	<category name="OES_mapbuffer"/>
3210	<category name="OES_texture_3D"/>
3211	<category name="OES_texture_npot"/>
3212	<category name="EXT_texture_filter_anisotropic"/>
3213	<category name="EXT_texture_type_2_10_10_10_REV"/>
3214	<category name="OES_depth_texture"/>
3215	<category name="OES_packed_depth_stencil"/>
3216	<category name="OES_standard_derivatives"/>
3217	<category name="EXT_texture_format_BGRA8888"/>
3218	<category name="EXT_texture_rg"/>
3219	<category name="EXT_read_format_bgra"/>
3220
3221	<category name="EXT_texture_compression_dxt1"/>
3222	<category name="EXT_blend_minmax"/>
3223	<category name="EXT_multi_draw_arrays"/>
3224	<category name="OES_EGL_image"/>
3225	<category name="OES_EGL_image_external"/>
3226        <category name="EXT_unpack_subimage"/>
3227
3228	<category name="NV_draw_buffers"/>
3229	<category name="NV_read_buffer"/>
3230
3231	<function name="DrawBuffersNV" template="DrawBuffers"/>
3232	<function name="ReadBufferNV" template="ReadBuffer"/> 
3233
3234	<function name="CullFace" template="CullFace"/>
3235
3236	<function name="FrontFace" template="FrontFace"/>
3237	<function name="Hint" template="Hint"/>
3238
3239	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
3240
3241	<function name="Scissor" template="Scissor"/>
3242
3243	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
3244	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
3245	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
3246	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
3247
3248	<function name="TexImage2D" template="TexImage2D"/>
3249
3250	<function name="Clear" template="Clear"/>
3251	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
3252	<function name="ClearStencil" template="ClearStencil"/>
3253	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
3254
3255	<function name="StencilMask" template="StencilMask"/>
3256	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
3257	<function name="ColorMask" template="ColorMask"/>
3258	<function name="DepthMask" template="DepthMask"/>
3259	<function name="Disable" template="Disable"/>
3260	<function name="Enable" template="Enable"/>
3261	<function name="Finish" template="Finish"/>
3262	<function name="Flush" template="Flush"/>
3263
3264	<function name="BlendFunc" template="BlendFunc"/>
3265
3266	<function name="StencilFunc" template="StencilFunc"/>
3267	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
3268	<function name="StencilOp" template="StencilOp"/>
3269	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
3270
3271	<function name="DepthFunc" template="DepthFunc"/>
3272
3273	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
3274	<function name="ReadPixels" template="ReadPixels"/>
3275
3276	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
3277	<function name="GetError" template="GetError"/>
3278	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
3279	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
3280
3281	<function name="GetString" template="GetString"/>
3282
3283	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
3284	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
3285
3286	<function name="IsEnabled" template="IsEnabled"/>
3287
3288	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
3289
3290	<function name="Viewport" template="Viewport"/>
3291
3292	<function name="DrawArrays" template="DrawArrays"/>
3293	<function name="DrawElements" template="DrawElements"/>
3294
3295	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
3296	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
3297	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
3298	<function name="TexSubImage2D" template="TexSubImage2D"/>
3299
3300	<function name="BindTexture" template="BindTexture"/>
3301	<function name="DeleteTextures" template="DeleteTextures"/>
3302	<function name="GenTextures" template="GenTextures"/>
3303	<function name="IsTexture" template="IsTexture"/>
3304
3305	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
3306	<function name="BlendEquation" template="BlendEquation"/>
3307	<function name="BlendEquationSeparate" template="BlendEquationSeparate"/>
3308
3309	<function name="TexImage3DOES" template="TexImage3D"/>
3310	<function name="TexSubImage3DOES" template="TexSubImage3D"/>
3311	<function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/>
3312
3313	<function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/>
3314	<function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/>
3315
3316	<function name="ActiveTexture" template="ActiveTexture"/>
3317
3318	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
3319
3320	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
3321	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
3322
3323	<function name="BlendFuncSeparate" template="BlendFuncSeparate"/>
3324
3325	<function name="VertexAttrib1f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3326	<function name="VertexAttrib2f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3327	<function name="VertexAttrib3f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3328	<function name="VertexAttrib4f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3329	<function name="VertexAttrib1fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
3330	<function name="VertexAttrib2fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
3331	<function name="VertexAttrib3fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
3332	<function name="VertexAttrib4fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
3333
3334	<function name="VertexAttribPointer" template="VertexAttribPointer"/>
3335
3336	<function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/>
3337	<function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/>
3338
3339	<function name="IsProgram" template="IsProgram"/>
3340	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
3341
3342	<function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/>
3343	<function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/>
3344	<function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/>
3345
3346	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
3347	<function name="MapBufferOES" template="MapBuffer"/>
3348	<function name="UnmapBufferOES" template="UnmapBuffer"/>
3349	<function name="BindBuffer" template="BindBuffer"/>
3350	<function name="BufferData" template="BufferData"/>
3351	<function name="BufferSubData" template="BufferSubData"/>
3352	<function name="DeleteBuffers" template="DeleteBuffers"/>
3353	<function name="GenBuffers" template="GenBuffers"/>
3354	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
3355	<function name="IsBuffer" template="IsBuffer"/>
3356
3357	<function name="CreateShader" template="CreateShader"/>
3358	<function name="ShaderSource" template="ShaderSource"/>
3359	<function name="CompileShader" template="CompileShader"/>
3360	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
3361	<function name="DeleteShader" template="DeleteShader"/>
3362	<function name="ShaderBinary" template="ShaderBinary"/>
3363	<function name="CreateProgram" template="CreateProgram"/>
3364	<function name="AttachShader" template="AttachShader"/>
3365	<function name="DetachShader" template="DetachShader"/>
3366	<function name="LinkProgram" template="LinkProgram"/>
3367	<function name="UseProgram" template="UseProgram"/>
3368	<function name="DeleteProgram" template="DeleteProgram"/>
3369
3370	<function name="GetActiveAttrib" template="GetActiveAttrib"/>
3371	<function name="GetAttribLocation" template="GetAttribLocation"/>
3372	<function name="BindAttribLocation" template="BindAttribLocation"/>
3373	<function name="GetUniformLocation" template="GetUniformLocation"/>
3374	<function name="GetActiveUniform" template="GetActiveUniform"/>
3375
3376	<function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3377	<function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3378	<function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3379	<function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3380	<function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
3381	<function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
3382	<function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
3383	<function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
3384
3385	<function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/>
3386	<function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/>
3387	<function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/>
3388	<function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/>
3389	<function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/>
3390	<function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/>
3391	<function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/>
3392	<function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/>
3393
3394	<function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
3395	<function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
3396	<function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
3397
3398	<function name="ValidateProgram" template="ValidateProgram"/>
3399
3400	<function name="GenerateMipmap" template="GenerateMipmap"/>
3401	<function name="BindFramebuffer" template="BindFramebuffer"/>
3402	<function name="DeleteFramebuffers" template="DeleteFramebuffers"/>
3403	<function name="GenFramebuffers" template="GenFramebuffers"/>
3404	<function name="BindRenderbuffer" template="BindRenderbuffer"/>
3405	<function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/>
3406	<function name="GenRenderbuffers" template="GenRenderbuffers"/>
3407	<function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/>
3408	<function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/>
3409	<function name="FramebufferTexture2D" template="FramebufferTexture2D"/>
3410	<function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/>
3411	<function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/>
3412	<function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
3413	<function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/>
3414	<function name="IsRenderbuffer" template="IsRenderbuffer"/>
3415	<function name="IsFramebuffer" template="IsFramebuffer"/>
3416
3417	<function name="IsShader" template="IsShader"/>
3418	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
3419	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
3420	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
3421	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
3422	<function name="GetShaderSource" template="GetShaderSource"/>
3423	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
3424	<function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/>
3425	<function name="GetUniformiv" template="GetUniform" gltype="GLint"/>
3426
3427        <!-- EXT_multi_draw_arrays -->
3428        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
3429        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
3430
3431        <!-- OES_EGL_image -->
3432        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
3433        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
3434</api>
3435
3436</apispec>
3437