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