APIspec.xml revision d6c8913bc629fedc520353cd9de51f1c7ba262a4
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</template>
62
63<template name="FrontFace">
64	<proto>
65		<return type="void"/>
66		<param name="mode" type="GLenum"/>
67	</proto>
68</template>
69
70<template name="Hint">
71	<proto>
72		<return type="void"/>
73		<param name="target" type="GLenum"/>
74		<param name="mode" type="GLenum"/>
75	</proto>
76</template>
77
78<template name="Light">
79	<proto>
80		<return type="void"/>
81		<param name="light" type="GLenum"/>
82		<param name="pname" type="GLenum"/>
83		<vector name="params" type="const GLtype *" size="dynamic">
84			<param name="param" type="GLtype"/>
85		</vector>
86	</proto>
87</template>
88
89<template name="LightModel">
90	<proto>
91		<return type="void"/>
92		<param name="pname" type="GLenum"/>
93		<vector name="params" type="const GLtype *" size="dynamic">
94			<param name="param" type="GLtype"/>
95		</vector>
96	</proto>
97
98	<desc name="pname">
99		<value name="GL_LIGHT_MODEL_AMBIENT"/>
100
101		<desc name="params" vector_size="4"/>
102	</desc>
103
104	<desc name="pname">
105		<value name="GL_LIGHT_MODEL_TWO_SIDE"/>
106		<desc name="param">
107			<value name="GL_TRUE"/>
108			<value name="GL_FALSE"/>
109		</desc>
110	</desc>
111</template>
112
113<template name="LineWidth">
114	<proto>
115		<return type="void"/>
116		<param name="width" type="GLtype"/>
117	</proto>
118</template>
119
120<template name="Material">
121	<proto>
122		<return type="void"/>
123		<param name="face" type="GLenum"/>
124		<param name="pname" type="GLenum"/>
125		<vector name="params" type="const GLtype *" size="dynamic">
126			<param name="param" type="GLtype"/>
127		</vector>
128	</proto>
129
130	<desc name="face">
131		<value name="GL_FRONT_AND_BACK"/>
132	</desc>
133
134	<desc name="pname">
135		<value name="GL_AMBIENT"/>
136		<value name="GL_DIFFUSE"/>
137		<value name="GL_AMBIENT_AND_DIFFUSE"/>
138		<value name="GL_SPECULAR"/>
139		<value name="GL_EMISSION"/>
140
141		<desc name="params" vector_size="4"/>
142	</desc>
143
144	<desc name="pname">
145		<value name="GL_SHININESS"/>
146
147		<desc name="params" vector_size="1"/>
148	</desc>
149</template>
150
151<template name="PointSize">
152	<proto>
153		<return type="void"/>
154		<param name="size" type="GLtype"/>
155	</proto>
156</template>
157
158<template name="PointSizePointer">
159	<proto>
160		<return type="void"/>
161		<param name="type" type="GLenum"/>
162		<param name="stride" type="GLsizei"/>
163		<param name="pointer" type="const GLvoid *"/>
164	</proto>
165</template>
166
167<template name="Scissor">
168	<proto>
169		<return type="void"/>
170		<param name="x" type="GLint"/>
171		<param name="y" type="GLint"/>
172		<param name="width" type="GLsizei"/>
173		<param name="height" type="GLsizei"/>
174	</proto>
175</template>
176
177<template name="ShadeModel">
178	<proto>
179		<return type="void"/>
180		<param name="mode" type="GLenum"/>
181	</proto>
182</template>
183
184<template name="TexParameter">
185	<proto>
186		<return type="void"/>
187		<param name="target" type="GLenum"/>
188		<param name="pname" type="GLenum"/>
189		<vector name="params" type="const GLtype *" size="dynamic">
190			<param name="param" type="GLtype"/>
191		</vector>
192	</proto>
193</template>
194
195<template name="TexImage2D">
196	<proto>
197		<return type="void"/>
198		<param name="target" type="GLenum"/>
199		<param name="level" type="GLint"/>
200		<param name="internalFormat" type="GLint"/> <!-- should be GLenum -->
201		<param name="width" type="GLsizei"/>
202		<param name="height" type="GLsizei"/>
203		<param name="border" type="GLint"/>
204		<param name="format" type="GLenum"/>
205		<param name="type" type="GLenum"/>
206		<param name="pixels" type="const GLvoid *"/>
207	</proto>
208</template>
209
210<template name="TexEnv">
211	<proto>
212		<return type="void"/>
213		<param name="target" type="GLenum"/>
214		<param name="pname" type="GLenum"/>
215		<vector name="params" type="const GLtype *" size="dynamic">
216			<param name="param" type="GLtype"/>
217		</vector>
218	</proto>
219
220	<desc name="target" category="OES_point_sprite">
221		<value name="GL_POINT_SPRITE_OES"/>
222
223		<desc name="pname">
224			<value name="GL_COORD_REPLACE_OES"/>
225		</desc>
226	</desc>
227
228	<desc name="pname" category="OES_point_sprite">
229		<value name="GL_COORD_REPLACE_OES"/>
230
231		<desc name="param">
232			<value name="GL_TRUE"/>
233			<value name="GL_FALSE"/>
234		</desc>
235	</desc>
236
237	<desc name="target" category="EXT_texture_lod_bias">
238		<value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
239
240		<desc name="pname">
241			<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
242		</desc>
243	</desc>
244
245	<desc name="pname" category="EXT_texture_lod_bias">
246		<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
247		<desc name="params" vector_size="1"/>
248	</desc>
249
250	<desc name="target">
251		<value name="GL_TEXTURE_ENV"/>
252
253		<desc name="pname">
254			<value name="GL_TEXTURE_ENV_MODE"/>
255			<value name="GL_COMBINE_RGB"/>
256			<value name="GL_COMBINE_ALPHA"/>
257			<value name="GL_RGB_SCALE"/>
258			<value name="GL_ALPHA_SCALE"/>
259			<value name="GL_SRC0_RGB"/>
260			<value name="GL_SRC1_RGB"/>
261			<value name="GL_SRC2_RGB"/>
262			<value name="GL_SRC0_ALPHA"/>
263			<value name="GL_SRC1_ALPHA"/>
264			<value name="GL_SRC2_ALPHA"/>
265			<value name="GL_OPERAND0_RGB"/>
266			<value name="GL_OPERAND1_RGB"/>
267			<value name="GL_OPERAND2_RGB"/>
268			<value name="GL_OPERAND0_ALPHA"/>
269			<value name="GL_OPERAND1_ALPHA"/>
270			<value name="GL_OPERAND2_ALPHA"/>
271			<value name="GL_TEXTURE_ENV_COLOR"/>
272		</desc>
273	</desc>
274
275	<desc name="pname">
276		<value name="GL_TEXTURE_ENV_MODE"/>
277
278		<desc name="param">
279			<value name="GL_REPLACE"/>
280			<value name="GL_MODULATE"/>
281			<value name="GL_DECAL"/>
282			<value name="GL_BLEND"/>
283			<value name="GL_ADD"/>
284			<value name="GL_COMBINE"/>
285		</desc>
286	</desc>
287
288	<desc name="pname">
289		<value name="GL_COMBINE_RGB"/>
290
291		<desc name="param">
292			<value name="GL_REPLACE"/>
293			<value name="GL_MODULATE"/>
294			<value name="GL_ADD"/>
295			<value name="GL_ADD_SIGNED"/>
296			<value name="GL_INTERPOLATE"/>
297			<value name="GL_SUBTRACT"/>
298			<value name="GL_DOT3_RGB"/>
299			<value name="GL_DOT3_RGBA"/>
300		</desc>
301	</desc>
302
303	<desc name="pname">
304		<value name="GL_COMBINE_ALPHA"/>
305
306		<desc name="param">
307			<value name="GL_REPLACE"/>
308			<value name="GL_MODULATE"/>
309			<value name="GL_ADD"/>
310			<value name="GL_ADD_SIGNED"/>
311			<value name="GL_INTERPOLATE"/>
312			<value name="GL_SUBTRACT"/>
313		</desc>
314	</desc>
315
316	<desc name="pname">
317		<value name="GL_RGB_SCALE"/>
318		<value name="GL_ALPHA_SCALE"/>
319	</desc>
320
321	<desc name="pname">
322		<value name="GL_SRC0_RGB"/>
323		<value name="GL_SRC1_RGB"/>
324		<value name="GL_SRC2_RGB"/>
325		<value name="GL_SRC0_ALPHA"/>
326		<value name="GL_SRC1_ALPHA"/>
327		<value name="GL_SRC2_ALPHA"/>
328
329		<desc name="param">
330			<value name="GL_TEXTURE"/>
331			<value name="GL_CONSTANT"/>
332			<value name="GL_PRIMARY_COLOR"/>
333			<value name="GL_PREVIOUS"/>
334
335			<range base="GL_TEXTURE" from="0" to="31" category="OES_texture_env_crossbar"/>
336		</desc>
337	</desc>
338
339	<desc name="pname">
340		<value name="GL_OPERAND0_RGB"/>
341		<value name="GL_OPERAND1_RGB"/>
342		<value name="GL_OPERAND2_RGB"/>
343
344		<desc name="param">
345			<value name="GL_SRC_COLOR"/>
346			<value name="GL_ONE_MINUS_SRC_COLOR"/>
347			<value name="GL_SRC_ALPHA"/>
348			<value name="GL_ONE_MINUS_SRC_ALPHA"/>
349		</desc>
350	</desc>
351
352	<desc name="pname">
353		<value name="GL_OPERAND0_ALPHA"/>
354		<value name="GL_OPERAND1_ALPHA"/>
355		<value name="GL_OPERAND2_ALPHA"/>
356
357		<desc name="param">
358			<value name="GL_SRC_ALPHA"/>
359			<value name="GL_ONE_MINUS_SRC_ALPHA"/>
360		</desc>
361	</desc>
362
363	<desc name="pname">
364		<value name="GL_TEXTURE_ENV_COLOR"/>
365
366		<desc name="params" vector_size="4"/>
367	</desc>
368</template>
369
370<template name="TexGen">
371	<proto>
372		<return type="void"/>
373		<param name="coord" type="GLenum"/>
374		<param name="pname" type="GLenum"/>
375		<vector name="params" type="const GLtype *" size="dynamic">
376			<param name="param" type="GLtype"/>
377		</vector>
378	</proto>
379
380	<desc name="coord" category="OES_texture_cube_map">
381		<value name="GL_TEXTURE_GEN_STR_OES"/>
382	</desc>
383
384	<desc name="pname" category="OES_texture_cube_map">
385		<value name="GL_TEXTURE_GEN_MODE_OES"/>
386
387		<desc name="param">
388			<value name="GL_NORMAL_MAP_OES"/>
389			<value name="GL_REFLECTION_MAP_OES"/>
390		</desc>
391	</desc>
392</template>
393
394<template name="Clear">
395	<proto>
396		<return type="void"/>
397		<param name="mask" type="GLbitfield"/>
398	</proto>
399</template>
400
401<template name="ClearColor">
402	<proto>
403		<return type="void"/>
404		<param name="red" type="GLtype"/>
405		<param name="green" type="GLtype"/>
406		<param name="blue" type="GLtype"/>
407		<param name="alpha" type="GLtype"/>
408	</proto>
409</template>
410
411<template name="ClearStencil">
412	<proto>
413		<return type="void"/>
414		<param name="s" type="GLint"/>
415	</proto>
416</template>
417
418<template name="ClearDepth">
419	<proto>
420		<return type="void"/>
421		<param name="depth" type="GLtype"/>
422	</proto>
423</template>
424
425<template name="StencilMask">
426	<proto>
427		<return type="void"/>
428		<param name="mask" type="GLuint"/>
429	</proto>
430</template>
431
432<template name="StencilMaskSeparate">
433	<proto>
434		<return type="void"/>
435		<param name="face" type="GLenum"/>
436		<param name="mask" type="GLuint"/>
437	</proto>
438</template>
439
440<template name="ColorMask">
441	<proto>
442		<return type="void"/>
443		<param name="red" type="GLboolean"/>
444		<param name="green" type="GLboolean"/>
445		<param name="blue" type="GLboolean"/>
446		<param name="alpha" type="GLboolean"/>
447	</proto>
448</template>
449
450<template name="DepthMask">
451	<proto>
452		<return type="void"/>
453		<param name="flag" type="GLboolean"/>
454	</proto>
455</template>
456
457<template name="Disable">
458	<proto>
459		<return type="void"/>
460		<param name="cap" type="GLenum"/>
461	</proto>
462</template>
463
464<!-- it is exactly the same as Disable -->
465<template name="Enable">
466	<proto>
467		<return type="void"/>
468		<param name="cap" type="GLenum"/>
469	</proto>
470</template>
471
472<template name="Finish">
473	<proto>
474		<return type="void"/>
475	</proto>
476</template>
477
478<template name="Flush">
479	<proto>
480		<return type="void"/>
481	</proto>
482</template>
483
484<template name="AlphaFunc">
485	<proto>
486		<return type="void"/>
487		<param name="func" type="GLenum"/>
488		<param name="ref" type="GLtype"/>
489	</proto>
490</template>
491
492<template name="BlendFunc">
493	<proto>
494		<return type="void"/>
495		<param name="sfactor" type="GLenum"/>
496		<param name="dfactor" type="GLenum"/>
497	</proto>
498</template>
499
500<template name="LogicOp">
501	<proto>
502		<return type="void"/>
503		<param name="opcode" type="GLenum"/>
504	</proto>
505</template>
506
507<template name="StencilFunc">
508	<proto>
509		<return type="void"/>
510		<param name="func" type="GLenum"/>
511		<param name="ref" type="GLint"/>
512		<param name="mask" type="GLuint"/>
513	</proto>
514</template>
515
516<template name="StencilFuncSeparate">
517	<proto>
518		<return type="void"/>
519		<param name="face" type="GLenum"/>
520		<param name="func" type="GLenum"/>
521		<param name="ref" type="GLint"/>
522		<param name="mask" type="GLuint"/>
523	</proto>
524</template>
525
526<template name="StencilOp">
527	<proto>
528		<return type="void"/>
529		<param name="fail" type="GLenum"/>
530		<param name="zfail" type="GLenum"/>
531		<param name="zpass" type="GLenum"/>
532	</proto>
533</template>
534
535<template name="StencilOpSeparate">
536	<proto>
537		<return type="void"/>
538		<param name="face" type="GLenum"/>
539		<param name="fail" type="GLenum"/>
540		<param name="zfail" type="GLenum"/>
541		<param name="zpass" type="GLenum"/>
542	</proto>
543</template>
544
545<template name="DepthFunc">
546	<proto>
547		<return type="void"/>
548		<param name="func" type="GLenum"/>
549	</proto>
550</template>
551
552<template name="PixelStore">
553	<proto>
554		<return type="void"/>
555		<param name="pname" type="GLenum"/>
556		<param name="param" type="GLtype"/>
557	</proto>
558</template>
559
560<template name="ReadPixels" direction="get">
561	<proto>
562		<return type="void"/>
563		<param name="x" type="GLint"/>
564		<param name="y" type="GLint"/>
565		<param name="width" type="GLsizei"/>
566		<param name="height" type="GLsizei"/>
567		<param name="format" type="GLenum"/>
568		<param name="type" type="GLenum"/>
569		<param name="pixels" type="GLvoid *"/>
570	</proto>
571</template>
572
573<template name="GetClipPlane" direction="get">
574	<proto>
575		<return type="void"/>
576		<param name="plane" type="GLenum"/>
577		<vector name="equation" type="GLtype *" size="4"/>
578	</proto>
579</template>
580
581<template name="GetError" direction="get">
582	<proto>
583		<return type="GLenum"/>
584	</proto>
585</template>
586
587<!-- template for GetFloatv, GetIntegerv, GetBoolean, and GetFixedv -->
588<template name="GetState" direction="get">
589	<proto>
590		<return type="void"/>
591		<param name="pname" type="GLenum"/>
592		<vector name="params" type="GLtype *" size="dynamic"/>
593	</proto>
594	<!-- param checking is done in mesa -->
595</template>
596
597<template name="GetLight" direction="get">
598	<proto>
599		<return type="void"/>
600		<param name="light" type="GLenum"/>
601		<param name="pname" type="GLenum"/>
602		<vector name="params" type="GLtype *" size="dynamic"/>
603	</proto>
604</template>
605
606<template name="GetMaterial" direction="get">
607	<proto>
608		<return type="void"/>
609		<param name="face" type="GLenum"/>
610		<param name="pname" type="GLenum"/>
611		<vector name="params" type="GLtype *" size="dynamic">
612			<param name="param" type="GLtype"/>
613		</vector>
614	</proto>
615
616	<desc name="face">
617		<value name="GL_FRONT"/>
618		<value name="GL_BACK"/>
619	</desc>
620
621	<desc name="pname">
622		<value name="GL_SHININESS"/>
623		<desc name="params" vector_size="1"/>
624	</desc>
625
626	<desc name="pname">
627		<value name="GL_AMBIENT"/>
628		<value name="GL_DIFFUSE"/>
629		<value name="GL_AMBIENT_AND_DIFFUSE"/>
630		<value name="GL_SPECULAR"/>
631		<value name="GL_EMISSION"/>
632
633		<desc name="params" vector_size="4"/>
634	</desc>
635</template>
636
637<template name="GetString" direction="get">
638	<proto>
639		<return type="const GLubyte *"/>
640		<param name="name" type="GLenum"/>
641	</proto>
642</template>
643
644<template name="GetTexEnv" direction="get">
645	<proto>
646		<return type="void"/>
647		<param name="target" type="GLenum"/>
648		<param name="pname" type="GLenum"/>
649		<vector name="params" type="GLtype *" size="dynamic"/>
650	</proto>
651
652	<desc name="target" category="OES_point_sprite">
653		<value name="GL_POINT_SPRITE_OES"/>
654		<desc name="pname">
655			<value name="GL_COORD_REPLACE_OES"/>
656		</desc>
657	</desc>
658
659	<desc name="pname" category="OES_point_sprite">
660		<value name="GL_COORD_REPLACE_OES"/>
661		<desc name="params" vector_size="1" convert="false"/>
662	</desc>
663
664	<desc name="target" category="EXT_texture_lod_bias">
665		<value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
666
667		<desc name="pname">
668			<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
669		</desc>
670	</desc>
671
672	<desc name="pname" category="EXT_texture_lod_bias">
673		<value name="GL_TEXTURE_LOD_BIAS_EXT"/>
674		<desc name="params" vector_size="1"/>
675	</desc>
676
677	<desc name="target">
678		<value name="GL_TEXTURE_ENV"/>
679
680		<desc name="pname">
681			<value name="GL_TEXTURE_ENV_COLOR"/>
682			<value name="GL_RGB_SCALE"/>
683			<value name="GL_ALPHA_SCALE"/>
684			<value name="GL_TEXTURE_ENV_MODE"/>
685			<value name="GL_COMBINE_RGB"/>
686			<value name="GL_COMBINE_ALPHA"/>
687			<value name="GL_SRC0_RGB"/>
688			<value name="GL_SRC1_RGB"/>
689			<value name="GL_SRC2_RGB"/>
690			<value name="GL_SRC0_ALPHA"/>
691			<value name="GL_SRC1_ALPHA"/>
692			<value name="GL_SRC2_ALPHA"/>
693			<value name="GL_OPERAND0_RGB"/>
694			<value name="GL_OPERAND1_RGB"/>
695			<value name="GL_OPERAND2_RGB"/>
696			<value name="GL_OPERAND0_ALPHA"/>
697			<value name="GL_OPERAND1_ALPHA"/>
698			<value name="GL_OPERAND2_ALPHA"/>
699		</desc>
700	</desc>
701
702	<desc name="pname">
703		<value name="GL_TEXTURE_ENV_COLOR"/>
704		<desc name="params" vector_size="4"/>
705	</desc>
706
707	<desc name="pname">
708		<value name="GL_RGB_SCALE"/>
709		<value name="GL_ALPHA_SCALE"/>
710
711		<desc name="params" vector_size="1"/>
712	</desc>
713
714	<desc name="pname">
715		<value name="GL_TEXTURE_ENV_MODE"/>
716		<value name="GL_COMBINE_RGB"/>
717		<value name="GL_COMBINE_ALPHA"/>
718		<value name="GL_SRC0_RGB"/>
719		<value name="GL_SRC1_RGB"/>
720		<value name="GL_SRC2_RGB"/>
721		<value name="GL_SRC0_ALPHA"/>
722		<value name="GL_SRC1_ALPHA"/>
723		<value name="GL_SRC2_ALPHA"/>
724		<value name="GL_OPERAND0_RGB"/>
725		<value name="GL_OPERAND1_RGB"/>
726		<value name="GL_OPERAND2_RGB"/>
727		<value name="GL_OPERAND0_ALPHA"/>
728		<value name="GL_OPERAND1_ALPHA"/>
729		<value name="GL_OPERAND2_ALPHA"/>
730
731		<desc name="params" vector_size="1" convert="false"/>
732	</desc>
733</template>
734
735<template name="GetTexGen" direction="get">
736	<proto>
737		<return type="void"/>
738		<param name="coord" type="GLenum"/>
739		<param name="pname" type="GLenum"/>
740		<vector name="params" type="GLtype *" size="dynamic"/>
741	</proto>
742
743	<desc name="coord">
744		<value name="GL_TEXTURE_GEN_STR_OES"/>
745	</desc>
746	<desc name="pname">
747		<value name="GL_TEXTURE_GEN_MODE_OES"/>
748		<desc name="params" vector_size="1" convert="false"/>
749	</desc>
750</template>
751
752<template name="GetTexParameter" direction="get">
753	<proto>
754		<return type="void"/>
755		<param name="target" type="GLenum"/>
756		<param name="pname" type="GLenum"/>
757		<vector name="params" type="GLtype *" size="dynamic"/>
758	</proto>
759</template>
760
761<template name="IsEnabled" direction="get">
762	<proto>
763		<return type="GLboolean"/>
764		<param name="cap" type="GLenum"/>
765	</proto>
766</template>
767
768<template name="DepthRange">
769	<proto>
770		<return type="void"/>
771		<param name="zNear" type="GLtype"/>
772		<param name="zFar" type="GLtype"/>
773	</proto>
774</template>
775
776<template name="Frustum">
777	<proto>
778		<return type="void"/>
779		<param name="left" type="GLtype"/>
780		<param name="right" type="GLtype"/>
781		<param name="bottom" type="GLtype"/>
782		<param name="top" type="GLtype"/>
783		<param name="zNear" type="GLtype"/>
784		<param name="zFar" type="GLtype"/>
785	</proto>
786</template>
787
788<template name="LoadIdentity">
789	<proto>
790		<return type="void"/>
791	</proto>
792</template>
793
794<template name="LoadMatrix">
795	<proto>
796		<return type="void"/>
797		<vector name="m" type="const GLtype *" size="16"/>
798	</proto>
799</template>
800
801<template name="MatrixMode">
802	<proto>
803		<return type="void"/>
804		<param name="mode" type="GLenum"/>
805	</proto>
806</template>
807
808<template name="MultMatrix">
809	<proto>
810		<return type="void"/>
811		<vector name="m" type="const GLtype *" size="16"/>
812	</proto>
813</template>
814
815<template name="Ortho">
816	<proto>
817		<return type="void"/>
818		<param name="left" type="GLtype"/>
819		<param name="right" type="GLtype"/>
820		<param name="bottom" type="GLtype"/>
821		<param name="top" type="GLtype"/>
822		<param name="zNear" type="GLtype"/>
823		<param name="zFar" type="GLtype"/>
824	</proto>
825</template>
826
827<template name="PopMatrix">
828	<proto>
829		<return type="void"/>
830	</proto>
831</template>
832
833<template name="PushMatrix">
834	<proto>
835		<return type="void"/>
836	</proto>
837</template>
838
839<template name="Rotate">
840	<proto>
841		<return type="void"/>
842		<param name="angle" type="GLtype"/>
843		<param name="x" type="GLtype"/>
844		<param name="y" type="GLtype"/>
845		<param name="z" type="GLtype"/>
846	</proto>
847</template>
848
849<template name="Scale">
850	<proto>
851		<return type="void"/>
852		<param name="x" type="GLtype"/>
853		<param name="y" type="GLtype"/>
854		<param name="z" type="GLtype"/>
855	</proto>
856</template>
857
858<template name="Translate">
859	<proto>
860		<return type="void"/>
861		<param name="x" type="GLtype"/>
862		<param name="y" type="GLtype"/>
863		<param name="z" type="GLtype"/>
864	</proto>
865</template>
866
867<template name="Viewport">
868	<proto>
869		<return type="void"/>
870		<param name="x" type="GLint"/>
871		<param name="y" type="GLint"/>
872		<param name="width" type="GLsizei"/>
873		<param name="height" type="GLsizei"/>
874	</proto>
875</template>
876
877<template name="ColorPointer">
878	<proto>
879		<return type="void"/>
880		<param name="size" type="GLint"/>
881		<param name="type" type="GLenum"/>
882		<param name="stride" type="GLsizei"/>
883		<param name="pointer" type="const GLvoid *"/>
884	</proto>
885</template>
886
887<template name="DisableClientState">
888	<proto>
889		<return type="void"/>
890		<param name="array" type="GLenum"/>
891	</proto>
892</template>
893
894<template name="DrawArrays">
895	<proto>
896		<return type="void"/>
897		<param name="mode" type="GLenum"/>
898		<param name="first" type="GLint"/>
899		<param name="count" type="GLsizei"/>
900	</proto>
901</template>
902
903<template name="DrawElements">
904	<proto>
905		<return type="void"/>
906		<param name="mode" type="GLenum"/>
907		<param name="count" type="GLsizei"/>
908		<param name="type" type="GLenum"/>
909		<param name="indices" type="const GLvoid *"/>
910	</proto>
911</template>
912
913<template name="EnableClientState">
914	<proto>
915		<return type="void"/>
916		<param name="array" type="GLenum"/>
917	</proto>
918</template>
919
920<template name="GetPointer" direction="get">
921	<proto>
922		<return type="void"/>
923		<param name="pname" type="GLenum"/>
924		<vector name="params" type="GLvoid **" size="dynamic"/>
925	</proto>
926
927	<desc name="pname">
928		<value name="GL_VERTEX_ARRAY_POINTER"/>
929		<value name="GL_NORMAL_ARRAY_POINTER"/>
930		<value name="GL_COLOR_ARRAY_POINTER"/>
931		<value name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
932		<value name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
933		<value name="GL_WEIGHT_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
934		<value name="GL_POINT_SIZE_ARRAY_POINTER_OES" category="OES_point_size_array"/>
935	</desc>
936</template>
937
938<template name="Normal">
939	<proto>
940		<return type="void"/>
941		<vector name="v" type="const GLtype *" size="3">
942			<param name="nx" type="GLtype"/>
943			<param name="ny" type="GLtype"/>
944			<param name="nz" type="GLtype"/>
945		</vector>
946	</proto>
947</template>
948
949<template name="NormalPointer">
950	<proto>
951		<return type="void"/>
952		<param name="type" type="GLenum"/>
953		<param name="stride" type="GLsizei"/>
954		<param name="pointer" type="const GLvoid *"/>
955	</proto>
956</template>
957
958<template name="TexCoordPointer">
959	<proto>
960		<return type="void"/>
961		<param name="size" type="GLint"/>
962		<param name="type" type="GLenum"/>
963		<param name="stride" type="GLsizei"/>
964		<param name="pointer" type="const GLvoid *"/>
965	</proto>
966</template>
967
968<template name="VertexPointer">
969	<proto>
970		<return type="void"/>
971		<param name="size" type="GLint"/>
972		<param name="type" type="GLenum"/>
973		<param name="stride" type="GLsizei"/>
974		<param name="pointer" type="const GLvoid *"/>
975	</proto>
976</template>
977
978<template name="PolygonOffset">
979	<proto>
980		<return type="void"/>
981		<param name="factor" type="GLtype"/>
982		<param name="units" type="GLtype"/>
983	</proto>
984</template>
985
986<template name="CopyTexImage2D">
987	<proto>
988		<return type="void"/>
989		<param name="target" type="GLenum"/>
990		<param name="level" type="GLint"/>
991		<param name="internalFormat" type="GLenum"/>
992		<param name="x" type="GLint"/>
993		<param name="y" type="GLint"/>
994		<param name="width" type="GLsizei"/>
995		<param name="height" type="GLsizei"/>
996		<param name="border" type="GLint"/>
997	</proto>
998</template>
999
1000<template name="CopyTexSubImage2D">
1001	<proto>
1002		<return type="void"/>
1003		<param name="target" type="GLenum"/>
1004		<param name="level" type="GLint"/>
1005		<param name="xoffset" type="GLint"/>
1006		<param name="yoffset" type="GLint"/>
1007		<param name="x" type="GLint"/>
1008		<param name="y" type="GLint"/>
1009		<param name="width" type="GLsizei"/>
1010		<param name="height" type="GLsizei"/>
1011	</proto>
1012</template>
1013
1014<template name="TexSubImage2D">
1015	<proto>
1016		<return type="void"/>
1017		<param name="target" type="GLenum"/>
1018		<param name="level" type="GLint"/>
1019		<param name="xoffset" type="GLint"/>
1020		<param name="yoffset" type="GLint"/>
1021		<param name="width" type="GLsizei"/>
1022		<param name="height" type="GLsizei"/>
1023		<param name="format" type="GLenum"/>
1024		<param name="type" type="GLenum"/>
1025		<param name="pixels" type="const GLvoid *"/>
1026	</proto>
1027</template>
1028
1029<template name="BindTexture">
1030	<proto>
1031		<return type="void"/>
1032		<param name="target" type="GLenum"/>
1033		<param name="texture" type="GLuint"/>
1034	</proto>
1035</template>
1036
1037<template name="DeleteTextures">
1038	<proto>
1039		<return type="void"/>
1040		<param name="n" type="GLsizei"/>
1041		<param name="textures" type="const GLuint *"/>
1042	</proto>
1043</template>
1044
1045<template name="GenTextures" direction="get">
1046	<proto>
1047		<return type="void"/>
1048		<param name="n" type="GLsizei"/>
1049		<param name="textures" type="GLuint *"/>
1050	</proto>
1051</template>
1052
1053<template name="IsTexture" direction="get">
1054	<proto>
1055		<return type="GLboolean"/>
1056		<param name="texture" type="GLuint"/>
1057	</proto>
1058</template>
1059
1060<template name="BlendColor">
1061	<proto>
1062		<return type="void"/>
1063		<param name="red" type="GLtype"/>
1064		<param name="green" type="GLtype"/>
1065		<param name="blue" type="GLtype"/>
1066		<param name="alpha" type="GLtype"/>
1067	</proto>
1068</template>
1069
1070<template name="BlendEquation">
1071	<proto>
1072		<return type="void"/>
1073		<param name="mode" type="GLenum"/>
1074	</proto>
1075</template>
1076
1077<template name="BlendEquationSeparate">
1078	<proto>
1079		<return type="void"/>
1080		<param name="modeRGB" type="GLenum"/>
1081		<param name="modeAlpha" type="GLenum"/>
1082	</proto>
1083</template>
1084
1085<template name="TexImage3D">
1086	<proto>
1087		<return type="void"/>
1088		<param name="target" type="GLenum"/>
1089		<param name="level" type="GLint"/>
1090		<param name="internalFormat" type="GLenum"/>
1091		<param name="width" type="GLsizei"/>
1092		<param name="height" type="GLsizei"/>
1093		<param name="depth" type="GLsizei"/>
1094		<param name="border" type="GLint"/>
1095		<param name="format" type="GLenum"/>
1096		<param name="type" type="GLenum"/>
1097		<param name="pixels" type="const GLvoid *"/>
1098	</proto>
1099
1100</template>
1101
1102<template name="TexSubImage3D">
1103	<proto>
1104		<return type="void"/>
1105		<param name="target" type="GLenum"/>
1106		<param name="level" type="GLint"/>
1107		<param name="xoffset" type="GLint"/>
1108		<param name="yoffset" type="GLint"/>
1109		<param name="zoffset" type="GLint"/>
1110		<param name="width" type="GLsizei"/>
1111		<param name="height" type="GLsizei"/>
1112		<param name="depth" type="GLsizei"/>
1113		<param name="format" type="GLenum"/>
1114		<param name="type" type="GLenum"/>
1115		<param name="pixels" type="const GLvoid *"/>
1116	</proto>
1117</template>
1118
1119<template name="CopyTexSubImage3D">
1120	<proto>
1121		<return type="void"/>
1122		<param name="target" type="GLenum"/>
1123		<param name="level" type="GLint"/>
1124		<param name="xoffset" type="GLint"/>
1125		<param name="yoffset" type="GLint"/>
1126		<param name="zoffset" type="GLint"/>
1127		<param name="x" type="GLint"/>
1128		<param name="y" type="GLint"/>
1129		<param name="width" type="GLsizei"/>
1130		<param name="height" type="GLsizei"/>
1131	</proto>
1132</template>
1133
1134<template name="MultiTexCoord">
1135	<proto>
1136		<return type="void"/>
1137		<param name="texture" type="GLenum"/>
1138		<vector name="v" type="const GLtype *" size="dynamic">
1139			<param name="s" type="GLtype"/>
1140			<param name="t" type="GLtype"/>
1141			<param name="r" type="GLtype"/>
1142			<param name="q" type="GLtype"/>
1143		</vector>
1144	</proto>
1145</template>
1146
1147<template name="CompressedTexImage3D">
1148	<proto>
1149		<return type="void"/>
1150		<param name="target" type="GLenum"/>
1151		<param name="level" type="GLint"/>
1152		<param name="internalFormat" type="GLenum"/>
1153		<param name="width" type="GLsizei"/>
1154		<param name="height" type="GLsizei"/>
1155		<param name="depth" type="GLsizei"/>
1156		<param name="border" type="GLint"/>
1157		<param name="imagesize" type="GLsizei"/>
1158		<param name="data" type="const GLvoid *"/>
1159	</proto>
1160</template>
1161
1162<template name="CompressedTexSubImage3D">
1163	<proto>
1164		<return type="void"/>
1165		<param name="target" type="GLenum"/>
1166		<param name="level" type="GLint"/>
1167		<param name="xoffset" type="GLint"/>
1168		<param name="yoffset" type="GLint"/>
1169		<param name="zoffset" type="GLint"/>
1170		<param name="width" type="GLsizei"/>
1171		<param name="height" type="GLsizei"/>
1172		<param name="depth" type="GLsizei"/>
1173		<param name="format" type="GLenum"/>
1174		<param name="imagesize" type="GLsizei"/>
1175		<param name="data" type="const GLvoid *"/>
1176	</proto>
1177</template>
1178
1179<template name="ActiveTexture">
1180	<proto>
1181		<return type="void"/>
1182		<param name="texture" type="GLenum"/>
1183	</proto>
1184</template>
1185
1186<template name="ClientActiveTexture">
1187	<proto>
1188		<return type="void"/>
1189		<param name="texture" type="GLenum"/>
1190	</proto>
1191</template>
1192
1193<template name="SampleCoverage">
1194	<proto>
1195		<return type="void"/>
1196		<param name="value" type="GLtype"/>
1197		<param name="invert" type="GLboolean"/>
1198	</proto>
1199</template>
1200
1201<template name="CompressedTexImage2D">
1202	<proto>
1203		<return type="void"/>
1204		<param name="target" type="GLenum"/>
1205		<param name="level" type="GLint"/>
1206		<param name="internalFormat" type="GLenum"/>
1207		<param name="width" type="GLsizei"/>
1208		<param name="height" type="GLsizei"/>
1209		<param name="border" type="GLint"/>
1210		<param name="imageSize" type="GLsizei"/>
1211		<param name="data" type="const GLvoid *"/>
1212	</proto>
1213</template>
1214
1215<template name="CompressedTexSubImage2D">
1216	<proto>
1217		<return type="void"/>
1218		<param name="target" type="GLenum"/>
1219		<param name="level" type="GLint"/>
1220		<param name="xoffset" type="GLint"/>
1221		<param name="yoffset" type="GLint"/>
1222		<param name="width" type="GLsizei"/>
1223		<param name="height" type="GLsizei"/>
1224		<param name="format" type="GLenum"/>
1225		<param name="imageSize" type="GLsizei"/>
1226		<param name="data" type="const GLvoid *"/>
1227	</proto>
1228</template>
1229
1230<template name="BlendFuncSeparate">
1231	<proto>
1232		<return type="void"/>
1233		<param name="srcRGB" type="GLenum"/>
1234		<param name="dstRGB" type="GLenum"/>
1235		<param name="srcAlpha" type="GLenum"/>
1236		<param name="dstAlpha" type="GLenum"/>
1237	</proto>
1238</template>
1239
1240<template name="PointParameter">
1241	<proto>
1242		<return type="void"/>
1243		<param name="pname" type="GLenum"/>
1244		<vector name="params" type="const GLtype *" size="dynamic">
1245			<param name="param" type="GLtype"/>
1246		</vector>
1247	</proto>
1248
1249	<desc name="pname">
1250		<value name="GL_POINT_SIZE_MIN"/>
1251		<value name="GL_POINT_SIZE_MAX"/>
1252		<value name="GL_POINT_FADE_THRESHOLD_SIZE"/>
1253
1254		<desc name="params" vector_size="1"/>
1255	</desc>
1256
1257	<desc name="pname">
1258		<value name="GL_POINT_DISTANCE_ATTENUATION"/>
1259		<desc name="params" vector_size="3"/>
1260	</desc>
1261</template>
1262
1263<template name="VertexAttrib">
1264	<proto>
1265		<return type="void"/>
1266		<param name="index" type="GLuint"/>
1267		<vector name="v" type="const GLtype *" size="dynamic">
1268			<param name="x" type="GLtype"/>
1269			<param name="y" type="GLtype"/>
1270			<param name="z" type="GLtype"/>
1271			<param name="w" type="GLtype"/>
1272		</vector>
1273	</proto>
1274</template>
1275
1276<template name="VertexAttribPointer">
1277	<proto>
1278		<return type="void"/>
1279		<param name="index" type="GLuint"/>
1280		<param name="size" type="GLint"/>
1281		<param name="type" type="GLenum"/>
1282		<param name="normalized" type="GLboolean"/>
1283		<param name="stride" type="GLsizei"/>
1284		<param name="pointer" type="const GLvoid *"/>
1285	</proto>
1286</template>
1287
1288<template name="EnableVertexAttribArray">
1289	<proto>
1290		<return type="void"/>
1291		<param name="index" type="GLuint"/>
1292	</proto>
1293</template>
1294
1295<template name="DisableVertexAttribArray">
1296	<proto>
1297		<return type="void"/>
1298		<param name="index" type="GLuint"/>
1299	</proto>
1300</template>
1301
1302<template name="IsProgram" direction="get">
1303	<proto>
1304		<return type="GLboolean"/>
1305		<param name="program" type="GLuint"/>
1306	</proto>
1307</template>
1308
1309<template name="GetProgram" direction="get">
1310	<proto>
1311		<return type="void"/>
1312		<param name="program" type="GLuint"/>
1313		<param name="pname" type="GLenum"/>
1314		<vector name="params" type="GLtype *" size="dynamic"/>
1315	</proto>
1316</template>
1317
1318<template name="GetVertexAttrib" direction="get">
1319	<proto>
1320		<return type="void"/>
1321		<param name="index" type="GLuint"/>
1322		<param name="pname" type="GLenum"/>
1323		<vector name="params" type="GLtype *" size="dynamic"/>
1324	</proto>
1325</template>
1326
1327<template name="GetVertexAttribPointer" direction="get">
1328	<proto>
1329		<return type="void"/>
1330		<param name="index" type="GLuint"/>
1331		<param name="pname" type="GLenum"/>
1332		<vector name="pointer" type="GLvoid **" size="dynamic"/>
1333	</proto>
1334</template>
1335
1336<template name="GetBufferPointer" direction="get">
1337	<proto>
1338		<return type="void"/>
1339		<param name="target" type="GLenum"/>
1340		<param name="pname" type="GLenum"/>
1341		<vector name="params" type="GLvoid **" size="dynamic"/>
1342	</proto>
1343</template>
1344
1345<template name="MapBuffer" direction="get">
1346	<proto>
1347		<return type="void *"/>
1348		<param name="target" type="GLenum"/>
1349		<param name="access" type="GLenum"/>
1350	</proto>
1351</template>
1352
1353<template name="UnmapBuffer" direction="get">
1354	<proto>
1355		<return type="GLboolean"/>
1356		<param name="target" type="GLenum"/>
1357	</proto>
1358</template>
1359
1360<template name="BindBuffer">
1361	<proto>
1362		<return type="void"/>
1363		<param name="target" type="GLenum"/>
1364		<param name="buffer" type="GLuint"/>
1365	</proto>
1366</template>
1367
1368<template name="BufferData">
1369	<proto>
1370		<return type="void"/>
1371		<param name="target" type="GLenum"/>
1372		<param name="size" type="GLsizeiptr"/>
1373		<param name="data" type="const GLvoid *"/>
1374		<param name="usage" type="GLenum"/>
1375	</proto>
1376</template>
1377
1378<template name="BufferSubData">
1379	<proto>
1380		<return type="void"/>
1381		<param name="target" type="GLenum"/>
1382		<param name="offset" type="GLintptr"/>
1383		<param name="size" type="GLsizeiptr"/>
1384		<param name="data" type="const GLvoid *"/>
1385	</proto>
1386</template>
1387
1388<template name="DeleteBuffers">
1389	<proto>
1390		<return type="void"/>
1391		<param name="n" type="GLsizei"/>
1392		<param name="buffer" type="const GLuint *"/>
1393	</proto>
1394</template>
1395
1396<template name="GenBuffers" direction="get">
1397	<proto>
1398		<return type="void"/>
1399		<param name="n" type="GLsizei"/>
1400		<param name="buffer" type="GLuint *"/>
1401	</proto>
1402</template>
1403
1404<template name="GetBufferParameter" direction="get">
1405	<proto>
1406		<return type="void"/>
1407		<param name="target" type="GLenum"/>
1408		<param name="pname" type="GLenum"/>
1409		<vector name="params" type="GLtype *" size="dynamic"/>
1410	</proto>
1411</template>
1412
1413<template name="IsBuffer" direction="get">
1414	<proto>
1415		<return type="GLboolean"/>
1416		<param name="buffer" type="GLuint"/>
1417	</proto>
1418</template>
1419
1420<template name="CreateShader">
1421	<proto>
1422		<return type="GLuint"/>
1423		<param name="type" type="GLenum"/>
1424	</proto>
1425</template>
1426
1427<template name="ShaderSource">
1428	<proto>
1429		<return type="void"/>
1430		<param name="shader" type="GLuint"/>
1431		<param name="count" type="GLsizei"/>
1432		<param name="string" type="const GLchar * const *"/>
1433		<param name="length" type="const int *"/>
1434	</proto>
1435</template>
1436
1437<template name="CompileShader">
1438	<proto>
1439		<return type="void"/>
1440		<param name="shader" type="GLuint"/>
1441	</proto>
1442</template>
1443
1444<template name="ReleaseShaderCompiler">
1445	<proto>
1446		<return type="void"/>
1447	</proto>
1448</template>
1449
1450<template name="DeleteShader">
1451	<proto>
1452		<return type="void"/>
1453		<param name="shader" type="GLuint"/>
1454	</proto>
1455</template>
1456
1457<template name="ShaderBinary">
1458	<proto>
1459		<return type="void"/>
1460		<param name="n" type="GLsizei"/>
1461		<param name="shaders" type="const GLuint *"/>
1462		<param name="binaryformat" type="GLenum"/>
1463		<param name="binary" type="const GLvoid *"/>
1464		<param name="length" type="GLsizei"/>
1465	</proto>
1466</template>
1467
1468<template name="CreateProgram">
1469	<proto>
1470		<return type="GLuint"/>
1471	</proto>
1472</template>
1473
1474<template name="AttachShader">
1475	<proto>
1476		<return type="void"/>
1477		<param name="program" type="GLuint"/>
1478		<param name="shader" type="GLuint"/>
1479	</proto>
1480</template>
1481
1482<template name="DetachShader">
1483	<proto>
1484		<return type="void"/>
1485		<param name="program" type="GLuint"/>
1486		<param name="shader" type="GLuint"/>
1487	</proto>
1488</template>
1489
1490<template name="LinkProgram">
1491	<proto>
1492		<return type="void"/>
1493		<param name="program" type="GLuint"/>
1494	</proto>
1495</template>
1496
1497<template name="UseProgram">
1498	<proto>
1499		<return type="void"/>
1500		<param name="program" type="GLuint"/>
1501	</proto>
1502</template>
1503
1504<template name="DeleteProgram">
1505	<proto>
1506		<return type="void"/>
1507		<param name="program" type="GLuint"/>
1508	</proto>
1509</template>
1510
1511<template name="GetActiveAttrib" direction="get">
1512	<proto>
1513		<return type="void"/>
1514		<param name="program" type="GLuint"/>
1515		<param name="index" type="GLuint"/>
1516		<param name="bufSize" type="GLsizei"/>
1517		<param name="length" type="GLsizei *"/>
1518		<param name="size" type="GLint *"/>
1519		<param name="type" type="GLenum *"/>
1520		<param name="name" type="GLchar *"/>
1521	</proto>
1522</template>
1523
1524<template name="GetAttribLocation" direction="get">
1525	<proto>
1526		<return type="GLint"/>
1527		<param name="program" type="GLuint"/>
1528		<param name="name" type="const char *"/>
1529	</proto>
1530</template>
1531
1532<template name="BindAttribLocation">
1533	<proto>
1534		<return type="void"/>
1535		<param name="program" type="GLuint"/>
1536		<param name="index" type="GLuint"/>
1537		<param name="name" type="const char *"/>
1538	</proto>
1539</template>
1540
1541<template name="GetUniformLocation" direction="get">
1542	<proto>
1543		<return type="GLint"/>
1544		<param name="program" type="GLuint"/>
1545		<param name="name" type="const char *"/>
1546	</proto>
1547</template>
1548
1549<template name="GetActiveUniform" direction="get">
1550	<proto>
1551		<return type="void"/>
1552		<param name="program" type="GLuint"/>
1553		<param name="index" type="GLuint"/>
1554		<param name="bufSize" type="GLsizei"/>
1555		<param name="length" type="GLsizei *"/>
1556		<param name="size" type="GLint *"/>
1557		<param name="type" type="GLenum *"/>
1558		<param name="name" type="GLchar *"/>
1559	</proto>
1560</template>
1561
1562<template name="Uniform">
1563	<proto>
1564		<return type="void"/>
1565		<param name="location" type="GLint"/>
1566		<param name="count" type="GLsizei" hide_if_expanded="true"/>
1567		<vector name="values" type="const GLtype *" size="dynamic">
1568			<param name="v0" type="GLtype"/>
1569			<param name="v1" type="GLtype"/>
1570			<param name="v2" type="GLtype"/>
1571			<param name="v3" type="GLtype"/>
1572		</vector>
1573	</proto>
1574</template>
1575
1576<template name="UniformMatrix">
1577	<proto>
1578		<return type="void"/>
1579		<param name="location" type="GLint"/>
1580		<param name="count" type="GLsizei"/>
1581		<param name="transpose" type="GLboolean"/>
1582		<vector name="value" type="const GLtype *" size="dynamic"/>
1583	</proto>
1584</template>
1585
1586<template name="ValidateProgram">
1587	<proto>
1588		<return type="void"/>
1589		<param name="program" type="GLuint"/>
1590	</proto>
1591</template>
1592
1593<template name="GenerateMipmap">
1594	<proto>
1595		<return type="void"/>
1596		<param name="target" type="GLenum"/>
1597	</proto>
1598</template>
1599
1600<template name="BindFramebuffer">
1601	<proto>
1602		<return type="void"/>
1603		<param name="target" type="GLenum"/>
1604		<param name="framebuffer" type="GLuint"/>
1605	</proto>
1606</template>
1607
1608<template name="DeleteFramebuffers">
1609	<proto>
1610		<return type="void"/>
1611		<param name="n" type="GLsizei"/>
1612		<param name="framebuffers" type="const GLuint *"/>
1613	</proto>
1614</template>
1615
1616<template name="GenFramebuffers">
1617	<proto>
1618		<return type="void"/>
1619		<param name="n" type="GLsizei"/>
1620		<param name="ids" type="GLuint *"/>
1621	</proto>
1622</template>
1623
1624<template name="BindRenderbuffer">
1625	<proto>
1626		<return type="void"/>
1627		<param name="target" type="GLenum"/>
1628		<param name="renderbuffer" type="GLuint"/>
1629	</proto>
1630</template>
1631
1632<template name="DeleteRenderbuffers">
1633	<proto>
1634		<return type="void"/>
1635		<param name="n" type="GLsizei"/>
1636		<param name="renderbuffers" type="const GLuint *"/>
1637	</proto>
1638</template>
1639
1640<template name="GenRenderbuffers">
1641	<proto>
1642		<return type="void"/>
1643		<param name="n" type="GLsizei"/>
1644		<param name="renderbuffers" type="GLuint *"/>
1645	</proto>
1646</template>
1647
1648<template name="RenderbufferStorage">
1649	<proto>
1650		<return type="void"/>
1651		<param name="target" type="GLenum"/>
1652		<param name="internalFormat" type="GLenum"/>
1653		<param name="width" type="GLsizei"/>
1654		<param name="height" type="GLsizei"/>
1655	</proto>
1656</template>
1657
1658<template name="FramebufferRenderbuffer">
1659	<proto>
1660		<return type="void"/>
1661		<param name="target" type="GLenum"/>
1662		<param name="attachment" type="GLenum"/>
1663		<param name="renderbuffertarget" type="GLenum"/>
1664		<param name="renderbuffer" type="GLuint"/>
1665	</proto>
1666</template>
1667
1668<template name="FramebufferTexture2D">
1669	<proto>
1670		<return type="void"/>
1671		<param name="target" type="GLenum"/>
1672		<param name="attachment" type="GLenum"/>
1673		<param name="textarget" type="GLenum"/>
1674		<param name="texture" type="GLuint"/>
1675		<param name="level" type="GLint"/>
1676	</proto>
1677	<!-- According to the base specification, "level" must be 0.  But
1678	     extension GL_OES_fbo_render_mipmap lifts that restriction,
1679	     so no restriction is placed here. -->
1680</template>
1681
1682<template name="FramebufferTexture3D">
1683	<proto>
1684		<return type="void"/>
1685		<param name="target" type="GLenum"/>
1686		<param name="attachment" type="GLenum"/>
1687		<param name="textarget" type="GLenum"/>
1688		<param name="texture" type="GLuint"/>
1689		<param name="level" type="GLint"/>
1690		<param name="zoffset" type="GLint"/>
1691	</proto>
1692</template>
1693
1694<template name="CheckFramebufferStatus" direction="get">
1695	<proto>
1696		<return type="GLenum"/>
1697		<param name="target" type="GLenum"/>
1698	</proto>
1699</template>
1700
1701<template name="GetFramebufferAttachmentParameter" direction="get">
1702	<proto>
1703		<return type="void"/>
1704		<param name="target" type="GLenum"/>
1705		<param name="attachment" type="GLenum"/>
1706		<param name="pname" type="GLenum"/>
1707		<vector name="params" type="GLtype *" size="dynamic"/>
1708	</proto>
1709</template>
1710
1711<template name="GetRenderbufferParameter" direction="get">
1712	<proto>
1713		<return type="void"/>
1714		<param name="target" type="GLenum"/>
1715		<param name="pname" type="GLenum"/>
1716		<vector name="params" type="GLtype *" size="dynamic"/>
1717	</proto>
1718</template>
1719
1720<template name="IsRenderbuffer" direction="get">
1721	<proto>
1722		<return type="GLboolean"/>
1723		<param name="renderbuffer" type="GLuint"/>
1724	</proto>
1725</template>
1726
1727<template name="IsFramebuffer" direction="get">
1728	<proto>
1729		<return type="GLboolean"/>
1730		<param name="framebuffer" type="GLuint"/>
1731	</proto>
1732</template>
1733
1734<template name="IsShader" direction="get">
1735	<proto>
1736		<return type="GLboolean"/>
1737		<param name="shader" type="GLuint"/>
1738	</proto>
1739</template>
1740
1741<template name="GetShader" direction="get">
1742	<proto>
1743		<return type="void"/>
1744		<param name="shader" type="GLuint"/>
1745		<param name="pname" type="GLenum"/>
1746		<vector name="params" type="GLtype *" size="dynamic"/>
1747	</proto>
1748</template>
1749
1750<template name="GetAttachedShaders" direction="get">
1751	<proto>
1752		<return type="void"/>
1753		<param name="program" type="GLuint"/>
1754		<param name="maxCount" type="GLsizei"/>
1755		<param name="count" type="GLsizei *"/>
1756		<param name="shaders" type="GLuint *"/>
1757	</proto>
1758</template>
1759
1760<template name="GetShaderInfoLog" direction="get">
1761	<proto>
1762		<return type="void"/>
1763		<param name="shader" type="GLuint"/>
1764		<param name="bufSize" type="GLsizei"/>
1765		<param name="length" type="GLsizei *"/>
1766		<param name="infoLog" type="GLchar *"/>
1767	</proto>
1768</template>
1769
1770<template name="GetProgramInfoLog" direction="get">
1771	<proto>
1772		<return type="void"/>
1773		<param name="program" type="GLuint"/>
1774		<param name="bufSize" type="GLsizei"/>
1775		<param name="length" type="GLsizei *"/>
1776		<param name="infoLog" type="GLchar *"/>
1777	</proto>
1778</template>
1779
1780<template name="GetShaderSource" direction="get">
1781	<proto>
1782		<return type="void"/>
1783		<param name="shader" type="GLuint"/>
1784		<param name="bufSize" type="GLsizei"/>
1785		<param name="length" type="GLsizei *"/>
1786		<param name="source" type="GLchar *"/>
1787	</proto>
1788</template>
1789
1790<template name="GetShaderPrecisionFormat" direction="get">
1791	<proto>
1792		<return type="void"/>
1793		<param name="shadertype" type="GLenum"/>
1794		<param name="precisiontype" type="GLenum"/>
1795		<param name="range" type="GLint *"/>
1796		<param name="precision" type="GLint *"/>
1797	</proto>
1798</template>
1799
1800<template name="GetUniform" direction="get">
1801	<proto>
1802		<return type="void"/>
1803		<param name="program" type="GLuint"/>
1804		<param name="location" type="GLint"/>
1805		<vector name="params" type="GLtype *" size="dynamic"/>
1806	</proto>
1807</template>
1808
1809<template name="QueryMatrix" direction="get">
1810	<proto>
1811		<return type="GLbitfield"/>
1812		<vector name="mantissa" type="GLtype *" size="16"/>
1813		<vector name="exponent" type="GLint *" size="16"/>
1814	</proto>
1815</template>
1816
1817<template name="DrawTex">
1818	<proto>
1819		<return type="void"/>
1820		<vector name="coords" type="const GLtype *" size="5">
1821			<param name="x" type="GLtype"/>
1822			<param name="y" type="GLtype"/>
1823			<param name="z" type="GLtype"/>
1824			<param name="w" type="GLtype"/>
1825			<param name="h" type="GLtype"/>
1826		</vector>
1827	</proto>
1828</template>
1829
1830<template name="MultiDrawArrays">
1831	<proto>
1832		<return type="void"/>
1833		<param name="mode" type="GLenum"/>
1834		<param name="first" type="const GLint *"/>
1835		<param name="count" type="const GLsizei *"/>
1836		<param name="primcount" type="GLsizei"/>
1837	</proto>
1838</template>
1839
1840<template name="MultiDrawElements">
1841	<proto>
1842		<return type="void"/>
1843		<param name="mode" type="GLenum"/>
1844		<param name="count" type="const GLsizei *"/>
1845		<param name="type" type="GLenum"/>
1846		<param name="indices" type="const GLvoid **"/>
1847		<param name="primcount" type="GLsizei"/>
1848	</proto>
1849</template>
1850
1851<template name="EGLImageTargetTexture2D">
1852	<proto>
1853		<return type="void"/>
1854		<param name="target" type="GLenum"/>
1855		<param name="image" type="GLeglImageOES"/>
1856	</proto>
1857</template>
1858
1859<template name="EGLImageTargetRenderbufferStorage">
1860	<proto>
1861		<return type="void"/>
1862		<param name="target" type="GLenum"/>
1863		<param name="image" type="GLeglImageOES"/>
1864	</proto>
1865</template>
1866
1867<template name="DrawBuffers">
1868	<proto>
1869		<return type="void"/>
1870		<param name="n" type="GLsizei"/>
1871		<param name="bufs" type="const GLenum *"/>
1872	</proto>
1873</template>
1874
1875<template name="ReadBuffer">
1876	<proto>
1877		<return type="void"/>
1878		<param name="mode" type="GLenum"/>
1879	</proto>
1880</template>
1881
1882<api name="mesa" implementation="true">
1883	<category name="MESA"/>
1884
1885	<function name="Color4f"  default_prefix="_es_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
1886	<function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/>
1887	<function name="CullFace" template="CullFace"/>
1888
1889	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
1890	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
1891
1892	<function name="FrontFace" template="FrontFace"/>
1893	<function name="Hint" template="Hint"/>
1894
1895	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
1896	<function name="Lightfv" template="Light" gltype="GLfloat"/>
1897
1898	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
1899	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
1900
1901	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
1902
1903	<function name="Materialf" default_prefix="_es_" template="Material" gltype="GLfloat" expand_vector="true"/>
1904	<function name="Materialfv" default_prefix="_es_" template="Material" gltype="GLfloat"/>
1905
1906	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
1907	<function name="PointSizePointer" template="PointSizePointer"/>
1908
1909	<function name="Scissor" template="Scissor"/>
1910	<function name="ShadeModel" template="ShadeModel"/>
1911
1912	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
1913	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
1914	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
1915	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
1916
1917	<function name="TexImage2D" template="TexImage2D"/>
1918
1919	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
1920	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
1921	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
1922	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
1923
1924	<function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/>
1925	<function name="TexGenfv" template="TexGen" gltype="GLfloat"/>
1926
1927	<function name="Clear" template="Clear"/>
1928	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
1929	<function name="ClearStencil" template="ClearStencil"/>
1930	<function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/>
1931	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
1932
1933	<function name="StencilMask" template="StencilMask"/>
1934	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
1935	<function name="ColorMask" template="ColorMask"/>
1936	<function name="DepthMask" template="DepthMask"/>
1937	<function name="Disable" template="Disable"/>
1938	<function name="Enable" template="Enable"/>
1939	<function name="Finish" template="Finish"/>
1940	<function name="Flush" template="Flush"/>
1941
1942	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
1943
1944	<function name="BlendFunc" template="BlendFunc"/>
1945	<function name="LogicOp" template="LogicOp"/>
1946	<function name="StencilFunc" template="StencilFunc"/>
1947	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
1948	<function name="StencilOp" template="StencilOp"/>
1949	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
1950	<function name="DepthFunc" template="DepthFunc"/>
1951	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
1952
1953	<function name="ReadPixels" template="ReadPixels"/>
1954	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
1955	<function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/>
1956	<function name="GetError" template="GetError"/>
1957	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
1958	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
1959	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
1960
1961	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
1962	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
1963	<function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/>
1964
1965	<function name="GetString" template="GetString"/>
1966
1967	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
1968	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
1969	<function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/>
1970	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
1971	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
1972
1973	<function name="IsEnabled" template="IsEnabled"/>
1974
1975	<function name="DepthRange" template="DepthRange" gltype="GLclampd"/>
1976	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
1977	<function name="Frustum" template="Frustum" gltype="GLdouble"/>
1978
1979	<function name="LoadIdentity" template="LoadIdentity"/>
1980	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
1981	<function name="MatrixMode" template="MatrixMode"/>
1982
1983	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
1984	<function name="Ortho" template="Ortho" gltype="GLdouble"/>
1985	<function name="PopMatrix" template="PopMatrix"/>
1986	<function name="PushMatrix" template="PushMatrix"/>
1987
1988	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
1989	<function name="Scalef" template="Scale" gltype="GLfloat"/>
1990	<function name="Translatef" template="Translate" gltype="GLfloat"/>
1991
1992	<function name="Viewport" template="Viewport"/>
1993
1994	<function name="ColorPointer" template="ColorPointer"/>
1995	<function name="DisableClientState" template="DisableClientState"/>
1996	<function name="DrawArrays" template="DrawArrays"/>
1997	<function name="DrawElements" template="DrawElements"/>
1998	<function name="EnableClientState" template="EnableClientState"/>
1999
2000	<function name="GetPointerv" template="GetPointer"/>
2001	<function name="Normal3f" default_prefix="_es_" template="Normal" gltype="GLfloat" expand_vector="true"/>
2002	<function name="NormalPointer" template="NormalPointer"/>
2003	<function name="TexCoordPointer" template="TexCoordPointer"/>
2004	<function name="VertexPointer" template="VertexPointer"/>
2005
2006	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
2007	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
2008	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
2009	<function name="TexSubImage2D" template="TexSubImage2D"/>
2010
2011	<function name="BindTexture" template="BindTexture"/>
2012	<function name="DeleteTextures" template="DeleteTextures"/>
2013	<function name="GenTextures" template="GenTextures"/>
2014	<function name="IsTexture" template="IsTexture"/>
2015
2016	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
2017	<function name="BlendEquation" template="BlendEquation"/>
2018	<function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/>
2019
2020	<function name="TexImage3D" template="TexImage3D"/>
2021	<function name="TexSubImage3D" template="TexSubImage3D"/>
2022	<function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/>
2023
2024	<function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/>
2025	<function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/>
2026
2027	<function name="ActiveTextureARB" template="ActiveTexture"/>
2028	<function name="ClientActiveTextureARB" template="ClientActiveTexture"/>
2029
2030	<function name="MultiTexCoord4f" default_prefix="_es_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2031
2032	<function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/>
2033
2034	<function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/>
2035	<function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/>
2036
2037	<function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/>
2038
2039	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
2040	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
2041
2042	<function name="VertexAttrib1f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2043	<function name="VertexAttrib2f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2044	<function name="VertexAttrib3f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2045	<function name="VertexAttrib4f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2046	<function name="VertexAttrib1fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
2047	<function name="VertexAttrib2fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
2048	<function name="VertexAttrib3fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
2049	<function name="VertexAttrib4fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
2050
2051	<function name="VertexAttribPointerARB" template="VertexAttribPointer"/>
2052	<function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/>
2053	<function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/>
2054
2055	<function name="IsProgram" template="IsProgram"/>
2056	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
2057
2058	<function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/>
2059	<function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/>
2060	<function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/>
2061
2062	<function name="GetBufferPointervARB" template="GetBufferPointer"/>
2063	<function name="MapBufferARB" template="MapBuffer"/>
2064	<function name="UnmapBufferARB" template="UnmapBuffer"/>
2065	<function name="BindBufferARB" template="BindBuffer"/>
2066	<function name="BufferDataARB" template="BufferData"/>
2067	<function name="BufferSubDataARB" template="BufferSubData"/>
2068	<function name="DeleteBuffersARB" template="DeleteBuffers"/>
2069	<function name="GenBuffersARB" template="GenBuffers"/>
2070	<function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/>
2071	<function name="IsBufferARB" template="IsBuffer"/>
2072
2073	<function name="CreateShader" template="CreateShader"/>
2074	<function name="ShaderSourceARB" template="ShaderSource"/>
2075	<function name="CompileShaderARB" template="CompileShader"/>
2076	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
2077	<function name="DeleteShader" template="DeleteShader"/>
2078	<function name="ShaderBinary" template="ShaderBinary"/>
2079	<function name="CreateProgram" template="CreateProgram"/>
2080	<function name="AttachShader" template="AttachShader"/>
2081	<function name="DetachShader" template="DetachShader"/>
2082	<function name="LinkProgramARB" template="LinkProgram"/>
2083	<function name="UseProgramObjectARB" template="UseProgram"/>
2084	<function name="DeleteProgram" template="DeleteProgram"/>
2085
2086	<function name="GetActiveAttribARB" template="GetActiveAttrib"/>
2087	<function name="GetAttribLocationARB" template="GetAttribLocation"/>
2088	<function name="BindAttribLocationARB" template="BindAttribLocation"/>
2089	<function name="GetUniformLocationARB" template="GetUniformLocation"/>
2090	<function name="GetActiveUniformARB" template="GetActiveUniform"/>
2091
2092	<function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2093	<function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2094	<function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2095	<function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2096	<function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
2097	<function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
2098	<function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
2099	<function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
2100	<function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/>
2101	<function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/>
2102	<function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/>
2103	<function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/>
2104	<function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/>
2105	<function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/>
2106	<function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/>
2107	<function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/>
2108
2109	<function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
2110	<function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
2111	<function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
2112
2113	<function name="ValidateProgramARB" template="ValidateProgram"/>
2114
2115	<function name="GenerateMipmapEXT" template="GenerateMipmap"/>
2116	<function name="BindFramebufferEXT" template="BindFramebuffer"/>
2117	<function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/>
2118	<function name="GenFramebuffersEXT" template="GenFramebuffers"/>
2119	<function name="BindRenderbufferEXT" template="BindRenderbuffer"/>
2120	<function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/>
2121	<function name="GenRenderbuffersEXT" template="GenRenderbuffers"/>
2122	<function name="RenderbufferStorageEXT" template="RenderbufferStorage"/>
2123	<function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/>
2124	<function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/>
2125	<function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/>
2126	<function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/>
2127	<function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
2128	<function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/>
2129	<function name="IsRenderbufferEXT" template="IsRenderbuffer"/>
2130	<function name="IsFramebufferEXT" template="IsFramebuffer"/>
2131
2132	<function name="IsShader" template="IsShader"/>
2133	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
2134	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
2135	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
2136	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
2137	<function name="GetShaderSourceARB" template="GetShaderSource"/>
2138	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
2139	<function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/>
2140	<function name="GetUniformivARB" template="GetUniform" gltype="GLint"/>
2141
2142	<function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
2143	<function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/>
2144	<function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/>
2145	<function name="DrawTexiv" template="DrawTex" gltype="GLint"/>
2146	<function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/>
2147	<function name="DrawTexsv" template="DrawTex" gltype="GLshort"/>
2148
2149        <!-- EXT_multi_draw_arrays -->
2150        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
2151        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
2152
2153        <!-- OES_EGL_image -->
2154        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
2155        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
2156
2157	<function name="DrawBuffersARB" template="DrawBuffers"/>
2158
2159	<function name="ReadBuffer" template="ReadBuffer"/>
2160
2161</api>
2162
2163<api name="GLES1.1">
2164	<category name="GLES1.1"/>
2165
2166	<category name="OES_byte_coordinates"/>
2167	<category name="OES_fixed_point"/>
2168	<category name="OES_single_precision"/>
2169	<category name="OES_matrix_get"/>
2170	<category name="OES_read_format"/>
2171	<category name="OES_compressed_paletted_texture"/>
2172	<category name="OES_compressed_ETC1_RGB8_texture"/>
2173	<category name="OES_point_size_array"/>
2174	<category name="OES_point_sprite"/>
2175	<category name="OES_query_matrix"/>
2176	<category name="OES_draw_texture"/>
2177	<category name="OES_blend_equation_separate"/>
2178	<category name="OES_blend_func_separate"/>
2179	<category name="OES_blend_subtract"/>
2180	<category name="OES_stencil_wrap"/>
2181	<category name="OES_texture_cube_map"/>
2182	<category name="OES_texture_env_crossbar"/>
2183	<category name="OES_texture_mirrored_repeat"/>
2184	<category name="OES_framebuffer_object"/>
2185	<category name="OES_depth24"/>
2186	<category name="OES_depth32"/>
2187	<category name="OES_fbo_render_mipmap"/>
2188	<category name="OES_rgb8_rgba8"/>
2189	<category name="OES_stencil1"/>
2190	<category name="OES_stencil4"/>
2191	<category name="OES_stencil8"/>
2192	<category name="OES_element_index_uint"/>
2193	<category name="OES_mapbuffer"/>
2194	<category name="EXT_texture_filter_anisotropic"/>
2195	<category name="EXT_texture_format_BGRA8888"/>
2196	<category name="EXT_read_format_bgra"/>
2197
2198	<category name="ARB_texture_non_power_of_two"/>
2199	<!-- disabled due to missing enums
2200	<category name="EXT_texture_compression_dxt1"/>
2201	-->
2202	<category name="EXT_texture_lod_bias"/>
2203	<category name="EXT_blend_minmax"/>
2204	<category name="EXT_multi_draw_arrays"/>
2205	<category name="OES_EGL_image"/>
2206	<category name="OES_EGL_image_external"/>
2207
2208	<category name="OES_matrix_palette"/>
2209
2210	<function name="Color4f" external="true" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2211	<function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/>
2212	<function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/>
2213
2214	<function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/>
2215	<function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/>
2216
2217	<function name="CullFace" template="CullFace"/>
2218
2219	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
2220	<function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/>
2221	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
2222	<function name="Fogxv" template="Fog" gltype="GLfixed"/>
2223
2224	<function name="FrontFace" template="FrontFace"/>
2225	<function name="Hint" template="Hint"/>
2226
2227	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
2228	<function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/>
2229	<function name="Lightfv" template="Light" gltype="GLfloat"/>
2230	<function name="Lightxv" template="Light" gltype="GLfixed"/>
2231
2232	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
2233	<function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/>
2234	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
2235	<function name="LightModelxv" template="LightModel" gltype="GLfixed"/>
2236
2237	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
2238	<function name="LineWidthx" template="LineWidth" gltype="GLfixed"/>
2239
2240	<function name="Materialf" external="true" template="Material" gltype="GLfloat" expand_vector="true"/>
2241	<function name="Materialfv" external="true" template="Material" gltype="GLfloat"/>
2242	<function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/>
2243	<function name="Materialxv" template="Material" gltype="GLfixed"/>
2244
2245	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
2246	<function name="PointSizex" template="PointSize" gltype="GLfixed"/>
2247	<function name="PointSizePointerOES" template="PointSizePointer"/>
2248
2249	<function name="Scissor" template="Scissor"/>
2250	<function name="ShadeModel" template="ShadeModel"/>
2251
2252	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
2253	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
2254	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
2255	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
2256	<function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/>
2257	<function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/>
2258
2259	<function name="TexImage2D" template="TexImage2D"/>
2260
2261	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
2262	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
2263	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
2264	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
2265	<function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/>
2266	<function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/>
2267
2268	<function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/>
2269	<function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/>
2270	<function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/>
2271	<function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/>
2272	<function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/>
2273	<function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/>
2274
2275	<function name="Clear" template="Clear"/>
2276	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
2277	<function name="ClearColorx" template="ClearColor" gltype="GLclampx"/>
2278
2279	<function name="ClearStencil" template="ClearStencil"/>
2280	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
2281	<function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/>
2282
2283	<function name="StencilMask" template="StencilMask"/>
2284	<function name="ColorMask" template="ColorMask"/>
2285	<function name="DepthMask" template="DepthMask"/>
2286
2287	<function name="Disable" template="Disable"/>
2288	<function name="Enable" template="Enable"/>
2289	<function name="Finish" template="Finish"/>
2290	<function name="Flush" template="Flush"/>
2291
2292	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
2293	<function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/>
2294
2295	<function name="BlendFunc" template="BlendFunc"/>
2296	<function name="LogicOp" template="LogicOp"/>
2297	<function name="StencilFunc" template="StencilFunc"/>
2298
2299	<function name="StencilOp" template="StencilOp"/>
2300	<function name="DepthFunc" template="DepthFunc"/>
2301
2302	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
2303	<function name="ReadPixels" template="ReadPixels"/>
2304
2305	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
2306
2307	<function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
2308	<function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
2309
2310	<function name="GetError" template="GetError"/>
2311	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
2312	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
2313	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
2314
2315	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
2316	<function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
2317
2318	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
2319	<function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/>
2320
2321	<function name="GetString" template="GetString"/>
2322
2323	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
2324	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
2325	<function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/>
2326
2327	<function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/>
2328	<function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/>
2329	<function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/>
2330
2331	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
2332	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
2333	<function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/>
2334
2335	<function name="IsEnabled" template="IsEnabled"/>
2336
2337	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
2338	<function name="DepthRangex" template="DepthRange" gltype="GLclampx"/>
2339
2340	<function name="Frustumf" template="Frustum" gltype="GLfloat"/>
2341	<function name="Frustumx" template="Frustum" gltype="GLfixed"/>
2342
2343	<function name="LoadIdentity" template="LoadIdentity"/>
2344	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
2345	<function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/>
2346	<function name="MatrixMode" template="MatrixMode"/>
2347
2348	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
2349	<function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/>
2350	<function name="Orthof" template="Ortho" gltype="GLfloat"/>
2351	<function name="Orthox" template="Ortho" gltype="GLfixed"/>
2352
2353	<function name="PopMatrix" template="PopMatrix"/>
2354	<function name="PushMatrix" template="PushMatrix"/>
2355
2356	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
2357	<function name="Rotatex" template="Rotate" gltype="GLfixed"/>
2358	<function name="Scalef" template="Scale" gltype="GLfloat"/>
2359	<function name="Scalex" template="Scale" gltype="GLfixed"/>
2360	<function name="Translatef" template="Translate" gltype="GLfloat"/>
2361	<function name="Translatex" template="Translate" gltype="GLfixed"/>
2362
2363	<function name="Viewport" template="Viewport"/>
2364	<function name="ColorPointer" template="ColorPointer"/>
2365	<function name="DisableClientState" template="DisableClientState"/>
2366	<function name="DrawArrays" template="DrawArrays"/>
2367	<function name="DrawElements" template="DrawElements"/>
2368	<function name="EnableClientState" template="EnableClientState"/>
2369
2370	<function name="GetPointerv" template="GetPointer"/>
2371
2372	<function name="Normal3f" external="true" template="Normal" gltype="GLfloat" expand_vector="true"/>
2373	<function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/>
2374	<function name="NormalPointer" template="NormalPointer"/>
2375	<function name="TexCoordPointer" template="TexCoordPointer"/>
2376	<function name="VertexPointer" template="VertexPointer"/>
2377
2378	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
2379	<function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/>
2380
2381	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
2382	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
2383
2384	<function name="TexSubImage2D" template="TexSubImage2D"/>
2385
2386	<function name="BindTexture" template="BindTexture"/>
2387	<function name="DeleteTextures" template="DeleteTextures"/>
2388	<function name="GenTextures" template="GenTextures"/>
2389	<function name="IsTexture" template="IsTexture"/>
2390
2391	<function name="BlendEquationOES" template="BlendEquation"/>
2392	<function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/>
2393
2394	<function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/>
2395
2396	<function name="ActiveTexture" template="ActiveTexture"/>
2397	<function name="ClientActiveTexture" template="ClientActiveTexture"/>
2398
2399	<function name="MultiTexCoord4f" external="true" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2400
2401	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
2402	<function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/>
2403
2404	<!-- CompressedTexImage2D calls out to two different functions based on
2405	     whether the image is a paletted image or not -->
2406	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
2407	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
2408
2409	<function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/>
2410
2411	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
2412	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
2413	<function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/>
2414	<function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/>
2415
2416	<!-- OES_mapbuffer -->
2417	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
2418	<function name="MapBufferOES" template="MapBuffer"/>
2419	<function name="UnmapBufferOES" template="UnmapBuffer"/>
2420
2421	<function name="BindBuffer" template="BindBuffer"/>
2422	<function name="BufferData" template="BufferData"/>
2423	<function name="BufferSubData" template="BufferSubData"/>
2424	<function name="DeleteBuffers" template="DeleteBuffers"/>
2425	<function name="GenBuffers" template="GenBuffers"/>
2426	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
2427	<function name="IsBuffer" template="IsBuffer"/>
2428
2429	<!-- OES_framebuffer_object -->
2430	<function name="GenerateMipmapOES" template="GenerateMipmap"/>
2431	<function name="BindFramebufferOES" template="BindFramebuffer"/>
2432	<function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/>
2433	<function name="GenFramebuffersOES" template="GenFramebuffers"/>
2434	<function name="BindRenderbufferOES" template="BindRenderbuffer"/>
2435	<function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
2436	<function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
2437	<function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
2438	<function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
2439	<function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
2440	<function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
2441	<function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
2442	<function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/>
2443	<function name="IsRenderbufferOES" template="IsRenderbuffer"/>
2444	<function name="IsFramebufferOES" template="IsFramebuffer"/>
2445
2446	<!-- OES_query_matrix -->
2447	<!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value
2448	     form; it has its own code for this -->
2449	<function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/>
2450
2451	<!-- OES_draw_texture -->
2452	<function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
2453	<function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/>
2454	<function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/>
2455	<function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/>
2456	<function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/>
2457	<function name="DrawTexivOES" template="DrawTex" gltype="GLint"/>
2458	<function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/>
2459	<function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/>
2460
2461        <!-- EXT_multi_draw_arrays -->
2462        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
2463        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
2464
2465        <!-- OES_EGL_image -->
2466        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
2467        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
2468</api>
2469
2470<api name="GLES2.0">
2471	<category name="GLES2.0"/>
2472
2473	<category name="OES_compressed_paletted_texture"/>
2474	<category name="OES_compressed_ETC1_RGB8_texture"/>
2475	<category name="OES_depth24"/>
2476	<category name="OES_depth32"/>
2477	<category name="OES_fbo_render_mipmap"/>
2478	<category name="OES_rgb8_rgba8"/>
2479	<category name="OES_stencil1"/>
2480	<category name="OES_stencil4"/>
2481	<category name="OES_element_index_uint"/>
2482	<category name="OES_mapbuffer"/>
2483	<category name="OES_texture_3D"/>
2484	<category name="OES_texture_npot"/>
2485	<category name="EXT_texture_filter_anisotropic"/>
2486	<category name="EXT_texture_type_2_10_10_10_REV"/>
2487	<category name="OES_depth_texture"/>
2488	<category name="OES_packed_depth_stencil"/>
2489	<category name="OES_standard_derivatives"/>
2490	<category name="EXT_texture_format_BGRA8888"/>
2491	<category name="EXT_texture_rg"/>
2492	<category name="EXT_read_format_bgra"/>
2493
2494	<category name="EXT_texture_compression_dxt1"/>
2495	<category name="EXT_blend_minmax"/>
2496	<category name="EXT_multi_draw_arrays"/>
2497	<category name="OES_EGL_image"/>
2498	<category name="OES_EGL_image_external"/>
2499        <category name="EXT_unpack_subimage"/>
2500
2501	<category name="NV_draw_buffers"/>
2502	<category name="NV_read_buffer"/>
2503
2504	<function name="DrawBuffersNV" template="DrawBuffers"/>
2505	<function name="ReadBufferNV" template="ReadBuffer"/> 
2506
2507	<function name="CullFace" template="CullFace"/>
2508
2509	<function name="FrontFace" template="FrontFace"/>
2510	<function name="Hint" template="Hint"/>
2511
2512	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
2513
2514	<function name="Scissor" template="Scissor"/>
2515
2516	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
2517	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
2518	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
2519	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
2520
2521	<function name="TexImage2D" template="TexImage2D"/>
2522
2523	<function name="Clear" template="Clear"/>
2524	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
2525	<function name="ClearStencil" template="ClearStencil"/>
2526	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
2527
2528	<function name="StencilMask" template="StencilMask"/>
2529	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
2530	<function name="ColorMask" template="ColorMask"/>
2531	<function name="DepthMask" template="DepthMask"/>
2532	<function name="Disable" template="Disable"/>
2533	<function name="Enable" template="Enable"/>
2534	<function name="Finish" template="Finish"/>
2535	<function name="Flush" template="Flush"/>
2536
2537	<function name="BlendFunc" template="BlendFunc"/>
2538
2539	<function name="StencilFunc" template="StencilFunc"/>
2540	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
2541	<function name="StencilOp" template="StencilOp"/>
2542	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
2543
2544	<function name="DepthFunc" template="DepthFunc"/>
2545
2546	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
2547	<function name="ReadPixels" template="ReadPixels"/>
2548
2549	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
2550	<function name="GetError" template="GetError"/>
2551	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
2552	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
2553
2554	<function name="GetString" template="GetString"/>
2555
2556	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
2557	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
2558
2559	<function name="IsEnabled" template="IsEnabled"/>
2560
2561	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
2562
2563	<function name="Viewport" template="Viewport"/>
2564
2565	<function name="DrawArrays" template="DrawArrays"/>
2566	<function name="DrawElements" template="DrawElements"/>
2567
2568	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
2569	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
2570	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
2571	<function name="TexSubImage2D" template="TexSubImage2D"/>
2572
2573	<function name="BindTexture" template="BindTexture"/>
2574	<function name="DeleteTextures" template="DeleteTextures"/>
2575	<function name="GenTextures" template="GenTextures"/>
2576	<function name="IsTexture" template="IsTexture"/>
2577
2578	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
2579	<function name="BlendEquation" template="BlendEquation"/>
2580	<function name="BlendEquationSeparate" template="BlendEquationSeparate"/>
2581
2582	<function name="TexImage3DOES" template="TexImage3D"/>
2583	<function name="TexSubImage3DOES" template="TexSubImage3D"/>
2584	<function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/>
2585
2586	<function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/>
2587	<function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/>
2588
2589	<function name="ActiveTexture" template="ActiveTexture"/>
2590
2591	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
2592
2593	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
2594	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
2595
2596	<function name="BlendFuncSeparate" template="BlendFuncSeparate"/>
2597
2598	<function name="VertexAttrib1f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2599	<function name="VertexAttrib2f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2600	<function name="VertexAttrib3f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2601	<function name="VertexAttrib4f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2602	<function name="VertexAttrib1fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
2603	<function name="VertexAttrib2fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
2604	<function name="VertexAttrib3fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
2605	<function name="VertexAttrib4fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
2606
2607	<function name="VertexAttribPointer" template="VertexAttribPointer"/>
2608
2609	<function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/>
2610	<function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/>
2611
2612	<function name="IsProgram" template="IsProgram"/>
2613	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
2614
2615	<function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/>
2616	<function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/>
2617	<function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/>
2618
2619	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
2620	<function name="MapBufferOES" template="MapBuffer"/>
2621	<function name="UnmapBufferOES" template="UnmapBuffer"/>
2622	<function name="BindBuffer" template="BindBuffer"/>
2623	<function name="BufferData" template="BufferData"/>
2624	<function name="BufferSubData" template="BufferSubData"/>
2625	<function name="DeleteBuffers" template="DeleteBuffers"/>
2626	<function name="GenBuffers" template="GenBuffers"/>
2627	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
2628	<function name="IsBuffer" template="IsBuffer"/>
2629
2630	<function name="CreateShader" template="CreateShader"/>
2631	<function name="ShaderSource" template="ShaderSource"/>
2632	<function name="CompileShader" template="CompileShader"/>
2633	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
2634	<function name="DeleteShader" template="DeleteShader"/>
2635	<function name="ShaderBinary" template="ShaderBinary"/>
2636	<function name="CreateProgram" template="CreateProgram"/>
2637	<function name="AttachShader" template="AttachShader"/>
2638	<function name="DetachShader" template="DetachShader"/>
2639	<function name="LinkProgram" template="LinkProgram"/>
2640	<function name="UseProgram" template="UseProgram"/>
2641	<function name="DeleteProgram" template="DeleteProgram"/>
2642
2643	<function name="GetActiveAttrib" template="GetActiveAttrib"/>
2644	<function name="GetAttribLocation" template="GetAttribLocation"/>
2645	<function name="BindAttribLocation" template="BindAttribLocation"/>
2646	<function name="GetUniformLocation" template="GetUniformLocation"/>
2647	<function name="GetActiveUniform" template="GetActiveUniform"/>
2648
2649	<function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2650	<function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2651	<function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2652	<function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2653	<function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
2654	<function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
2655	<function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
2656	<function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
2657
2658	<function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/>
2659	<function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/>
2660	<function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/>
2661	<function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/>
2662	<function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/>
2663	<function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/>
2664	<function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/>
2665	<function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/>
2666
2667	<function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
2668	<function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
2669	<function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
2670
2671	<function name="ValidateProgram" template="ValidateProgram"/>
2672
2673	<function name="GenerateMipmap" template="GenerateMipmap"/>
2674	<function name="BindFramebuffer" template="BindFramebuffer"/>
2675	<function name="DeleteFramebuffers" template="DeleteFramebuffers"/>
2676	<function name="GenFramebuffers" template="GenFramebuffers"/>
2677	<function name="BindRenderbuffer" template="BindRenderbuffer"/>
2678	<function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/>
2679	<function name="GenRenderbuffers" template="GenRenderbuffers"/>
2680	<function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/>
2681	<function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/>
2682	<function name="FramebufferTexture2D" template="FramebufferTexture2D"/>
2683	<function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/>
2684	<function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/>
2685	<function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
2686	<function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/>
2687	<function name="IsRenderbuffer" template="IsRenderbuffer"/>
2688	<function name="IsFramebuffer" template="IsFramebuffer"/>
2689
2690	<function name="IsShader" template="IsShader"/>
2691	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
2692	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
2693	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
2694	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
2695	<function name="GetShaderSource" template="GetShaderSource"/>
2696	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
2697	<function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/>
2698	<function name="GetUniformiv" template="GetUniform" gltype="GLint"/>
2699
2700        <!-- EXT_multi_draw_arrays -->
2701        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
2702        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
2703
2704        <!-- OES_EGL_image -->
2705        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
2706        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
2707</api>
2708
2709</apispec>
2710