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