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