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