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