APIspec.xml revision b3dd524a1082efd12d4a796122c300a61ba016d9
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
1178	<desc name="pname">
1179		<value name="GL_TEXTURE_WRAP_S"/>
1180		<value name="GL_TEXTURE_WRAP_T"/>
1181		<value name="GL_TEXTURE_WRAP_R_OES" category="OES_texture_3D"/>
1182		<value name="GL_TEXTURE_MIN_FILTER"/>
1183		<value name="GL_TEXTURE_MAG_FILTER"/>
1184		<value name="GL_GENERATE_MIPMAP" category="GLES1.1"/>
1185
1186		<desc name="params" vector_size="1" convert="false"/>
1187	</desc>
1188
1189	<desc name="pname" category="OES_draw_texture">
1190		<value name="GL_TEXTURE_CROP_RECT_OES"/>
1191		<desc name="params" vector_size="4"/>
1192	</desc>
1193</template>
1194
1195<template name="IsEnabled" direction="get">
1196	<proto>
1197		<return type="GLboolean"/>
1198		<param name="cap" type="GLenum"/>
1199	</proto>
1200
1201	<desc name="cap" category="GLES1.1">
1202		<value name="GL_NORMALIZE"/>
1203		<value name="GL_RESCALE_NORMAL"/>
1204
1205		<range base="GL_CLIP_PLANE" from="0" to="5"/>
1206		<value name="GL_CLIP_PLANE0+6"/>
1207		<value name="GL_CLIP_PLANE0+7"/>
1208
1209		<value name="GL_FOG"/>
1210		<value name="GL_LIGHTING"/>
1211		<value name="GL_COLOR_MATERIAL"/>
1212
1213		<range base="GL_LIGHT" from="0" to="7"/>
1214
1215		<value name="GL_POINT_SMOOTH"/>
1216		<value name="GL_LINE_SMOOTH"/>
1217		<value name="GL_CULL_FACE"/>
1218		<value name="GL_POLYGON_OFFSET_FILL"/>
1219		<value name="GL_MULTISAMPLE"/>
1220		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
1221		<value name="GL_SAMPLE_ALPHA_TO_ONE"/>
1222		<value name="GL_SAMPLE_COVERAGE"/>
1223		<value name="GL_TEXTURE_2D"/>
1224		<value name="GL_SCISSOR_TEST"/>
1225		<value name="GL_ALPHA_TEST"/>
1226		<value name="GL_STENCIL_TEST"/>
1227		<value name="GL_DEPTH_TEST"/>
1228		<value name="GL_BLEND"/>
1229		<value name="GL_DITHER"/>
1230		<value name="GL_COLOR_LOGIC_OP"/>
1231
1232		<value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
1233		<value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
1234		<value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
1235
1236		<value name="GL_VERTEX_ARRAY"/>
1237		<value name="GL_NORMAL_ARRAY"/>
1238		<value name="GL_COLOR_ARRAY"/>
1239		<value name="GL_TEXTURE_COORD_ARRAY"/>
1240		<value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1241		<value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1242		<value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1243		<value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
1244	</desc>
1245
1246	<desc name="cap" category="GLES2.0">
1247		<value name="GL_CULL_FACE"/>
1248		<value name="GL_SCISSOR_TEST"/>
1249		<value name="GL_POLYGON_OFFSET_FILL"/>
1250		<value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
1251		<value name="GL_SAMPLE_COVERAGE"/>
1252		<value name="GL_STENCIL_TEST"/>
1253		<value name="GL_DEPTH_TEST"/>
1254		<value name="GL_DITHER"/>
1255		<value name="GL_BLEND"/>
1256	</desc>
1257</template>
1258
1259<template name="DepthRange">
1260	<proto>
1261		<return type="void"/>
1262		<param name="zNear" type="GLtype"/>
1263		<param name="zFar" type="GLtype"/>
1264	</proto>
1265</template>
1266
1267<template name="Frustum">
1268	<proto>
1269		<return type="void"/>
1270		<param name="left" type="GLtype"/>
1271		<param name="right" type="GLtype"/>
1272		<param name="bottom" type="GLtype"/>
1273		<param name="top" type="GLtype"/>
1274		<param name="zNear" type="GLtype"/>
1275		<param name="zFar" type="GLtype"/>
1276	</proto>
1277</template>
1278
1279<template name="LoadIdentity">
1280	<proto>
1281		<return type="void"/>
1282	</proto>
1283</template>
1284
1285<template name="LoadMatrix">
1286	<proto>
1287		<return type="void"/>
1288		<vector name="m" type="const GLtype *" size="16"/>
1289	</proto>
1290</template>
1291
1292<template name="MatrixMode">
1293	<proto>
1294		<return type="void"/>
1295		<param name="mode" type="GLenum"/>
1296	</proto>
1297
1298	<desc name="mode">
1299		<value name="GL_MODELVIEW"/>
1300		<value name="GL_PROJECTION"/>
1301		<value name="GL_TEXTURE"/>
1302		<value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
1303	</desc>
1304</template>
1305
1306<template name="MultMatrix">
1307	<proto>
1308		<return type="void"/>
1309		<vector name="m" type="const GLtype *" size="16"/>
1310	</proto>
1311</template>
1312
1313<template name="Ortho">
1314	<proto>
1315		<return type="void"/>
1316		<param name="left" type="GLtype"/>
1317		<param name="right" type="GLtype"/>
1318		<param name="bottom" type="GLtype"/>
1319		<param name="top" type="GLtype"/>
1320		<param name="zNear" type="GLtype"/>
1321		<param name="zFar" type="GLtype"/>
1322	</proto>
1323</template>
1324
1325<template name="PopMatrix">
1326	<proto>
1327		<return type="void"/>
1328	</proto>
1329</template>
1330
1331<template name="PushMatrix">
1332	<proto>
1333		<return type="void"/>
1334	</proto>
1335</template>
1336
1337<template name="Rotate">
1338	<proto>
1339		<return type="void"/>
1340		<param name="angle" type="GLtype"/>
1341		<param name="x" type="GLtype"/>
1342		<param name="y" type="GLtype"/>
1343		<param name="z" type="GLtype"/>
1344	</proto>
1345</template>
1346
1347<template name="Scale">
1348	<proto>
1349		<return type="void"/>
1350		<param name="x" type="GLtype"/>
1351		<param name="y" type="GLtype"/>
1352		<param name="z" type="GLtype"/>
1353	</proto>
1354</template>
1355
1356<template name="Translate">
1357	<proto>
1358		<return type="void"/>
1359		<param name="x" type="GLtype"/>
1360		<param name="y" type="GLtype"/>
1361		<param name="z" type="GLtype"/>
1362	</proto>
1363</template>
1364
1365<template name="Viewport">
1366	<proto>
1367		<return type="void"/>
1368		<param name="x" type="GLint"/>
1369		<param name="y" type="GLint"/>
1370		<param name="width" type="GLsizei"/>
1371		<param name="height" type="GLsizei"/>
1372	</proto>
1373</template>
1374
1375<template name="ColorPointer">
1376	<proto>
1377		<return type="void"/>
1378		<param name="size" type="GLint"/>
1379		<param name="type" type="GLenum"/>
1380		<param name="stride" type="GLsizei"/>
1381		<param name="pointer" type="const GLvoid *"/>
1382	</proto>
1383
1384	<desc name="size" error="GL_INVALID_VALUE">
1385		<value name="4"/>
1386	</desc>
1387
1388	<desc name="type">
1389		<value name="GL_UNSIGNED_BYTE"/>
1390		<value name="GL_FLOAT"/>
1391		<value name="GL_FIXED"/>
1392		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1393	</desc>
1394</template>
1395
1396<template name="DisableClientState">
1397	<proto>
1398		<return type="void"/>
1399		<param name="array" type="GLenum"/>
1400	</proto>
1401
1402	<desc name="array">
1403		<value name="GL_VERTEX_ARRAY"/>
1404		<value name="GL_NORMAL_ARRAY"/>
1405		<value name="GL_COLOR_ARRAY"/>
1406		<value name="GL_TEXTURE_COORD_ARRAY"/>
1407		<value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1408		<value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1409		<value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1410	</desc>
1411</template>
1412
1413<template name="DrawArrays">
1414	<proto>
1415		<return type="void"/>
1416		<param name="mode" type="GLenum"/>
1417		<param name="first" type="GLint"/>
1418		<param name="count" type="GLsizei"/>
1419	</proto>
1420
1421	<desc name="mode">
1422		<value name="GL_POINTS"/>
1423		<value name="GL_LINES"/>
1424		<value name="GL_LINE_LOOP"/>
1425		<value name="GL_LINE_STRIP"/>
1426		<value name="GL_TRIANGLES"/>
1427		<value name="GL_TRIANGLE_STRIP"/>
1428		<value name="GL_TRIANGLE_FAN"/>
1429	</desc>
1430</template>
1431
1432<template name="DrawElements">
1433	<proto>
1434		<return type="void"/>
1435		<param name="mode" type="GLenum"/>
1436		<param name="count" type="GLsizei"/>
1437		<param name="type" type="GLenum"/>
1438		<param name="indices" type="const GLvoid *"/>
1439	</proto>
1440
1441	<desc name="mode">
1442		<value name="GL_POINTS"/>
1443		<value name="GL_LINES"/>
1444		<value name="GL_LINE_LOOP"/>
1445		<value name="GL_LINE_STRIP"/>
1446		<value name="GL_TRIANGLES"/>
1447		<value name="GL_TRIANGLE_STRIP"/>
1448		<value name="GL_TRIANGLE_FAN"/>
1449	</desc>
1450</template>
1451
1452<template name="EnableClientState">
1453	<proto>
1454		<return type="void"/>
1455		<param name="array" type="GLenum"/>
1456	</proto>
1457
1458	<desc name="array">
1459		<value name="GL_VERTEX_ARRAY"/>
1460		<value name="GL_NORMAL_ARRAY"/>
1461		<value name="GL_COLOR_ARRAY"/>
1462		<value name="GL_TEXTURE_COORD_ARRAY"/>
1463		<value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1464		<value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1465		<value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1466	</desc>
1467</template>
1468
1469<template name="GetPointer" direction="get">
1470	<proto>
1471		<return type="void"/>
1472		<param name="pname" type="GLenum"/>
1473		<vector name="params" type="GLvoid **" size="dynamic"/>
1474	</proto>
1475
1476	<desc name="pname">
1477		<value name="GL_VERTEX_ARRAY_POINTER"/>
1478		<value name="GL_NORMAL_ARRAY_POINTER"/>
1479		<value name="GL_COLOR_ARRAY_POINTER"/>
1480		<value name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
1481		<value name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
1482		<value name="GL_WEIGHT_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
1483		<value name="GL_POINT_SIZE_ARRAY_POINTER_OES" category="OES_point_size_array"/>
1484	</desc>
1485</template>
1486
1487<template name="Normal">
1488	<proto>
1489		<return type="void"/>
1490		<vector name="v" type="const GLtype *" size="3">
1491			<param name="nx" type="GLtype"/>
1492			<param name="ny" type="GLtype"/>
1493			<param name="nz" type="GLtype"/>
1494		</vector>
1495	</proto>
1496</template>
1497
1498<template name="NormalPointer">
1499	<proto>
1500		<return type="void"/>
1501		<param name="type" type="GLenum"/>
1502		<param name="stride" type="GLsizei"/>
1503		<param name="pointer" type="const GLvoid *"/>
1504	</proto>
1505
1506	<desc name="type">
1507		<value name="GL_BYTE"/>
1508		<value name="GL_SHORT"/>
1509		<value name="GL_FLOAT"/>
1510		<value name="GL_FIXED"/>
1511		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1512	</desc>
1513</template>
1514
1515<template name="TexCoordPointer">
1516	<proto>
1517		<return type="void"/>
1518		<param name="size" type="GLint"/>
1519		<param name="type" type="GLenum"/>
1520		<param name="stride" type="GLsizei"/>
1521		<param name="pointer" type="const GLvoid *"/>
1522	</proto>
1523
1524	<desc name="size" error="GL_INVALID_VALUE">
1525		<value name="2"/>
1526		<value name="3"/>
1527		<value name="4"/>
1528	</desc>
1529
1530	<desc name="type">
1531		<value name="GL_BYTE"/>
1532		<value name="GL_SHORT"/>
1533		<value name="GL_FLOAT"/>
1534		<value name="GL_FIXED"/>
1535		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1536	</desc>
1537</template>
1538
1539<template name="VertexPointer">
1540	<proto>
1541		<return type="void"/>
1542		<param name="size" type="GLint"/>
1543		<param name="type" type="GLenum"/>
1544		<param name="stride" type="GLsizei"/>
1545		<param name="pointer" type="const GLvoid *"/>
1546	</proto>
1547
1548	<desc name="size" error="GL_INVALID_VALUE">
1549		<value name="2"/>
1550		<value name="3"/>
1551		<value name="4"/>
1552	</desc>
1553
1554	<desc name="type">
1555		<value name="GL_BYTE"/>
1556		<value name="GL_SHORT"/>
1557		<value name="GL_FLOAT"/>
1558		<value name="GL_FIXED"/>
1559		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
1560	</desc>
1561</template>
1562
1563<template name="PolygonOffset">
1564	<proto>
1565		<return type="void"/>
1566		<param name="factor" type="GLtype"/>
1567		<param name="units" type="GLtype"/>
1568	</proto>
1569</template>
1570
1571<template name="CopyTexImage2D">
1572	<proto>
1573		<return type="void"/>
1574		<param name="target" type="GLenum"/>
1575		<param name="level" type="GLint"/>
1576		<param name="internalFormat" type="GLenum"/>
1577		<param name="x" type="GLint"/>
1578		<param name="y" type="GLint"/>
1579		<param name="width" type="GLsizei"/>
1580		<param name="height" type="GLsizei"/>
1581		<param name="border" type="GLint"/>
1582	</proto>
1583
1584	<desc name="internalFormat" error="GL_INVALID_VALUE">
1585		<value name="GL_ALPHA"/>
1586		<value name="GL_RGB"/>
1587		<value name="GL_RGBA"/>
1588		<value name="GL_LUMINANCE"/>
1589		<value name="GL_LUMINANCE_ALPHA"/>
1590	</desc>
1591
1592	<desc name="border" error="GL_INVALID_VALUE">
1593		<value name="0"/>
1594	</desc>
1595</template>
1596
1597<template name="CopyTexSubImage2D">
1598	<proto>
1599		<return type="void"/>
1600		<param name="target" type="GLenum"/>
1601		<param name="level" type="GLint"/>
1602		<param name="xoffset" type="GLint"/>
1603		<param name="yoffset" type="GLint"/>
1604		<param name="x" type="GLint"/>
1605		<param name="y" type="GLint"/>
1606		<param name="width" type="GLsizei"/>
1607		<param name="height" type="GLsizei"/>
1608	</proto>
1609</template>
1610
1611<template name="TexSubImage2D">
1612	<proto>
1613		<return type="void"/>
1614		<param name="target" type="GLenum"/>
1615		<param name="level" type="GLint"/>
1616		<param name="xoffset" type="GLint"/>
1617		<param name="yoffset" type="GLint"/>
1618		<param name="width" type="GLsizei"/>
1619		<param name="height" type="GLsizei"/>
1620		<param name="format" type="GLenum"/>
1621		<param name="type" type="GLenum"/>
1622		<param name="pixels" type="const GLvoid *"/>
1623	</proto>
1624
1625	<desc name="format">
1626		<value name="GL_ALPHA"/>
1627
1628		<desc name="type" error="GL_INVALID_OPERATION">
1629			<value name="GL_UNSIGNED_BYTE"/>
1630			<value name="GL_FLOAT" category="OES_texture_float"/>
1631			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1632		</desc>
1633	</desc>
1634
1635	<desc name="format">
1636		<value name="GL_RGB"/>
1637
1638		<desc name="type" error="GL_INVALID_OPERATION">
1639			<value name="GL_UNSIGNED_BYTE"/>
1640			<value name="GL_UNSIGNED_SHORT_5_6_5"/>
1641			<value name="GL_FLOAT" category="OES_texture_float"/>
1642			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1643		</desc>
1644	</desc>
1645
1646	<desc name="format">
1647		<value name="GL_RGBA"/>
1648
1649		<desc name="type" error="GL_INVALID_OPERATION">
1650			<value name="GL_UNSIGNED_BYTE"/>
1651			<value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
1652			<value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
1653			<value name="GL_FLOAT" category="OES_texture_float"/>
1654			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1655			<value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
1656		</desc>
1657	</desc>
1658
1659	<desc name="format">
1660		<value name="GL_LUMINANCE"/>
1661
1662		<desc name="type" error="GL_INVALID_OPERATION">
1663			<value name="GL_UNSIGNED_BYTE"/>
1664			<value name="GL_FLOAT" category="OES_texture_float"/>
1665			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1666		</desc>
1667	</desc>
1668
1669	<desc name="format">
1670		<value name="GL_LUMINANCE_ALPHA"/>
1671
1672		<desc name="type" error="GL_INVALID_OPERATION">
1673			<value name="GL_UNSIGNED_BYTE"/>
1674			<value name="GL_FLOAT" category="OES_texture_float"/>
1675			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1676		</desc>
1677	</desc>
1678
1679	<desc name="format" category="OES_depth_texture">
1680		<value name="GL_DEPTH_COMPONENT"/>
1681
1682		<desc name="type" error="GL_INVALID_OPERATION">
1683			<value name="GL_UNSIGNED_SHORT"/>
1684			<value name="GL_UNSIGNED_INT"/>
1685		</desc>
1686	</desc>
1687
1688	<desc name="format" category="OES_packed_depth_stencil">
1689		<value name="GL_DEPTH_STENCIL_OES"/>
1690
1691		<desc name="type" error="GL_INVALID_OPERATION">
1692			<value name="GL_UNSIGNED_INT_24_8_OES"/>
1693		</desc>
1694	</desc>
1695
1696	<desc name="format" category="EXT_texture_format_BGRA8888">
1697		<value name="GL_BGRA_EXT"/>
1698
1699		<desc name="type" error="GL_INVALID_OPERATION">
1700			<value name="GL_UNSIGNED_BYTE"/>
1701		</desc>
1702	</desc>
1703</template>
1704
1705<template name="BindTexture">
1706	<proto>
1707		<return type="void"/>
1708		<param name="target" type="GLenum"/>
1709		<param name="texture" type="GLuint"/>
1710	</proto>
1711</template>
1712
1713<template name="DeleteTextures">
1714	<proto>
1715		<return type="void"/>
1716		<param name="n" type="GLsizei"/>
1717		<param name="textures" type="const GLuint *"/>
1718	</proto>
1719</template>
1720
1721<template name="GenTextures" direction="get">
1722	<proto>
1723		<return type="void"/>
1724		<param name="n" type="GLsizei"/>
1725		<param name="textures" type="GLuint *"/>
1726	</proto>
1727</template>
1728
1729<template name="IsTexture" direction="get">
1730	<proto>
1731		<return type="GLboolean"/>
1732		<param name="texture" type="GLuint"/>
1733	</proto>
1734</template>
1735
1736<template name="BlendColor">
1737	<proto>
1738		<return type="void"/>
1739		<param name="red" type="GLtype"/>
1740		<param name="green" type="GLtype"/>
1741		<param name="blue" type="GLtype"/>
1742		<param name="alpha" type="GLtype"/>
1743	</proto>
1744</template>
1745
1746<template name="BlendEquation">
1747	<proto>
1748		<return type="void"/>
1749		<param name="mode" type="GLenum"/>
1750	</proto>
1751</template>
1752
1753<template name="BlendEquationSeparate">
1754	<proto>
1755		<return type="void"/>
1756		<param name="modeRGB" type="GLenum"/>
1757		<param name="modeAlpha" type="GLenum"/>
1758	</proto>
1759</template>
1760
1761<template name="TexImage3D">
1762	<proto>
1763		<return type="void"/>
1764		<param name="target" type="GLenum"/>
1765		<param name="level" type="GLint"/>
1766		<param name="internalFormat" type="GLenum"/>
1767		<param name="width" type="GLsizei"/>
1768		<param name="height" type="GLsizei"/>
1769		<param name="depth" type="GLsizei"/>
1770		<param name="border" type="GLint"/>
1771		<param name="format" type="GLenum"/>
1772		<param name="type" type="GLenum"/>
1773		<param name="pixels" type="const GLvoid *"/>
1774	</proto>
1775
1776	<desc name="internalFormat">
1777		<value name="GL_ALPHA"/>
1778		<value name="GL_RGB"/>
1779		<value name="GL_RGBA"/>
1780		<value name="GL_LUMINANCE"/>
1781		<value name="GL_LUMINANCE_ALPHA"/>
1782	</desc>
1783
1784	<desc name="format">
1785		<value name="GL_ALPHA"/>
1786
1787		<desc name="type" error="GL_INVALID_OPERATION">
1788			<value name="GL_UNSIGNED_BYTE"/>
1789			<value name="GL_FLOAT" category="OES_texture_float"/>
1790			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1791		</desc>
1792	</desc>
1793
1794	<desc name="format">
1795		<value name="GL_RGB"/>
1796
1797		<desc name="type" error="GL_INVALID_OPERATION">
1798			<value name="GL_UNSIGNED_BYTE"/>
1799			<value name="GL_UNSIGNED_SHORT_5_6_5"/>
1800			<value name="GL_FLOAT" category="OES_texture_float"/>
1801			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1802		</desc>
1803	</desc>
1804
1805	<desc name="format">
1806		<value name="GL_RGBA"/>
1807
1808		<desc name="type" error="GL_INVALID_OPERATION">
1809			<value name="GL_UNSIGNED_BYTE"/>
1810			<value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
1811			<value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
1812			<value name="GL_FLOAT" category="OES_texture_float"/>
1813			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1814			<value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
1815		</desc>
1816	</desc>
1817
1818	<desc name="format">
1819		<value name="GL_LUMINANCE"/>
1820
1821		<desc name="type" error="GL_INVALID_OPERATION">
1822			<value name="GL_UNSIGNED_BYTE"/>
1823			<value name="GL_FLOAT" category="OES_texture_float"/>
1824			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1825		</desc>
1826	</desc>
1827
1828	<desc name="format">
1829		<value name="GL_LUMINANCE_ALPHA"/>
1830
1831		<desc name="type" error="GL_INVALID_OPERATION">
1832			<value name="GL_UNSIGNED_BYTE"/>
1833			<value name="GL_FLOAT" category="OES_texture_float"/>
1834			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1835		</desc>
1836	</desc>
1837</template>
1838
1839<template name="TexSubImage3D">
1840	<proto>
1841		<return type="void"/>
1842		<param name="target" type="GLenum"/>
1843		<param name="level" type="GLint"/>
1844		<param name="xoffset" type="GLint"/>
1845		<param name="yoffset" type="GLint"/>
1846		<param name="zoffset" type="GLint"/>
1847		<param name="width" type="GLsizei"/>
1848		<param name="height" type="GLsizei"/>
1849		<param name="depth" type="GLsizei"/>
1850		<param name="format" type="GLenum"/>
1851		<param name="type" type="GLenum"/>
1852		<param name="pixels" type="const GLvoid *"/>
1853	</proto>
1854
1855	<desc name="format">
1856		<value name="GL_ALPHA"/>
1857
1858		<desc name="type" error="GL_INVALID_OPERATION">
1859			<value name="GL_UNSIGNED_BYTE"/>
1860			<value name="GL_FLOAT" category="OES_texture_float"/>
1861			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1862		</desc>
1863	</desc>
1864
1865	<desc name="format">
1866		<value name="GL_RGB"/>
1867
1868		<desc name="type" error="GL_INVALID_OPERATION">
1869			<value name="GL_UNSIGNED_BYTE"/>
1870			<value name="GL_UNSIGNED_SHORT_5_6_5"/>
1871			<value name="GL_FLOAT" category="OES_texture_float"/>
1872			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1873		</desc>
1874	</desc>
1875
1876	<desc name="format">
1877		<value name="GL_RGBA"/>
1878
1879		<desc name="type" error="GL_INVALID_OPERATION">
1880			<value name="GL_UNSIGNED_BYTE"/>
1881			<value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
1882			<value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
1883			<value name="GL_FLOAT" category="OES_texture_float"/>
1884			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1885			<value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
1886		</desc>
1887	</desc>
1888
1889	<desc name="format">
1890		<value name="GL_LUMINANCE"/>
1891
1892		<desc name="type" error="GL_INVALID_OPERATION">
1893			<value name="GL_UNSIGNED_BYTE"/>
1894			<value name="GL_FLOAT" category="OES_texture_float"/>
1895			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1896		</desc>
1897	</desc>
1898
1899	<desc name="format">
1900		<value name="GL_LUMINANCE_ALPHA"/>
1901
1902		<desc name="type" error="GL_INVALID_OPERATION">
1903			<value name="GL_UNSIGNED_BYTE"/>
1904			<value name="GL_FLOAT" category="OES_texture_float"/>
1905			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
1906		</desc>
1907	</desc>
1908</template>
1909
1910<template name="CopyTexSubImage3D">
1911	<proto>
1912		<return type="void"/>
1913		<param name="target" type="GLenum"/>
1914		<param name="level" type="GLint"/>
1915		<param name="xoffset" type="GLint"/>
1916		<param name="yoffset" type="GLint"/>
1917		<param name="zoffset" type="GLint"/>
1918		<param name="x" type="GLint"/>
1919		<param name="y" type="GLint"/>
1920		<param name="width" type="GLsizei"/>
1921		<param name="height" type="GLsizei"/>
1922	</proto>
1923</template>
1924
1925<template name="MultiTexCoord">
1926	<proto>
1927		<return type="void"/>
1928		<param name="texture" type="GLenum"/>
1929		<vector name="v" type="const GLtype *" size="dynamic">
1930			<param name="s" type="GLtype"/>
1931			<param name="t" type="GLtype"/>
1932			<param name="r" type="GLtype"/>
1933			<param name="q" type="GLtype"/>
1934		</vector>
1935	</proto>
1936</template>
1937
1938<template name="CompressedTexImage3D">
1939	<proto>
1940		<return type="void"/>
1941		<param name="target" type="GLenum"/>
1942		<param name="level" type="GLint"/>
1943		<param name="internalFormat" type="GLenum"/>
1944		<param name="width" type="GLsizei"/>
1945		<param name="height" type="GLsizei"/>
1946		<param name="depth" type="GLsizei"/>
1947		<param name="border" type="GLint"/>
1948		<param name="imagesize" type="GLsizei"/>
1949		<param name="data" type="const GLvoid *"/>
1950	</proto>
1951</template>
1952
1953<template name="CompressedTexSubImage3D">
1954	<proto>
1955		<return type="void"/>
1956		<param name="target" type="GLenum"/>
1957		<param name="level" type="GLint"/>
1958		<param name="xoffset" type="GLint"/>
1959		<param name="yoffset" type="GLint"/>
1960		<param name="zoffset" type="GLint"/>
1961		<param name="width" type="GLsizei"/>
1962		<param name="height" type="GLsizei"/>
1963		<param name="depth" type="GLsizei"/>
1964		<param name="format" type="GLenum"/>
1965		<param name="imagesize" type="GLsizei"/>
1966		<param name="data" type="const GLvoid *"/>
1967	</proto>
1968</template>
1969
1970<template name="ActiveTexture">
1971	<proto>
1972		<return type="void"/>
1973		<param name="texture" type="GLenum"/>
1974	</proto>
1975</template>
1976
1977<template name="ClientActiveTexture">
1978	<proto>
1979		<return type="void"/>
1980		<param name="texture" type="GLenum"/>
1981	</proto>
1982</template>
1983
1984<template name="SampleCoverage">
1985	<proto>
1986		<return type="void"/>
1987		<param name="value" type="GLtype"/>
1988		<param name="invert" type="GLboolean"/>
1989	</proto>
1990</template>
1991
1992<template name="CompressedTexImage2D">
1993	<proto>
1994		<return type="void"/>
1995		<param name="target" type="GLenum"/>
1996		<param name="level" type="GLint"/>
1997		<param name="internalFormat" type="GLenum"/>
1998		<param name="width" type="GLsizei"/>
1999		<param name="height" type="GLsizei"/>
2000		<param name="border" type="GLint"/>
2001		<param name="imageSize" type="GLsizei"/>
2002		<param name="data" type="const GLvoid *"/>
2003	</proto>
2004
2005	<desc name="internalFormat">
2006		<value name="GL_ETC1_RGB8_OES" category="OES_compressed_ETC1_RGB8_texture"/>
2007
2008		<value name="GL_PALETTE4_RGB8_OES" category="OES_compressed_paletted_texture"/>
2009		<value name="GL_PALETTE4_RGBA8_OES" category="OES_compressed_paletted_texture"/>
2010		<value name="GL_PALETTE4_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/>
2011		<value name="GL_PALETTE4_RGBA4_OES" category="OES_compressed_paletted_texture"/>
2012		<value name="GL_PALETTE4_RGB5_A1_OES" category="OES_compressed_paletted_texture"/>
2013		<value name="GL_PALETTE8_RGB8_OES" category="OES_compressed_paletted_texture"/>
2014		<value name="GL_PALETTE8_RGBA8_OES" category="OES_compressed_paletted_texture"/>
2015		<value name="GL_PALETTE8_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/>
2016		<value name="GL_PALETTE8_RGBA4_OES" category="OES_compressed_paletted_texture"/>
2017		<value name="GL_PALETTE8_RGB5_A1_OES" category="OES_compressed_paletted_texture"/>
2018
2019		<value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2020		<value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2021	</desc>
2022</template>
2023
2024<template name="CompressedTexSubImage2D">
2025	<proto>
2026		<return type="void"/>
2027		<param name="target" type="GLenum"/>
2028		<param name="level" type="GLint"/>
2029		<param name="xoffset" type="GLint"/>
2030		<param name="yoffset" type="GLint"/>
2031		<param name="width" type="GLsizei"/>
2032		<param name="height" type="GLsizei"/>
2033		<param name="format" type="GLenum"/>
2034		<param name="imageSize" type="GLsizei"/>
2035		<param name="data" type="const GLvoid *"/>
2036	</proto>
2037
2038	<desc name="format">
2039		<value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2040		<value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2041	</desc>
2042</template>
2043
2044<template name="BlendFuncSeparate">
2045	<proto>
2046		<return type="void"/>
2047		<param name="srcRGB" type="GLenum"/>
2048		<param name="dstRGB" type="GLenum"/>
2049		<param name="srcAlpha" type="GLenum"/>
2050		<param name="dstAlpha" type="GLenum"/>
2051	</proto>
2052
2053	<desc name="srcRGB">
2054		<value name="GL_ZERO"/>
2055		<value name="GL_ONE"/>
2056		<value name="GL_SRC_COLOR"/>
2057		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2058		<value name="GL_SRC_ALPHA"/>
2059		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2060		<value name="GL_DST_ALPHA"/>
2061		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2062		<value name="GL_DST_COLOR"/>
2063		<value name="GL_ONE_MINUS_DST_COLOR"/>
2064		<value name="GL_SRC_ALPHA_SATURATE"/>
2065
2066		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2067		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2068		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2069		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2070	</desc>
2071
2072	<desc name="dstRGB">
2073		<value name="GL_ZERO"/>
2074		<value name="GL_ONE"/>
2075		<value name="GL_SRC_COLOR"/>
2076		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2077		<value name="GL_SRC_ALPHA"/>
2078		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2079		<value name="GL_DST_ALPHA"/>
2080		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2081		<value name="GL_DST_COLOR"/>
2082		<value name="GL_ONE_MINUS_DST_COLOR"/>
2083
2084		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2085		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2086		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2087		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2088	</desc>
2089
2090	<desc name="srcAlpha">
2091		<value name="GL_ZERO"/>
2092		<value name="GL_ONE"/>
2093		<value name="GL_SRC_COLOR"/>
2094		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2095		<value name="GL_SRC_ALPHA"/>
2096		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2097		<value name="GL_DST_ALPHA"/>
2098		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2099		<value name="GL_DST_COLOR"/>
2100		<value name="GL_ONE_MINUS_DST_COLOR"/>
2101		<value name="GL_SRC_ALPHA_SATURATE"/>
2102
2103		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2104		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2105		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2106		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2107	</desc>
2108
2109	<desc name="dstAlpha">
2110		<value name="GL_ZERO"/>
2111		<value name="GL_ONE"/>
2112		<value name="GL_SRC_COLOR"/>
2113		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2114		<value name="GL_SRC_ALPHA"/>
2115		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2116		<value name="GL_DST_ALPHA"/>
2117		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2118		<value name="GL_DST_COLOR"/>
2119		<value name="GL_ONE_MINUS_DST_COLOR"/>
2120
2121		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2122		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2123		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2124		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2125	</desc>
2126</template>
2127
2128<template name="PointParameter">
2129	<proto>
2130		<return type="void"/>
2131		<param name="pname" type="GLenum"/>
2132		<vector name="params" type="const GLtype *" size="dynamic">
2133			<param name="param" type="GLtype"/>
2134		</vector>
2135	</proto>
2136
2137	<desc name="pname">
2138		<value name="GL_POINT_SIZE_MIN"/>
2139		<value name="GL_POINT_SIZE_MAX"/>
2140		<value name="GL_POINT_FADE_THRESHOLD_SIZE"/>
2141
2142		<desc name="params" vector_size="1"/>
2143	</desc>
2144
2145	<desc name="pname">
2146		<value name="GL_POINT_DISTANCE_ATTENUATION"/>
2147		<desc name="params" vector_size="3"/>
2148	</desc>
2149</template>
2150
2151<template name="VertexAttrib">
2152	<proto>
2153		<return type="void"/>
2154		<param name="index" type="GLuint"/>
2155		<vector name="v" type="const GLtype *" size="dynamic">
2156			<param name="x" type="GLtype"/>
2157			<param name="y" type="GLtype"/>
2158			<param name="z" type="GLtype"/>
2159			<param name="w" type="GLtype"/>
2160		</vector>
2161	</proto>
2162</template>
2163
2164<template name="VertexAttribPointer">
2165	<proto>
2166		<return type="void"/>
2167		<param name="index" type="GLuint"/>
2168		<param name="size" type="GLint"/>
2169		<param name="type" type="GLenum"/>
2170		<param name="normalized" type="GLboolean"/>
2171		<param name="stride" type="GLsizei"/>
2172		<param name="pointer" type="const GLvoid *"/>
2173	</proto>
2174
2175	<desc name="size" error="GL_INVALID_VALUE">
2176		<value name="1"/>
2177		<value name="2"/>
2178		<value name="3"/>
2179		<value name="4"/>
2180	</desc>
2181
2182	<desc name="type" error="GL_INVALID_VALUE">
2183		<value name="GL_BYTE"/>
2184		<value name="GL_UNSIGNED_BYTE"/>
2185		<value name="GL_SHORT"/>
2186		<value name="GL_UNSIGNED_SHORT"/>
2187		<value name="GL_FLOAT"/>
2188		<value name="GL_FIXED"/>
2189		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
2190		<value name="GL_UNSIGNED_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
2191		<value name="GL_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
2192	</desc>
2193
2194	<desc name="type" category="OES_vertex_type_10_10_10_2">
2195		<value name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
2196		<value name="GL_INT_10_10_10_2_OES"/>
2197
2198		<desc name="size">
2199			<value name="3"/>
2200			<value name="4"/>
2201		</desc>
2202	</desc>
2203</template>
2204
2205<template name="EnableVertexAttribArray">
2206	<proto>
2207		<return type="void"/>
2208		<param name="index" type="GLuint"/>
2209	</proto>
2210</template>
2211
2212<template name="DisableVertexAttribArray">
2213	<proto>
2214		<return type="void"/>
2215		<param name="index" type="GLuint"/>
2216	</proto>
2217</template>
2218
2219<template name="IsProgram" direction="get">
2220	<proto>
2221		<return type="GLboolean"/>
2222		<param name="program" type="GLuint"/>
2223	</proto>
2224</template>
2225
2226<template name="GetProgram" direction="get">
2227	<proto>
2228		<return type="void"/>
2229		<param name="program" type="GLuint"/>
2230		<param name="pname" type="GLenum"/>
2231		<vector name="params" type="GLtype *" size="dynamic"/>
2232	</proto>
2233
2234	<desc name="pname">
2235		<value name="GL_DELETE_STATUS"/>
2236		<value name="GL_LINK_STATUS"/>
2237		<value name="GL_VALIDATE_STATUS"/>
2238		<value name="GL_INFO_LOG_LENGTH"/>
2239		<value name="GL_ATTACHED_SHADERS"/>
2240		<value name="GL_ACTIVE_ATTRIBUTES"/>
2241		<value name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
2242		<value name="GL_ACTIVE_UNIFORMS"/>
2243		<value name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
2244		<value name="GL_PROGRAM_BINARY_LENGTH_OES" category="OES_get_program_binary"/>
2245
2246		<desc name="params" convert="false"/>
2247	</desc>
2248</template>
2249
2250<template name="GetVertexAttrib" direction="get">
2251	<proto>
2252		<return type="void"/>
2253		<param name="index" type="GLuint"/>
2254		<param name="pname" type="GLenum"/>
2255		<vector name="params" type="GLtype *" size="dynamic"/>
2256	</proto>
2257
2258	<desc name="pname">
2259		<value name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
2260		<value name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
2261		<value name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
2262		<value name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
2263		<value name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
2264		<value name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
2265
2266		<desc name="params" vector_size="1" convert="false"/>
2267	</desc>
2268
2269	<desc name="pname">
2270		<value name="GL_CURRENT_VERTEX_ATTRIB"/>
2271		<desc name="params" vector_size="16?" convert="false"/>
2272	</desc>
2273</template>
2274
2275<template name="GetVertexAttribPointer" direction="get">
2276	<proto>
2277		<return type="void"/>
2278		<param name="index" type="GLuint"/>
2279		<param name="pname" type="GLenum"/>
2280		<vector name="pointer" type="GLvoid **" size="dynamic"/>
2281	</proto>
2282</template>
2283
2284<template name="GetBufferPointer" direction="get">
2285	<proto>
2286		<return type="void"/>
2287		<param name="target" type="GLenum"/>
2288		<param name="pname" type="GLenum"/>
2289		<vector name="params" type="GLvoid **" size="dynamic"/>
2290	</proto>
2291
2292	<desc name="target">
2293		<value name="GL_ARRAY_BUFFER"/>
2294		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2295	</desc>
2296</template>
2297
2298<template name="MapBuffer" direction="get">
2299	<proto>
2300		<return type="void *"/>
2301		<param name="target" type="GLenum"/>
2302		<param name="access" 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
2310	<desc name="access">
2311		<value name="GL_WRITE_ONLY_OES"/>
2312	</desc>
2313</template>
2314
2315<template name="UnmapBuffer" direction="get">
2316	<proto>
2317		<return type="GLboolean"/>
2318		<param name="target" type="GLenum"/>
2319	</proto>
2320
2321	<desc name="target">
2322		<value name="GL_ARRAY_BUFFER"/>
2323		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2324	</desc>
2325</template>
2326
2327<template name="BindBuffer">
2328	<proto>
2329		<return type="void"/>
2330		<param name="target" type="GLenum"/>
2331		<param name="buffer" type="GLuint"/>
2332	</proto>
2333
2334	<desc name="target">
2335		<value name="GL_ARRAY_BUFFER"/>
2336		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2337	</desc>
2338</template>
2339
2340<template name="BufferData">
2341	<proto>
2342		<return type="void"/>
2343		<param name="target" type="GLenum"/>
2344		<param name="size" type="GLsizeiptr"/>
2345		<param name="data" type="const GLvoid *"/>
2346		<param name="usage" type="GLenum"/>
2347	</proto>
2348
2349	<desc name="target">
2350		<value name="GL_ARRAY_BUFFER"/>
2351		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2352	</desc>
2353
2354	<desc name="usage">
2355		<value name="GL_STATIC_DRAW"/>
2356		<value name="GL_DYNAMIC_DRAW"/>
2357		<value name="GL_STREAM_DRAW" category="GLES2.0"/>
2358	</desc>
2359</template>
2360
2361<template name="BufferSubData">
2362	<proto>
2363		<return type="void"/>
2364		<param name="target" type="GLenum"/>
2365		<param name="offset" type="GLintptr"/>
2366		<param name="size" type="GLsizeiptr"/>
2367		<param name="data" type="const GLvoid *"/>
2368	</proto>
2369
2370	<desc name="target">
2371		<value name="GL_ARRAY_BUFFER"/>
2372		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2373	</desc>
2374</template>
2375
2376<template name="DeleteBuffers">
2377	<proto>
2378		<return type="void"/>
2379		<param name="n" type="GLsizei"/>
2380		<param name="buffer" type="const GLuint *"/>
2381	</proto>
2382</template>
2383
2384<template name="GenBuffers" direction="get">
2385	<proto>
2386		<return type="void"/>
2387		<param name="n" type="GLsizei"/>
2388		<param name="buffer" type="GLuint *"/>
2389	</proto>
2390</template>
2391
2392<template name="GetBufferParameter" direction="get">
2393	<proto>
2394		<return type="void"/>
2395		<param name="target" type="GLenum"/>
2396		<param name="pname" type="GLenum"/>
2397		<vector name="params" type="GLtype *" size="dynamic"/>
2398	</proto>
2399
2400	<desc name="target">
2401		<value name="GL_ARRAY_BUFFER"/>
2402		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2403	</desc>
2404
2405	<desc name="pname">
2406		<value name="GL_BUFFER_SIZE"/>
2407		<value name="GL_BUFFER_USAGE"/>
2408		<value name="GL_BUFFER_ACCESS_OES" category="OES_mapbuffer"/>
2409		<value name="GL_BUFFER_MAPPED_OES" category="OES_mapbuffer"/>
2410	</desc>
2411</template>
2412
2413<template name="IsBuffer" direction="get">
2414	<proto>
2415		<return type="GLboolean"/>
2416		<param name="buffer" type="GLuint"/>
2417	</proto>
2418</template>
2419
2420<template name="CreateShader">
2421	<proto>
2422		<return type="GLuint"/>
2423		<param name="type" type="GLenum"/>
2424	</proto>
2425
2426	<desc name="type">
2427		<value name="GL_VERTEX_SHADER"/>
2428		<value name="GL_FRAGMENT_SHADER"/>
2429	</desc>
2430</template>
2431
2432<template name="ShaderSource">
2433	<proto>
2434		<return type="void"/>
2435		<param name="shader" type="GLuint"/>
2436		<param name="count" type="GLsizei"/>
2437		<param name="string" type="const GLchar * const *"/>
2438		<param name="length" type="const int *"/>
2439	</proto>
2440</template>
2441
2442<template name="CompileShader">
2443	<proto>
2444		<return type="void"/>
2445		<param name="shader" type="GLuint"/>
2446	</proto>
2447</template>
2448
2449<template name="ReleaseShaderCompiler">
2450	<proto>
2451		<return type="void"/>
2452	</proto>
2453</template>
2454
2455<template name="DeleteShader">
2456	<proto>
2457		<return type="void"/>
2458		<param name="shader" type="GLuint"/>
2459	</proto>
2460</template>
2461
2462<template name="ShaderBinary">
2463	<proto>
2464		<return type="void"/>
2465		<param name="n" type="GLsizei"/>
2466		<param name="shaders" type="const GLuint *"/>
2467		<param name="binaryformat" type="GLenum"/>
2468		<param name="binary" type="const GLvoid *"/>
2469		<param name="length" type="GLsizei"/>
2470	</proto>
2471</template>
2472
2473<template name="CreateProgram">
2474	<proto>
2475		<return type="GLuint"/>
2476	</proto>
2477</template>
2478
2479<template name="AttachShader">
2480	<proto>
2481		<return type="void"/>
2482		<param name="program" type="GLuint"/>
2483		<param name="shader" type="GLuint"/>
2484	</proto>
2485</template>
2486
2487<template name="DetachShader">
2488	<proto>
2489		<return type="void"/>
2490		<param name="program" type="GLuint"/>
2491		<param name="shader" type="GLuint"/>
2492	</proto>
2493</template>
2494
2495<template name="LinkProgram">
2496	<proto>
2497		<return type="void"/>
2498		<param name="program" type="GLuint"/>
2499	</proto>
2500</template>
2501
2502<template name="UseProgram">
2503	<proto>
2504		<return type="void"/>
2505		<param name="program" type="GLuint"/>
2506	</proto>
2507</template>
2508
2509<template name="DeleteProgram">
2510	<proto>
2511		<return type="void"/>
2512		<param name="program" type="GLuint"/>
2513	</proto>
2514</template>
2515
2516<template name="GetActiveAttrib" direction="get">
2517	<proto>
2518		<return type="void"/>
2519		<param name="program" type="GLuint"/>
2520		<param name="index" type="GLuint"/>
2521		<param name="bufSize" type="GLsizei"/>
2522		<param name="length" type="GLsizei *"/>
2523		<param name="size" type="GLint *"/>
2524		<param name="type" type="GLenum *"/>
2525		<param name="name" type="GLchar *"/>
2526	</proto>
2527</template>
2528
2529<template name="GetAttribLocation" direction="get">
2530	<proto>
2531		<return type="GLint"/>
2532		<param name="program" type="GLuint"/>
2533		<param name="name" type="const char *"/>
2534	</proto>
2535</template>
2536
2537<template name="BindAttribLocation">
2538	<proto>
2539		<return type="void"/>
2540		<param name="program" type="GLuint"/>
2541		<param name="index" type="GLuint"/>
2542		<param name="name" type="const char *"/>
2543	</proto>
2544</template>
2545
2546<template name="GetUniformLocation" direction="get">
2547	<proto>
2548		<return type="GLint"/>
2549		<param name="program" type="GLuint"/>
2550		<param name="name" type="const char *"/>
2551	</proto>
2552</template>
2553
2554<template name="GetActiveUniform" direction="get">
2555	<proto>
2556		<return type="void"/>
2557		<param name="program" type="GLuint"/>
2558		<param name="index" type="GLuint"/>
2559		<param name="bufSize" type="GLsizei"/>
2560		<param name="length" type="GLsizei *"/>
2561		<param name="size" type="GLint *"/>
2562		<param name="type" type="GLenum *"/>
2563		<param name="name" type="GLchar *"/>
2564	</proto>
2565</template>
2566
2567<template name="Uniform">
2568	<proto>
2569		<return type="void"/>
2570		<param name="location" type="GLint"/>
2571		<param name="count" type="GLsizei" hide_if_expanded="true"/>
2572		<vector name="values" type="const GLtype *" size="dynamic">
2573			<param name="v0" type="GLtype"/>
2574			<param name="v1" type="GLtype"/>
2575			<param name="v2" type="GLtype"/>
2576			<param name="v3" type="GLtype"/>
2577		</vector>
2578	</proto>
2579</template>
2580
2581<template name="UniformMatrix">
2582	<proto>
2583		<return type="void"/>
2584		<param name="location" type="GLint"/>
2585		<param name="count" type="GLsizei"/>
2586		<param name="transpose" type="GLboolean"/>
2587		<vector name="value" type="const GLtype *" size="dynamic"/>
2588	</proto>
2589</template>
2590
2591<template name="ValidateProgram">
2592	<proto>
2593		<return type="void"/>
2594		<param name="program" type="GLuint"/>
2595	</proto>
2596</template>
2597
2598<template name="GenerateMipmap">
2599	<proto>
2600		<return type="void"/>
2601		<param name="target" type="GLenum"/>
2602	</proto>
2603
2604	<desc name="target">
2605		<value name="GL_TEXTURE_2D"/>
2606		<value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/>
2607		<value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
2608		<value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
2609	</desc>
2610</template>
2611
2612<template name="BindFramebuffer">
2613	<proto>
2614		<return type="void"/>
2615		<param name="target" type="GLenum"/>
2616		<param name="framebuffer" type="GLuint"/>
2617	</proto>
2618</template>
2619
2620<template name="DeleteFramebuffers">
2621	<proto>
2622		<return type="void"/>
2623		<param name="n" type="GLsizei"/>
2624		<param name="framebuffers" type="const GLuint *"/>
2625	</proto>
2626</template>
2627
2628<template name="GenFramebuffers">
2629	<proto>
2630		<return type="void"/>
2631		<param name="n" type="GLsizei"/>
2632		<param name="ids" type="GLuint *"/>
2633	</proto>
2634</template>
2635
2636<template name="BindRenderbuffer">
2637	<proto>
2638		<return type="void"/>
2639		<param name="target" type="GLenum"/>
2640		<param name="renderbuffer" type="GLuint"/>
2641	</proto>
2642</template>
2643
2644<template name="DeleteRenderbuffers">
2645	<proto>
2646		<return type="void"/>
2647		<param name="n" type="GLsizei"/>
2648		<param name="renderbuffers" type="const GLuint *"/>
2649	</proto>
2650</template>
2651
2652<template name="GenRenderbuffers">
2653	<proto>
2654		<return type="void"/>
2655		<param name="n" type="GLsizei"/>
2656		<param name="renderbuffers" type="GLuint *"/>
2657	</proto>
2658</template>
2659
2660<template name="RenderbufferStorage">
2661	<proto>
2662		<return type="void"/>
2663		<param name="target" type="GLenum"/>
2664		<param name="internalFormat" type="GLenum"/>
2665		<param name="width" type="GLsizei"/>
2666		<param name="height" type="GLsizei"/>
2667	</proto>
2668
2669	<desc name="internalFormat">
2670		<value name="GL_DEPTH_COMPONENT16_OES" category="OES_framebuffer_object"/>
2671		<value name="GL_RGBA4_OES" category="OES_framebuffer_object"/>
2672		<value name="GL_RGB5_A1_OES" category="OES_framebuffer_object"/>
2673		<value name="GL_RGB565_OES" category="OES_framebuffer_object"/>
2674		<value name="GL_STENCIL_INDEX8_OES" category="OES_stencil8"/>
2675
2676		<value name="GL_DEPTH_COMPONENT16" category="GLES2.0"/>
2677		<value name="GL_RGBA4" category="GLES2.0"/>
2678		<value name="GL_RGB5_A1" category="GLES2.0"/>
2679		<value name="GL_RGB565" category="GLES2.0"/>
2680		<value name="GL_STENCIL_INDEX8" category="GLES2.0"/>
2681
2682		<value name="GL_DEPTH_COMPONENT24_OES" category="OES_depth24"/>
2683		<value name="GL_DEPTH_COMPONENT32_OES" category="OES_depth32"/>
2684		<value name="GL_RGB8_OES" category="OES_rgb8_rgba8"/>
2685		<value name="GL_RGBA8_OES" category="OES_rgb8_rgba8"/>
2686		<value name="GL_STENCIL_INDEX1_OES" category="OES_stencil1"/>
2687		<value name="GL_STENCIL_INDEX4_OES" category="OES_stencil4"/>
2688		<value name="GL_DEPTH24_STENCIL8_OES" category="OES_packed_depth_stencil"/>
2689	</desc>
2690</template>
2691
2692<template name="FramebufferRenderbuffer">
2693	<proto>
2694		<return type="void"/>
2695		<param name="target" type="GLenum"/>
2696		<param name="attachment" type="GLenum"/>
2697		<param name="renderbuffertarget" type="GLenum"/>
2698		<param name="renderbuffer" type="GLuint"/>
2699	</proto>
2700</template>
2701
2702<template name="FramebufferTexture2D">
2703	<proto>
2704		<return type="void"/>
2705		<param name="target" type="GLenum"/>
2706		<param name="attachment" type="GLenum"/>
2707		<param name="textarget" type="GLenum"/>
2708		<param name="texture" type="GLuint"/>
2709		<param name="level" type="GLint"/>
2710	</proto>
2711
2712	<desc name="textarget" error="GL_INVALID_OPERATION">
2713		<value name="GL_TEXTURE_2D"/>
2714		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
2715		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
2716		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
2717		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
2718		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
2719		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
2720		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
2721		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
2722		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
2723		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
2724		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
2725		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
2726	</desc>
2727	<!-- According to the base specification, "level" must be 0.  But
2728	     extension GL_OES_fbo_render_mipmap lifts that restriction,
2729	     so no restriction is placed here. -->
2730</template>
2731
2732<template name="FramebufferTexture3D">
2733	<proto>
2734		<return type="void"/>
2735		<param name="target" type="GLenum"/>
2736		<param name="attachment" type="GLenum"/>
2737		<param name="textarget" type="GLenum"/>
2738		<param name="texture" type="GLuint"/>
2739		<param name="level" type="GLint"/>
2740		<param name="zoffset" type="GLint"/>
2741	</proto>
2742</template>
2743
2744<template name="CheckFramebufferStatus" direction="get">
2745	<proto>
2746		<return type="GLenum"/>
2747		<param name="target" type="GLenum"/>
2748	</proto>
2749</template>
2750
2751<template name="GetFramebufferAttachmentParameter" direction="get">
2752	<proto>
2753		<return type="void"/>
2754		<param name="target" type="GLenum"/>
2755		<param name="attachment" type="GLenum"/>
2756		<param name="pname" type="GLenum"/>
2757		<vector name="params" type="GLtype *" size="dynamic"/>
2758	</proto>
2759
2760	<desc name="pname">
2761		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" category="OES_framebuffer_object"/>
2762		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" category="OES_framebuffer_object"/>
2763		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" category="OES_framebuffer_object"/>
2764		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" category="OES_framebuffer_object"/>
2765
2766		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" category="GLES2.0"/>
2767		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" category="GLES2.0"/>
2768		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" category="GLES2.0"/>
2769		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" category="GLES2.0"/>
2770		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" category="OES_texture_3D"/>
2771
2772		<desc name="params" vector_size="1" convert="false"/>
2773	</desc>
2774</template>
2775
2776<template name="GetRenderbufferParameter" direction="get">
2777	<proto>
2778		<return type="void"/>
2779		<param name="target" type="GLenum"/>
2780		<param name="pname" type="GLenum"/>
2781		<vector name="params" type="GLtype *" size="dynamic"/>
2782	</proto>
2783
2784	<desc name="pname" category="OES_framebuffer_object">
2785		<value name="GL_RENDERBUFFER_WIDTH_OES"/>
2786		<value name="GL_RENDERBUFFER_HEIGHT_OES"/>
2787		<value name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
2788		<value name="GL_RENDERBUFFER_RED_SIZE_OES"/>
2789		<value name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
2790		<value name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
2791		<value name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
2792		<value name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
2793		<value name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
2794
2795		<desc name="params" vector_size="1" convert="false"/>
2796	</desc>
2797
2798	<desc name="pname" category="GLES2.0">
2799		<value name="GL_RENDERBUFFER_WIDTH"/>
2800		<value name="GL_RENDERBUFFER_HEIGHT"/>
2801		<value name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
2802		<value name="GL_RENDERBUFFER_RED_SIZE"/>
2803		<value name="GL_RENDERBUFFER_GREEN_SIZE"/>
2804		<value name="GL_RENDERBUFFER_BLUE_SIZE"/>
2805		<value name="GL_RENDERBUFFER_ALPHA_SIZE"/>
2806		<value name="GL_RENDERBUFFER_DEPTH_SIZE"/>
2807		<value name="GL_RENDERBUFFER_STENCIL_SIZE"/>
2808
2809		<desc name="params" vector_size="1" convert="false"/>
2810	</desc>
2811</template>
2812
2813<template name="IsRenderbuffer" direction="get">
2814	<proto>
2815		<return type="GLboolean"/>
2816		<param name="renderbuffer" type="GLuint"/>
2817	</proto>
2818</template>
2819
2820<template name="IsFramebuffer" direction="get">
2821	<proto>
2822		<return type="GLboolean"/>
2823		<param name="framebuffer" type="GLuint"/>
2824	</proto>
2825</template>
2826
2827<template name="IsShader" direction="get">
2828	<proto>
2829		<return type="GLboolean"/>
2830		<param name="shader" type="GLuint"/>
2831	</proto>
2832</template>
2833
2834<template name="GetShader" direction="get">
2835	<proto>
2836		<return type="void"/>
2837		<param name="shader" type="GLuint"/>
2838		<param name="pname" type="GLenum"/>
2839		<vector name="params" type="GLtype *" size="dynamic"/>
2840	</proto>
2841</template>
2842
2843<template name="GetAttachedShaders" direction="get">
2844	<proto>
2845		<return type="void"/>
2846		<param name="program" type="GLuint"/>
2847		<param name="maxCount" type="GLsizei"/>
2848		<param name="count" type="GLsizei *"/>
2849		<param name="shaders" type="GLuint *"/>
2850	</proto>
2851</template>
2852
2853<template name="GetShaderInfoLog" direction="get">
2854	<proto>
2855		<return type="void"/>
2856		<param name="shader" type="GLuint"/>
2857		<param name="bufSize" type="GLsizei"/>
2858		<param name="length" type="GLsizei *"/>
2859		<param name="infoLog" type="GLchar *"/>
2860	</proto>
2861</template>
2862
2863<template name="GetProgramInfoLog" direction="get">
2864	<proto>
2865		<return type="void"/>
2866		<param name="program" type="GLuint"/>
2867		<param name="bufSize" type="GLsizei"/>
2868		<param name="length" type="GLsizei *"/>
2869		<param name="infoLog" type="GLchar *"/>
2870	</proto>
2871</template>
2872
2873<template name="GetShaderSource" direction="get">
2874	<proto>
2875		<return type="void"/>
2876		<param name="shader" type="GLuint"/>
2877		<param name="bufSize" type="GLsizei"/>
2878		<param name="length" type="GLsizei *"/>
2879		<param name="source" type="GLchar *"/>
2880	</proto>
2881</template>
2882
2883<template name="GetShaderPrecisionFormat" direction="get">
2884	<proto>
2885		<return type="void"/>
2886		<param name="shadertype" type="GLenum"/>
2887		<param name="precisiontype" type="GLenum"/>
2888		<param name="range" type="GLint *"/>
2889		<param name="precision" type="GLint *"/>
2890	</proto>
2891</template>
2892
2893<template name="GetUniform" direction="get">
2894	<proto>
2895		<return type="void"/>
2896		<param name="program" type="GLuint"/>
2897		<param name="location" type="GLint"/>
2898		<vector name="params" type="GLtype *" size="dynamic"/>
2899	</proto>
2900</template>
2901
2902<template name="QueryMatrix" direction="get">
2903	<proto>
2904		<return type="GLbitfield"/>
2905		<vector name="mantissa" type="GLtype *" size="16"/>
2906		<vector name="exponent" type="GLint *" size="16"/>
2907	</proto>
2908</template>
2909
2910<template name="DrawTex">
2911	<proto>
2912		<return type="void"/>
2913		<vector name="coords" type="const GLtype *" size="5">
2914			<param name="x" type="GLtype"/>
2915			<param name="y" type="GLtype"/>
2916			<param name="z" type="GLtype"/>
2917			<param name="w" type="GLtype"/>
2918			<param name="h" type="GLtype"/>
2919		</vector>
2920	</proto>
2921</template>
2922
2923<template name="MultiDrawArrays">
2924	<proto>
2925		<return type="void"/>
2926		<param name="mode" type="GLenum"/>
2927		<param name="first" type="const GLint *"/>
2928		<param name="count" type="const GLsizei *"/>
2929		<param name="primcount" type="GLsizei"/>
2930	</proto>
2931
2932	<desc name="mode">
2933		<value name="GL_POINTS"/>
2934		<value name="GL_LINES"/>
2935		<value name="GL_LINE_LOOP"/>
2936		<value name="GL_LINE_STRIP"/>
2937		<value name="GL_TRIANGLES"/>
2938		<value name="GL_TRIANGLE_STRIP"/>
2939		<value name="GL_TRIANGLE_FAN"/>
2940	</desc>
2941</template>
2942
2943<template name="MultiDrawElements">
2944	<proto>
2945		<return type="void"/>
2946		<param name="mode" type="GLenum"/>
2947		<param name="count" type="const GLsizei *"/>
2948		<param name="type" type="GLenum"/>
2949		<param name="indices" type="const GLvoid **"/>
2950		<param name="primcount" type="GLsizei"/>
2951	</proto>
2952
2953	<desc name="mode">
2954		<value name="GL_POINTS"/>
2955		<value name="GL_LINES"/>
2956		<value name="GL_LINE_LOOP"/>
2957		<value name="GL_LINE_STRIP"/>
2958		<value name="GL_TRIANGLES"/>
2959		<value name="GL_TRIANGLE_STRIP"/>
2960		<value name="GL_TRIANGLE_FAN"/>
2961	</desc>
2962</template>
2963
2964<template name="EGLImageTargetTexture2D">
2965	<proto>
2966		<return type="void"/>
2967		<param name="target" type="GLenum"/>
2968		<param name="image" type="GLeglImageOES"/>
2969	</proto>
2970</template>
2971
2972<template name="EGLImageTargetRenderbufferStorage">
2973	<proto>
2974		<return type="void"/>
2975		<param name="target" type="GLenum"/>
2976		<param name="image" type="GLeglImageOES"/>
2977	</proto>
2978</template>
2979
2980<template name="DrawBuffers">
2981	<proto>
2982		<return type="void"/>
2983		<param name="n" type="GLsizei"/>
2984		<param name="bufs" type="const GLenum *"/>
2985	</proto>
2986</template>
2987
2988<template name="ReadBuffer">
2989	<proto>
2990		<return type="void"/>
2991		<param name="mode" type="GLenum"/>
2992	</proto>
2993</template>
2994
2995<api name="mesa" implementation="true">
2996	<category name="MESA"/>
2997
2998	<function name="Color4f"  default_prefix="_es_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2999	<function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/>
3000	<function name="CullFace" template="CullFace"/>
3001
3002	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
3003	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
3004
3005	<function name="FrontFace" template="FrontFace"/>
3006	<function name="Hint" template="Hint"/>
3007
3008	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
3009	<function name="Lightfv" template="Light" gltype="GLfloat"/>
3010
3011	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
3012	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
3013
3014	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
3015
3016	<function name="Materialf" default_prefix="_es_" template="Material" gltype="GLfloat" expand_vector="true"/>
3017	<function name="Materialfv" default_prefix="_es_" template="Material" gltype="GLfloat"/>
3018
3019	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
3020	<function name="PointSizePointer" template="PointSizePointer"/>
3021
3022	<function name="Scissor" template="Scissor"/>
3023	<function name="ShadeModel" template="ShadeModel"/>
3024
3025	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
3026	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
3027	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
3028	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
3029
3030	<function name="TexImage2D" template="TexImage2D"/>
3031
3032	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
3033	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
3034	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
3035	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
3036
3037	<function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/>
3038	<function name="TexGenfv" template="TexGen" gltype="GLfloat"/>
3039
3040	<function name="Clear" template="Clear"/>
3041	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
3042	<function name="ClearStencil" template="ClearStencil"/>
3043	<function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/>
3044	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
3045
3046	<function name="StencilMask" template="StencilMask"/>
3047	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
3048	<function name="ColorMask" template="ColorMask"/>
3049	<function name="DepthMask" template="DepthMask"/>
3050	<function name="Disable" template="Disable"/>
3051	<function name="Enable" template="Enable"/>
3052	<function name="Finish" template="Finish"/>
3053	<function name="Flush" template="Flush"/>
3054
3055	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
3056
3057	<function name="BlendFunc" template="BlendFunc"/>
3058	<function name="LogicOp" template="LogicOp"/>
3059	<function name="StencilFunc" template="StencilFunc"/>
3060	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
3061	<function name="StencilOp" template="StencilOp"/>
3062	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
3063	<function name="DepthFunc" template="DepthFunc"/>
3064	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
3065
3066	<function name="ReadPixels" template="ReadPixels"/>
3067	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
3068	<function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/>
3069	<function name="GetError" template="GetError"/>
3070	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
3071	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
3072	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
3073
3074	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
3075	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
3076	<function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/>
3077
3078	<function name="GetString" template="GetString"/>
3079
3080	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
3081	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
3082	<function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/>
3083	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
3084	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
3085
3086	<function name="IsEnabled" template="IsEnabled"/>
3087
3088	<function name="DepthRange" template="DepthRange" gltype="GLclampd"/>
3089	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
3090	<function name="Frustum" template="Frustum" gltype="GLdouble"/>
3091
3092	<function name="LoadIdentity" template="LoadIdentity"/>
3093	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
3094	<function name="MatrixMode" template="MatrixMode"/>
3095
3096	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
3097	<function name="Ortho" template="Ortho" gltype="GLdouble"/>
3098	<function name="PopMatrix" template="PopMatrix"/>
3099	<function name="PushMatrix" template="PushMatrix"/>
3100
3101	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
3102	<function name="Scalef" template="Scale" gltype="GLfloat"/>
3103	<function name="Translatef" template="Translate" gltype="GLfloat"/>
3104
3105	<function name="Viewport" template="Viewport"/>
3106
3107	<function name="ColorPointer" template="ColorPointer"/>
3108	<function name="DisableClientState" template="DisableClientState"/>
3109	<function name="DrawArrays" template="DrawArrays"/>
3110	<function name="DrawElements" template="DrawElements"/>
3111	<function name="EnableClientState" template="EnableClientState"/>
3112
3113	<function name="GetPointerv" template="GetPointer"/>
3114	<function name="Normal3f" default_prefix="_es_" template="Normal" gltype="GLfloat" expand_vector="true"/>
3115	<function name="NormalPointer" template="NormalPointer"/>
3116	<function name="TexCoordPointer" template="TexCoordPointer"/>
3117	<function name="VertexPointer" template="VertexPointer"/>
3118
3119	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
3120	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
3121	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
3122	<function name="TexSubImage2D" template="TexSubImage2D"/>
3123
3124	<function name="BindTexture" template="BindTexture"/>
3125	<function name="DeleteTextures" template="DeleteTextures"/>
3126	<function name="GenTextures" template="GenTextures"/>
3127	<function name="IsTexture" template="IsTexture"/>
3128
3129	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
3130	<function name="BlendEquation" template="BlendEquation"/>
3131	<function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/>
3132
3133	<function name="TexImage3D" template="TexImage3D"/>
3134	<function name="TexSubImage3D" template="TexSubImage3D"/>
3135	<function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/>
3136
3137	<function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/>
3138	<function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/>
3139
3140	<function name="ActiveTextureARB" template="ActiveTexture"/>
3141	<function name="ClientActiveTextureARB" template="ClientActiveTexture"/>
3142
3143	<function name="MultiTexCoord4f" default_prefix="_es_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3144
3145	<function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/>
3146
3147	<function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/>
3148	<function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/>
3149
3150	<function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/>
3151
3152	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
3153	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
3154
3155	<function name="VertexAttrib1f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3156	<function name="VertexAttrib2f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3157	<function name="VertexAttrib3f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3158	<function name="VertexAttrib4f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3159	<function name="VertexAttrib1fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
3160	<function name="VertexAttrib2fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
3161	<function name="VertexAttrib3fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
3162	<function name="VertexAttrib4fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
3163
3164	<function name="VertexAttribPointerARB" template="VertexAttribPointer"/>
3165	<function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/>
3166	<function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/>
3167
3168	<function name="IsProgram" template="IsProgram"/>
3169	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
3170
3171	<function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/>
3172	<function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/>
3173	<function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/>
3174
3175	<function name="GetBufferPointervARB" template="GetBufferPointer"/>
3176	<function name="MapBufferARB" template="MapBuffer"/>
3177	<function name="UnmapBufferARB" template="UnmapBuffer"/>
3178	<function name="BindBufferARB" template="BindBuffer"/>
3179	<function name="BufferDataARB" template="BufferData"/>
3180	<function name="BufferSubDataARB" template="BufferSubData"/>
3181	<function name="DeleteBuffersARB" template="DeleteBuffers"/>
3182	<function name="GenBuffersARB" template="GenBuffers"/>
3183	<function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/>
3184	<function name="IsBufferARB" template="IsBuffer"/>
3185
3186	<function name="CreateShader" template="CreateShader"/>
3187	<function name="ShaderSourceARB" template="ShaderSource"/>
3188	<function name="CompileShaderARB" template="CompileShader"/>
3189	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
3190	<function name="DeleteShader" template="DeleteShader"/>
3191	<function name="ShaderBinary" template="ShaderBinary"/>
3192	<function name="CreateProgram" template="CreateProgram"/>
3193	<function name="AttachShader" template="AttachShader"/>
3194	<function name="DetachShader" template="DetachShader"/>
3195	<function name="LinkProgramARB" template="LinkProgram"/>
3196	<function name="UseProgramObjectARB" template="UseProgram"/>
3197	<function name="DeleteProgram" template="DeleteProgram"/>
3198
3199	<function name="GetActiveAttribARB" template="GetActiveAttrib"/>
3200	<function name="GetAttribLocationARB" template="GetAttribLocation"/>
3201	<function name="BindAttribLocationARB" template="BindAttribLocation"/>
3202	<function name="GetUniformLocationARB" template="GetUniformLocation"/>
3203	<function name="GetActiveUniformARB" template="GetActiveUniform"/>
3204
3205	<function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3206	<function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3207	<function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3208	<function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3209	<function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
3210	<function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
3211	<function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
3212	<function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
3213	<function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/>
3214	<function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/>
3215	<function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/>
3216	<function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/>
3217	<function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/>
3218	<function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/>
3219	<function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/>
3220	<function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/>
3221
3222	<function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
3223	<function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
3224	<function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
3225
3226	<function name="ValidateProgramARB" template="ValidateProgram"/>
3227
3228	<function name="GenerateMipmapEXT" template="GenerateMipmap"/>
3229	<function name="BindFramebufferEXT" template="BindFramebuffer"/>
3230	<function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/>
3231	<function name="GenFramebuffersEXT" template="GenFramebuffers"/>
3232	<function name="BindRenderbufferEXT" template="BindRenderbuffer"/>
3233	<function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/>
3234	<function name="GenRenderbuffersEXT" template="GenRenderbuffers"/>
3235	<function name="RenderbufferStorageEXT" template="RenderbufferStorage"/>
3236	<function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/>
3237	<function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/>
3238	<function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/>
3239	<function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/>
3240	<function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
3241	<function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/>
3242	<function name="IsRenderbufferEXT" template="IsRenderbuffer"/>
3243	<function name="IsFramebufferEXT" template="IsFramebuffer"/>
3244
3245	<function name="IsShader" template="IsShader"/>
3246	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
3247	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
3248	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
3249	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
3250	<function name="GetShaderSourceARB" template="GetShaderSource"/>
3251	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
3252	<function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/>
3253	<function name="GetUniformivARB" template="GetUniform" gltype="GLint"/>
3254
3255	<function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
3256	<function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/>
3257	<function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/>
3258	<function name="DrawTexiv" template="DrawTex" gltype="GLint"/>
3259	<function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/>
3260	<function name="DrawTexsv" template="DrawTex" gltype="GLshort"/>
3261
3262        <!-- EXT_multi_draw_arrays -->
3263        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
3264        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
3265
3266        <!-- OES_EGL_image -->
3267        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
3268        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
3269
3270	<function name="DrawBuffersARB" template="DrawBuffers"/>
3271
3272	<function name="ReadBuffer" template="ReadBuffer"/>
3273
3274</api>
3275
3276<api name="GLES1.1">
3277	<category name="GLES1.1"/>
3278
3279	<category name="OES_byte_coordinates"/>
3280	<category name="OES_fixed_point"/>
3281	<category name="OES_single_precision"/>
3282	<category name="OES_matrix_get"/>
3283	<category name="OES_read_format"/>
3284	<category name="OES_compressed_paletted_texture"/>
3285	<category name="OES_compressed_ETC1_RGB8_texture"/>
3286	<category name="OES_point_size_array"/>
3287	<category name="OES_point_sprite"/>
3288	<category name="OES_query_matrix"/>
3289	<category name="OES_draw_texture"/>
3290	<category name="OES_blend_equation_separate"/>
3291	<category name="OES_blend_func_separate"/>
3292	<category name="OES_blend_subtract"/>
3293	<category name="OES_stencil_wrap"/>
3294	<category name="OES_texture_cube_map"/>
3295	<category name="OES_texture_env_crossbar"/>
3296	<category name="OES_texture_mirrored_repeat"/>
3297	<category name="OES_framebuffer_object"/>
3298	<category name="OES_depth24"/>
3299	<category name="OES_depth32"/>
3300	<category name="OES_fbo_render_mipmap"/>
3301	<category name="OES_rgb8_rgba8"/>
3302	<category name="OES_stencil1"/>
3303	<category name="OES_stencil4"/>
3304	<category name="OES_stencil8"/>
3305	<category name="OES_element_index_uint"/>
3306	<category name="OES_mapbuffer"/>
3307	<category name="EXT_texture_filter_anisotropic"/>
3308	<category name="EXT_texture_format_BGRA8888"/>
3309	<category name="EXT_read_format_bgra"/>
3310
3311	<category name="ARB_texture_non_power_of_two"/>
3312	<!-- disabled due to missing enums
3313	<category name="EXT_texture_compression_dxt1"/>
3314	-->
3315	<category name="EXT_texture_lod_bias"/>
3316	<category name="EXT_blend_minmax"/>
3317	<category name="EXT_multi_draw_arrays"/>
3318	<category name="OES_EGL_image"/>
3319	<category name="OES_EGL_image_external"/>
3320
3321	<category name="OES_matrix_palette"/>
3322
3323	<function name="Color4f" external="true" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3324	<function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/>
3325	<function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/>
3326
3327	<function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/>
3328	<function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/>
3329
3330	<function name="CullFace" template="CullFace"/>
3331
3332	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
3333	<function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/>
3334	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
3335	<function name="Fogxv" template="Fog" gltype="GLfixed"/>
3336
3337	<function name="FrontFace" template="FrontFace"/>
3338	<function name="Hint" template="Hint"/>
3339
3340	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
3341	<function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/>
3342	<function name="Lightfv" template="Light" gltype="GLfloat"/>
3343	<function name="Lightxv" template="Light" gltype="GLfixed"/>
3344
3345	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
3346	<function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/>
3347	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
3348	<function name="LightModelxv" template="LightModel" gltype="GLfixed"/>
3349
3350	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
3351	<function name="LineWidthx" template="LineWidth" gltype="GLfixed"/>
3352
3353	<function name="Materialf" external="true" template="Material" gltype="GLfloat" expand_vector="true"/>
3354	<function name="Materialfv" external="true" template="Material" gltype="GLfloat"/>
3355	<function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/>
3356	<function name="Materialxv" template="Material" gltype="GLfixed"/>
3357
3358	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
3359	<function name="PointSizex" template="PointSize" gltype="GLfixed"/>
3360	<function name="PointSizePointerOES" template="PointSizePointer"/>
3361
3362	<function name="Scissor" template="Scissor"/>
3363	<function name="ShadeModel" template="ShadeModel"/>
3364
3365	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
3366	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
3367	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
3368	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
3369	<function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/>
3370	<function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/>
3371
3372	<function name="TexImage2D" template="TexImage2D"/>
3373
3374	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
3375	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
3376	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
3377	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
3378	<function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/>
3379	<function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/>
3380
3381	<function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/>
3382	<function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/>
3383	<function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/>
3384	<function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/>
3385	<function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/>
3386	<function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/>
3387
3388	<function name="Clear" template="Clear"/>
3389	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
3390	<function name="ClearColorx" template="ClearColor" gltype="GLclampx"/>
3391
3392	<function name="ClearStencil" template="ClearStencil"/>
3393	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
3394	<function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/>
3395
3396	<function name="StencilMask" template="StencilMask"/>
3397	<function name="ColorMask" template="ColorMask"/>
3398	<function name="DepthMask" template="DepthMask"/>
3399
3400	<function name="Disable" template="Disable"/>
3401	<function name="Enable" template="Enable"/>
3402	<function name="Finish" template="Finish"/>
3403	<function name="Flush" template="Flush"/>
3404
3405	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
3406	<function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/>
3407
3408	<function name="BlendFunc" template="BlendFunc"/>
3409	<function name="LogicOp" template="LogicOp"/>
3410	<function name="StencilFunc" template="StencilFunc"/>
3411
3412	<function name="StencilOp" template="StencilOp"/>
3413	<function name="DepthFunc" template="DepthFunc"/>
3414
3415	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
3416	<function name="ReadPixels" template="ReadPixels"/>
3417
3418	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
3419
3420	<function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
3421	<function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
3422
3423	<function name="GetError" template="GetError"/>
3424	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
3425	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
3426	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
3427
3428	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
3429	<function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
3430
3431	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
3432	<function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/>
3433
3434	<function name="GetString" template="GetString"/>
3435
3436	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
3437	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
3438	<function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/>
3439
3440	<function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/>
3441	<function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/>
3442	<function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/>
3443
3444	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
3445	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
3446	<function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/>
3447
3448	<function name="IsEnabled" template="IsEnabled"/>
3449
3450	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
3451	<function name="DepthRangex" template="DepthRange" gltype="GLclampx"/>
3452
3453	<function name="Frustumf" template="Frustum" gltype="GLfloat"/>
3454	<function name="Frustumx" template="Frustum" gltype="GLfixed"/>
3455
3456	<function name="LoadIdentity" template="LoadIdentity"/>
3457	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
3458	<function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/>
3459	<function name="MatrixMode" template="MatrixMode"/>
3460
3461	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
3462	<function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/>
3463	<function name="Orthof" template="Ortho" gltype="GLfloat"/>
3464	<function name="Orthox" template="Ortho" gltype="GLfixed"/>
3465
3466	<function name="PopMatrix" template="PopMatrix"/>
3467	<function name="PushMatrix" template="PushMatrix"/>
3468
3469	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
3470	<function name="Rotatex" template="Rotate" gltype="GLfixed"/>
3471	<function name="Scalef" template="Scale" gltype="GLfloat"/>
3472	<function name="Scalex" template="Scale" gltype="GLfixed"/>
3473	<function name="Translatef" template="Translate" gltype="GLfloat"/>
3474	<function name="Translatex" template="Translate" gltype="GLfixed"/>
3475
3476	<function name="Viewport" template="Viewport"/>
3477	<function name="ColorPointer" template="ColorPointer"/>
3478	<function name="DisableClientState" template="DisableClientState"/>
3479	<function name="DrawArrays" template="DrawArrays"/>
3480	<function name="DrawElements" template="DrawElements"/>
3481	<function name="EnableClientState" template="EnableClientState"/>
3482
3483	<function name="GetPointerv" template="GetPointer"/>
3484
3485	<function name="Normal3f" external="true" template="Normal" gltype="GLfloat" expand_vector="true"/>
3486	<function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/>
3487	<function name="NormalPointer" template="NormalPointer"/>
3488	<function name="TexCoordPointer" template="TexCoordPointer"/>
3489	<function name="VertexPointer" template="VertexPointer"/>
3490
3491	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
3492	<function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/>
3493
3494	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
3495	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
3496
3497	<function name="TexSubImage2D" template="TexSubImage2D"/>
3498
3499	<function name="BindTexture" template="BindTexture"/>
3500	<function name="DeleteTextures" template="DeleteTextures"/>
3501	<function name="GenTextures" template="GenTextures"/>
3502	<function name="IsTexture" template="IsTexture"/>
3503
3504	<function name="BlendEquationOES" template="BlendEquation"/>
3505	<function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/>
3506
3507	<function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/>
3508
3509	<function name="ActiveTexture" template="ActiveTexture"/>
3510	<function name="ClientActiveTexture" template="ClientActiveTexture"/>
3511
3512	<function name="MultiTexCoord4f" external="true" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3513
3514	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
3515	<function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/>
3516
3517	<!-- CompressedTexImage2D calls out to two different functions based on
3518	     whether the image is a paletted image or not -->
3519	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
3520	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
3521
3522	<function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/>
3523
3524	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
3525	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
3526	<function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/>
3527	<function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/>
3528
3529	<!-- OES_mapbuffer -->
3530	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
3531	<function name="MapBufferOES" template="MapBuffer"/>
3532	<function name="UnmapBufferOES" template="UnmapBuffer"/>
3533
3534	<function name="BindBuffer" template="BindBuffer"/>
3535	<function name="BufferData" template="BufferData"/>
3536	<function name="BufferSubData" template="BufferSubData"/>
3537	<function name="DeleteBuffers" template="DeleteBuffers"/>
3538	<function name="GenBuffers" template="GenBuffers"/>
3539	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
3540	<function name="IsBuffer" template="IsBuffer"/>
3541
3542	<!-- OES_framebuffer_object -->
3543	<function name="GenerateMipmapOES" template="GenerateMipmap"/>
3544	<function name="BindFramebufferOES" template="BindFramebuffer"/>
3545	<function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/>
3546	<function name="GenFramebuffersOES" template="GenFramebuffers"/>
3547	<function name="BindRenderbufferOES" template="BindRenderbuffer"/>
3548	<function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
3549	<function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
3550	<function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
3551	<function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
3552	<function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
3553	<function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
3554	<function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
3555	<function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/>
3556	<function name="IsRenderbufferOES" template="IsRenderbuffer"/>
3557	<function name="IsFramebufferOES" template="IsFramebuffer"/>
3558
3559	<!-- OES_query_matrix -->
3560	<!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value
3561	     form; it has its own code for this -->
3562	<function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/>
3563
3564	<!-- OES_draw_texture -->
3565	<function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
3566	<function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/>
3567	<function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/>
3568	<function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/>
3569	<function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/>
3570	<function name="DrawTexivOES" template="DrawTex" gltype="GLint"/>
3571	<function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/>
3572	<function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/>
3573
3574        <!-- EXT_multi_draw_arrays -->
3575        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
3576        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
3577
3578        <!-- OES_EGL_image -->
3579        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
3580        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
3581</api>
3582
3583<api name="GLES2.0">
3584	<category name="GLES2.0"/>
3585
3586	<category name="OES_compressed_paletted_texture"/>
3587	<category name="OES_compressed_ETC1_RGB8_texture"/>
3588	<category name="OES_depth24"/>
3589	<category name="OES_depth32"/>
3590	<category name="OES_fbo_render_mipmap"/>
3591	<category name="OES_rgb8_rgba8"/>
3592	<category name="OES_stencil1"/>
3593	<category name="OES_stencil4"/>
3594	<category name="OES_element_index_uint"/>
3595	<category name="OES_mapbuffer"/>
3596	<category name="OES_texture_3D"/>
3597	<category name="OES_texture_npot"/>
3598	<category name="EXT_texture_filter_anisotropic"/>
3599	<category name="EXT_texture_type_2_10_10_10_REV"/>
3600	<category name="OES_depth_texture"/>
3601	<category name="OES_packed_depth_stencil"/>
3602	<category name="OES_standard_derivatives"/>
3603	<category name="EXT_texture_format_BGRA8888"/>
3604	<category name="EXT_texture_rg"/>
3605	<category name="EXT_read_format_bgra"/>
3606
3607	<category name="EXT_texture_compression_dxt1"/>
3608	<category name="EXT_blend_minmax"/>
3609	<category name="EXT_multi_draw_arrays"/>
3610	<category name="OES_EGL_image"/>
3611	<category name="OES_EGL_image_external"/>
3612        <category name="EXT_unpack_subimage"/>
3613
3614	<category name="NV_draw_buffers"/>
3615	<category name="NV_read_buffer"/>
3616
3617	<function name="DrawBuffersNV" template="DrawBuffers"/>
3618	<function name="ReadBufferNV" template="ReadBuffer"/> 
3619
3620	<function name="CullFace" template="CullFace"/>
3621
3622	<function name="FrontFace" template="FrontFace"/>
3623	<function name="Hint" template="Hint"/>
3624
3625	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
3626
3627	<function name="Scissor" template="Scissor"/>
3628
3629	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
3630	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
3631	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
3632	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
3633
3634	<function name="TexImage2D" template="TexImage2D"/>
3635
3636	<function name="Clear" template="Clear"/>
3637	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
3638	<function name="ClearStencil" template="ClearStencil"/>
3639	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
3640
3641	<function name="StencilMask" template="StencilMask"/>
3642	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
3643	<function name="ColorMask" template="ColorMask"/>
3644	<function name="DepthMask" template="DepthMask"/>
3645	<function name="Disable" template="Disable"/>
3646	<function name="Enable" template="Enable"/>
3647	<function name="Finish" template="Finish"/>
3648	<function name="Flush" template="Flush"/>
3649
3650	<function name="BlendFunc" template="BlendFunc"/>
3651
3652	<function name="StencilFunc" template="StencilFunc"/>
3653	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
3654	<function name="StencilOp" template="StencilOp"/>
3655	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
3656
3657	<function name="DepthFunc" template="DepthFunc"/>
3658
3659	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
3660	<function name="ReadPixels" template="ReadPixels"/>
3661
3662	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
3663	<function name="GetError" template="GetError"/>
3664	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
3665	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
3666
3667	<function name="GetString" template="GetString"/>
3668
3669	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
3670	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
3671
3672	<function name="IsEnabled" template="IsEnabled"/>
3673
3674	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
3675
3676	<function name="Viewport" template="Viewport"/>
3677
3678	<function name="DrawArrays" template="DrawArrays"/>
3679	<function name="DrawElements" template="DrawElements"/>
3680
3681	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
3682	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
3683	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
3684	<function name="TexSubImage2D" template="TexSubImage2D"/>
3685
3686	<function name="BindTexture" template="BindTexture"/>
3687	<function name="DeleteTextures" template="DeleteTextures"/>
3688	<function name="GenTextures" template="GenTextures"/>
3689	<function name="IsTexture" template="IsTexture"/>
3690
3691	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
3692	<function name="BlendEquation" template="BlendEquation"/>
3693	<function name="BlendEquationSeparate" template="BlendEquationSeparate"/>
3694
3695	<function name="TexImage3DOES" template="TexImage3D"/>
3696	<function name="TexSubImage3DOES" template="TexSubImage3D"/>
3697	<function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/>
3698
3699	<function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/>
3700	<function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/>
3701
3702	<function name="ActiveTexture" template="ActiveTexture"/>
3703
3704	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
3705
3706	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
3707	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
3708
3709	<function name="BlendFuncSeparate" template="BlendFuncSeparate"/>
3710
3711	<function name="VertexAttrib1f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3712	<function name="VertexAttrib2f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3713	<function name="VertexAttrib3f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3714	<function name="VertexAttrib4f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3715	<function name="VertexAttrib1fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
3716	<function name="VertexAttrib2fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
3717	<function name="VertexAttrib3fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
3718	<function name="VertexAttrib4fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
3719
3720	<function name="VertexAttribPointer" template="VertexAttribPointer"/>
3721
3722	<function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/>
3723	<function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/>
3724
3725	<function name="IsProgram" template="IsProgram"/>
3726	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
3727
3728	<function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/>
3729	<function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/>
3730	<function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/>
3731
3732	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
3733	<function name="MapBufferOES" template="MapBuffer"/>
3734	<function name="UnmapBufferOES" template="UnmapBuffer"/>
3735	<function name="BindBuffer" template="BindBuffer"/>
3736	<function name="BufferData" template="BufferData"/>
3737	<function name="BufferSubData" template="BufferSubData"/>
3738	<function name="DeleteBuffers" template="DeleteBuffers"/>
3739	<function name="GenBuffers" template="GenBuffers"/>
3740	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
3741	<function name="IsBuffer" template="IsBuffer"/>
3742
3743	<function name="CreateShader" template="CreateShader"/>
3744	<function name="ShaderSource" template="ShaderSource"/>
3745	<function name="CompileShader" template="CompileShader"/>
3746	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
3747	<function name="DeleteShader" template="DeleteShader"/>
3748	<function name="ShaderBinary" template="ShaderBinary"/>
3749	<function name="CreateProgram" template="CreateProgram"/>
3750	<function name="AttachShader" template="AttachShader"/>
3751	<function name="DetachShader" template="DetachShader"/>
3752	<function name="LinkProgram" template="LinkProgram"/>
3753	<function name="UseProgram" template="UseProgram"/>
3754	<function name="DeleteProgram" template="DeleteProgram"/>
3755
3756	<function name="GetActiveAttrib" template="GetActiveAttrib"/>
3757	<function name="GetAttribLocation" template="GetAttribLocation"/>
3758	<function name="BindAttribLocation" template="BindAttribLocation"/>
3759	<function name="GetUniformLocation" template="GetUniformLocation"/>
3760	<function name="GetActiveUniform" template="GetActiveUniform"/>
3761
3762	<function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3763	<function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3764	<function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3765	<function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3766	<function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
3767	<function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
3768	<function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
3769	<function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
3770
3771	<function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/>
3772	<function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/>
3773	<function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/>
3774	<function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/>
3775	<function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/>
3776	<function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/>
3777	<function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/>
3778	<function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/>
3779
3780	<function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
3781	<function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
3782	<function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
3783
3784	<function name="ValidateProgram" template="ValidateProgram"/>
3785
3786	<function name="GenerateMipmap" template="GenerateMipmap"/>
3787	<function name="BindFramebuffer" template="BindFramebuffer"/>
3788	<function name="DeleteFramebuffers" template="DeleteFramebuffers"/>
3789	<function name="GenFramebuffers" template="GenFramebuffers"/>
3790	<function name="BindRenderbuffer" template="BindRenderbuffer"/>
3791	<function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/>
3792	<function name="GenRenderbuffers" template="GenRenderbuffers"/>
3793	<function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/>
3794	<function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/>
3795	<function name="FramebufferTexture2D" template="FramebufferTexture2D"/>
3796	<function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/>
3797	<function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/>
3798	<function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
3799	<function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/>
3800	<function name="IsRenderbuffer" template="IsRenderbuffer"/>
3801	<function name="IsFramebuffer" template="IsFramebuffer"/>
3802
3803	<function name="IsShader" template="IsShader"/>
3804	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
3805	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
3806	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
3807	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
3808	<function name="GetShaderSource" template="GetShaderSource"/>
3809	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
3810	<function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/>
3811	<function name="GetUniformiv" template="GetUniform" gltype="GLint"/>
3812
3813        <!-- EXT_multi_draw_arrays -->
3814        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
3815        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
3816
3817        <!-- OES_EGL_image -->
3818        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
3819        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
3820</api>
3821
3822</apispec>
3823