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