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