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