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