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