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