APIspec.xml revision 66404557db9d20aa6c761680a2188960e946dd6a
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</template>
2116
2117<template name="BlendEquationSeparate">
2118	<proto>
2119		<return type="void"/>
2120		<param name="modeRGB" type="GLenum"/>
2121		<param name="modeAlpha" type="GLenum"/>
2122	</proto>
2123</template>
2124
2125<template name="TexImage3D">
2126	<proto>
2127		<return type="void"/>
2128		<param name="target" type="GLenum"/>
2129		<param name="level" type="GLint"/>
2130		<param name="internalFormat" type="GLenum"/>
2131		<param name="width" type="GLsizei"/>
2132		<param name="height" type="GLsizei"/>
2133		<param name="depth" type="GLsizei"/>
2134		<param name="border" type="GLint"/>
2135		<param name="format" type="GLenum"/>
2136		<param name="type" type="GLenum"/>
2137		<param name="pixels" type="const GLvoid *"/>
2138	</proto>
2139
2140	<desc name="target">
2141		<value name="GL_TEXTURE_3D_OES"/>
2142	</desc>
2143
2144	<desc name="internalFormat">
2145		<value name="GL_ALPHA"/>
2146		<value name="GL_RGB"/>
2147		<value name="GL_RGBA"/>
2148		<value name="GL_LUMINANCE"/>
2149		<value name="GL_LUMINANCE_ALPHA"/>
2150	</desc>
2151
2152	<desc name="format">
2153		<value name="GL_ALPHA"/>
2154
2155		<desc name="type" error="GL_INVALID_OPERATION">
2156			<value name="GL_UNSIGNED_BYTE"/>
2157			<value name="GL_FLOAT" category="OES_texture_float"/>
2158			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2159		</desc>
2160	</desc>
2161
2162	<desc name="format">
2163		<value name="GL_RGB"/>
2164
2165		<desc name="type" error="GL_INVALID_OPERATION">
2166			<value name="GL_UNSIGNED_BYTE"/>
2167			<value name="GL_UNSIGNED_SHORT_5_6_5"/>
2168			<value name="GL_FLOAT" category="OES_texture_float"/>
2169			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2170		</desc>
2171	</desc>
2172
2173	<desc name="format">
2174		<value name="GL_RGBA"/>
2175
2176		<desc name="type" error="GL_INVALID_OPERATION">
2177			<value name="GL_UNSIGNED_BYTE"/>
2178			<value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
2179			<value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
2180			<value name="GL_FLOAT" category="OES_texture_float"/>
2181			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2182			<value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
2183		</desc>
2184	</desc>
2185
2186	<desc name="format">
2187		<value name="GL_LUMINANCE"/>
2188
2189		<desc name="type" error="GL_INVALID_OPERATION">
2190			<value name="GL_UNSIGNED_BYTE"/>
2191			<value name="GL_FLOAT" category="OES_texture_float"/>
2192			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2193		</desc>
2194	</desc>
2195
2196	<desc name="format">
2197		<value name="GL_LUMINANCE_ALPHA"/>
2198
2199		<desc name="type" error="GL_INVALID_OPERATION">
2200			<value name="GL_UNSIGNED_BYTE"/>
2201			<value name="GL_FLOAT" category="OES_texture_float"/>
2202			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2203		</desc>
2204	</desc>
2205</template>
2206
2207<template name="TexSubImage3D">
2208	<proto>
2209		<return type="void"/>
2210		<param name="target" type="GLenum"/>
2211		<param name="level" type="GLint"/>
2212		<param name="xoffset" type="GLint"/>
2213		<param name="yoffset" type="GLint"/>
2214		<param name="zoffset" type="GLint"/>
2215		<param name="width" type="GLsizei"/>
2216		<param name="height" type="GLsizei"/>
2217		<param name="depth" type="GLsizei"/>
2218		<param name="format" type="GLenum"/>
2219		<param name="type" type="GLenum"/>
2220		<param name="pixels" type="const GLvoid *"/>
2221	</proto>
2222
2223	<desc name="target">
2224		<value name="GL_TEXTURE_3D_OES"/>
2225	</desc>
2226
2227	<desc name="format">
2228		<value name="GL_ALPHA"/>
2229
2230		<desc name="type" error="GL_INVALID_OPERATION">
2231			<value name="GL_UNSIGNED_BYTE"/>
2232			<value name="GL_FLOAT" category="OES_texture_float"/>
2233			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2234		</desc>
2235	</desc>
2236
2237	<desc name="format">
2238		<value name="GL_RGB"/>
2239
2240		<desc name="type" error="GL_INVALID_OPERATION">
2241			<value name="GL_UNSIGNED_BYTE"/>
2242			<value name="GL_UNSIGNED_SHORT_5_6_5"/>
2243			<value name="GL_FLOAT" category="OES_texture_float"/>
2244			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2245		</desc>
2246	</desc>
2247
2248	<desc name="format">
2249		<value name="GL_RGBA"/>
2250
2251		<desc name="type" error="GL_INVALID_OPERATION">
2252			<value name="GL_UNSIGNED_BYTE"/>
2253			<value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
2254			<value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
2255			<value name="GL_FLOAT" category="OES_texture_float"/>
2256			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2257			<value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
2258		</desc>
2259	</desc>
2260
2261	<desc name="format">
2262		<value name="GL_LUMINANCE"/>
2263
2264		<desc name="type" error="GL_INVALID_OPERATION">
2265			<value name="GL_UNSIGNED_BYTE"/>
2266			<value name="GL_FLOAT" category="OES_texture_float"/>
2267			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2268		</desc>
2269	</desc>
2270
2271	<desc name="format">
2272		<value name="GL_LUMINANCE_ALPHA"/>
2273
2274		<desc name="type" error="GL_INVALID_OPERATION">
2275			<value name="GL_UNSIGNED_BYTE"/>
2276			<value name="GL_FLOAT" category="OES_texture_float"/>
2277			<value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
2278		</desc>
2279	</desc>
2280</template>
2281
2282<template name="CopyTexSubImage3D">
2283	<proto>
2284		<return type="void"/>
2285		<param name="target" type="GLenum"/>
2286		<param name="level" type="GLint"/>
2287		<param name="xoffset" type="GLint"/>
2288		<param name="yoffset" type="GLint"/>
2289		<param name="zoffset" type="GLint"/>
2290		<param name="x" type="GLint"/>
2291		<param name="y" type="GLint"/>
2292		<param name="width" type="GLsizei"/>
2293		<param name="height" type="GLsizei"/>
2294	</proto>
2295
2296	<desc name="target">
2297		<value name="GL_TEXTURE_3D_OES"/>
2298	</desc>
2299</template>
2300
2301<template name="MultiTexCoord">
2302	<proto>
2303		<return type="void"/>
2304		<param name="texture" type="GLenum"/>
2305		<vector name="v" type="const GLtype *" size="dynamic">
2306			<param name="s" type="GLtype"/>
2307			<param name="t" type="GLtype"/>
2308			<param name="r" type="GLtype"/>
2309			<param name="q" type="GLtype"/>
2310		</vector>
2311	</proto>
2312</template>
2313
2314<template name="CompressedTexImage3D">
2315	<proto>
2316		<return type="void"/>
2317		<param name="target" type="GLenum"/>
2318		<param name="level" type="GLint"/>
2319		<param name="internalFormat" type="GLenum"/>
2320		<param name="width" type="GLsizei"/>
2321		<param name="height" type="GLsizei"/>
2322		<param name="depth" type="GLsizei"/>
2323		<param name="border" type="GLint"/>
2324		<param name="imagesize" type="GLsizei"/>
2325		<param name="data" type="const GLvoid *"/>
2326	</proto>
2327
2328	<desc name="target">
2329		<value name="GL_TEXTURE_3D_OES"/>
2330	</desc>
2331
2332	<desc name="internalFormat">
2333		<value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/>
2334		<value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/>
2335		<value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/>
2336		<value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
2337		<value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
2338	</desc>
2339</template>
2340
2341<template name="CompressedTexSubImage3D">
2342	<proto>
2343		<return type="void"/>
2344		<param name="target" type="GLenum"/>
2345		<param name="level" type="GLint"/>
2346		<param name="xoffset" type="GLint"/>
2347		<param name="yoffset" type="GLint"/>
2348		<param name="zoffset" type="GLint"/>
2349		<param name="width" type="GLsizei"/>
2350		<param name="height" type="GLsizei"/>
2351		<param name="depth" type="GLsizei"/>
2352		<param name="format" type="GLenum"/>
2353		<param name="imagesize" type="GLsizei"/>
2354		<param name="data" type="const GLvoid *"/>
2355	</proto>
2356
2357	<desc name="target">
2358		<value name="GL_TEXTURE_3D_OES"/>
2359	</desc>
2360</template>
2361
2362<template name="ActiveTexture">
2363	<proto>
2364		<return type="void"/>
2365		<param name="texture" type="GLenum"/>
2366	</proto>
2367</template>
2368
2369<template name="ClientActiveTexture">
2370	<proto>
2371		<return type="void"/>
2372		<param name="texture" type="GLenum"/>
2373	</proto>
2374</template>
2375
2376<template name="SampleCoverage">
2377	<proto>
2378		<return type="void"/>
2379		<param name="value" type="GLtype"/>
2380		<param name="invert" type="GLboolean"/>
2381	</proto>
2382</template>
2383
2384<template name="CompressedTexImage2D">
2385	<proto>
2386		<return type="void"/>
2387		<param name="target" type="GLenum"/>
2388		<param name="level" type="GLint"/>
2389		<param name="internalFormat" type="GLenum"/>
2390		<param name="width" type="GLsizei"/>
2391		<param name="height" type="GLsizei"/>
2392		<param name="border" type="GLint"/>
2393		<param name="imageSize" type="GLsizei"/>
2394		<param name="data" type="const GLvoid *"/>
2395	</proto>
2396
2397	<desc name="target">
2398		<value name="GL_TEXTURE_2D"/>
2399		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
2400		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
2401		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
2402		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
2403		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
2404		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
2405		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
2406		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
2407		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
2408		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
2409		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
2410		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
2411	</desc>
2412
2413	<desc name="internalFormat">
2414		<value name="GL_ETC1_RGB8_OES" category="OES_compressed_ETC1_RGB8_texture"/>
2415
2416		<value name="GL_PALETTE4_RGB8_OES" category="OES_compressed_paletted_texture"/>
2417		<value name="GL_PALETTE4_RGBA8_OES" category="OES_compressed_paletted_texture"/>
2418		<value name="GL_PALETTE4_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/>
2419		<value name="GL_PALETTE4_RGBA4_OES" category="OES_compressed_paletted_texture"/>
2420		<value name="GL_PALETTE4_RGB5_A1_OES" category="OES_compressed_paletted_texture"/>
2421		<value name="GL_PALETTE8_RGB8_OES" category="OES_compressed_paletted_texture"/>
2422		<value name="GL_PALETTE8_RGBA8_OES" category="OES_compressed_paletted_texture"/>
2423		<value name="GL_PALETTE8_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/>
2424		<value name="GL_PALETTE8_RGBA4_OES" category="OES_compressed_paletted_texture"/>
2425		<value name="GL_PALETTE8_RGB5_A1_OES" category="OES_compressed_paletted_texture"/>
2426
2427		<value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/>
2428		<value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/>
2429
2430		<value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/>
2431		<value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
2432		<value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
2433
2434		<value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2435		<value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2436	</desc>
2437
2438	<desc name="border" error="GL_INVALID_VALUE">
2439		<value name="0"/>
2440	</desc>
2441</template>
2442
2443<template name="CompressedTexSubImage2D">
2444	<proto>
2445		<return type="void"/>
2446		<param name="target" type="GLenum"/>
2447		<param name="level" type="GLint"/>
2448		<param name="xoffset" type="GLint"/>
2449		<param name="yoffset" type="GLint"/>
2450		<param name="width" type="GLsizei"/>
2451		<param name="height" type="GLsizei"/>
2452		<param name="format" type="GLenum"/>
2453		<param name="imageSize" type="GLsizei"/>
2454		<param name="data" type="const GLvoid *"/>
2455	</proto>
2456
2457	<desc name="target">
2458		<value name="GL_TEXTURE_2D"/>
2459		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
2460		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
2461		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
2462		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
2463		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
2464		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
2465		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
2466		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
2467		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
2468		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
2469		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
2470		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
2471	</desc>
2472
2473	<desc name="format">
2474		<value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2475		<value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
2476	</desc>
2477</template>
2478
2479<template name="BlendFuncSeparate">
2480	<proto>
2481		<return type="void"/>
2482		<param name="srcRGB" type="GLenum"/>
2483		<param name="dstRGB" type="GLenum"/>
2484		<param name="srcAlpha" type="GLenum"/>
2485		<param name="dstAlpha" type="GLenum"/>
2486	</proto>
2487
2488	<desc name="srcRGB">
2489		<value name="GL_ZERO"/>
2490		<value name="GL_ONE"/>
2491		<value name="GL_SRC_COLOR"/>
2492		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2493		<value name="GL_SRC_ALPHA"/>
2494		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2495		<value name="GL_DST_ALPHA"/>
2496		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2497		<value name="GL_DST_COLOR"/>
2498		<value name="GL_ONE_MINUS_DST_COLOR"/>
2499		<value name="GL_SRC_ALPHA_SATURATE"/>
2500
2501		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2502		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2503		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2504		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2505	</desc>
2506
2507	<desc name="dstRGB">
2508		<value name="GL_ZERO"/>
2509		<value name="GL_ONE"/>
2510		<value name="GL_SRC_COLOR"/>
2511		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2512		<value name="GL_SRC_ALPHA"/>
2513		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2514		<value name="GL_DST_ALPHA"/>
2515		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2516		<value name="GL_DST_COLOR"/>
2517		<value name="GL_ONE_MINUS_DST_COLOR"/>
2518
2519		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2520		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2521		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2522		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2523	</desc>
2524
2525	<desc name="srcAlpha">
2526		<value name="GL_ZERO"/>
2527		<value name="GL_ONE"/>
2528		<value name="GL_SRC_COLOR"/>
2529		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2530		<value name="GL_SRC_ALPHA"/>
2531		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2532		<value name="GL_DST_ALPHA"/>
2533		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2534		<value name="GL_DST_COLOR"/>
2535		<value name="GL_ONE_MINUS_DST_COLOR"/>
2536		<value name="GL_SRC_ALPHA_SATURATE"/>
2537
2538		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2539		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2540		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2541		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2542	</desc>
2543
2544	<desc name="dstAlpha">
2545		<value name="GL_ZERO"/>
2546		<value name="GL_ONE"/>
2547		<value name="GL_SRC_COLOR"/>
2548		<value name="GL_ONE_MINUS_SRC_COLOR"/>
2549		<value name="GL_SRC_ALPHA"/>
2550		<value name="GL_ONE_MINUS_SRC_ALPHA"/>
2551		<value name="GL_DST_ALPHA"/>
2552		<value name="GL_ONE_MINUS_DST_ALPHA"/>
2553		<value name="GL_DST_COLOR"/>
2554		<value name="GL_ONE_MINUS_DST_COLOR"/>
2555
2556		<value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
2557		<value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
2558		<value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
2559		<value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
2560	</desc>
2561</template>
2562
2563<template name="PointParameter">
2564	<proto>
2565		<return type="void"/>
2566		<param name="pname" type="GLenum"/>
2567		<vector name="params" type="const GLtype *" size="dynamic">
2568			<param name="param" type="GLtype"/>
2569		</vector>
2570	</proto>
2571
2572	<desc name="pname">
2573		<value name="GL_POINT_SIZE_MIN"/>
2574		<value name="GL_POINT_SIZE_MAX"/>
2575		<value name="GL_POINT_FADE_THRESHOLD_SIZE"/>
2576
2577		<desc name="params" vector_size="1"/>
2578	</desc>
2579
2580	<desc name="pname">
2581		<value name="GL_POINT_DISTANCE_ATTENUATION"/>
2582		<desc name="params" vector_size="3"/>
2583	</desc>
2584</template>
2585
2586<template name="VertexAttrib">
2587	<proto>
2588		<return type="void"/>
2589		<param name="index" type="GLuint"/>
2590		<vector name="v" type="const GLtype *" size="dynamic">
2591			<param name="x" type="GLtype"/>
2592			<param name="y" type="GLtype"/>
2593			<param name="z" type="GLtype"/>
2594			<param name="w" type="GLtype"/>
2595		</vector>
2596	</proto>
2597</template>
2598
2599<template name="VertexAttribPointer">
2600	<proto>
2601		<return type="void"/>
2602		<param name="index" type="GLuint"/>
2603		<param name="size" type="GLint"/>
2604		<param name="type" type="GLenum"/>
2605		<param name="normalized" type="GLboolean"/>
2606		<param name="stride" type="GLsizei"/>
2607		<param name="pointer" type="const GLvoid *"/>
2608	</proto>
2609
2610	<desc name="size" error="GL_INVALID_VALUE">
2611		<value name="1"/>
2612		<value name="2"/>
2613		<value name="3"/>
2614		<value name="4"/>
2615	</desc>
2616
2617	<desc name="type" error="GL_INVALID_VALUE">
2618		<value name="GL_BYTE"/>
2619		<value name="GL_UNSIGNED_BYTE"/>
2620		<value name="GL_SHORT"/>
2621		<value name="GL_UNSIGNED_SHORT"/>
2622		<value name="GL_FLOAT"/>
2623		<value name="GL_FIXED"/>
2624		<value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
2625		<value name="GL_UNSIGNED_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
2626		<value name="GL_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
2627	</desc>
2628
2629	<desc name="type" category="OES_vertex_type_10_10_10_2">
2630		<value name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
2631		<value name="GL_INT_10_10_10_2_OES"/>
2632
2633		<desc name="size">
2634			<value name="3"/>
2635			<value name="4"/>
2636		</desc>
2637	</desc>
2638</template>
2639
2640<template name="EnableVertexAttribArray">
2641	<proto>
2642		<return type="void"/>
2643		<param name="index" type="GLuint"/>
2644	</proto>
2645</template>
2646
2647<template name="DisableVertexAttribArray">
2648	<proto>
2649		<return type="void"/>
2650		<param name="index" type="GLuint"/>
2651	</proto>
2652</template>
2653
2654<template name="IsProgram" direction="get">
2655	<proto>
2656		<return type="GLboolean"/>
2657		<param name="program" type="GLuint"/>
2658	</proto>
2659</template>
2660
2661<template name="GetProgram" direction="get">
2662	<proto>
2663		<return type="void"/>
2664		<param name="program" type="GLuint"/>
2665		<param name="pname" type="GLenum"/>
2666		<vector name="params" type="GLtype *" size="dynamic"/>
2667	</proto>
2668
2669	<desc name="pname">
2670		<value name="GL_DELETE_STATUS"/>
2671		<value name="GL_LINK_STATUS"/>
2672		<value name="GL_VALIDATE_STATUS"/>
2673		<value name="GL_INFO_LOG_LENGTH"/>
2674		<value name="GL_ATTACHED_SHADERS"/>
2675		<value name="GL_ACTIVE_ATTRIBUTES"/>
2676		<value name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
2677		<value name="GL_ACTIVE_UNIFORMS"/>
2678		<value name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
2679		<value name="GL_PROGRAM_BINARY_LENGTH_OES" category="OES_get_program_binary"/>
2680
2681		<desc name="params" convert="false"/>
2682	</desc>
2683</template>
2684
2685<template name="GetVertexAttrib" direction="get">
2686	<proto>
2687		<return type="void"/>
2688		<param name="index" type="GLuint"/>
2689		<param name="pname" type="GLenum"/>
2690		<vector name="params" type="GLtype *" size="dynamic"/>
2691	</proto>
2692
2693	<desc name="pname">
2694		<value name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
2695		<value name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
2696		<value name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
2697		<value name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
2698		<value name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
2699		<value name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
2700
2701		<desc name="params" vector_size="1" convert="false"/>
2702	</desc>
2703
2704	<desc name="pname">
2705		<value name="GL_CURRENT_VERTEX_ATTRIB"/>
2706		<desc name="params" vector_size="16?" convert="false"/>
2707	</desc>
2708</template>
2709
2710<template name="GetVertexAttribPointer" direction="get">
2711	<proto>
2712		<return type="void"/>
2713		<param name="index" type="GLuint"/>
2714		<param name="pname" type="GLenum"/>
2715		<vector name="pointer" type="GLvoid **" size="dynamic"/>
2716	</proto>
2717
2718	<desc name="pname">
2719		<value name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
2720	</desc>
2721</template>
2722
2723<template name="GetBufferPointer" direction="get">
2724	<proto>
2725		<return type="void"/>
2726		<param name="target" type="GLenum"/>
2727		<param name="pname" type="GLenum"/>
2728		<vector name="params" type="GLvoid **" size="dynamic"/>
2729	</proto>
2730
2731	<desc name="target">
2732		<value name="GL_ARRAY_BUFFER"/>
2733		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2734	</desc>
2735
2736	<desc name="pname">
2737		<value name="GL_BUFFER_MAP_POINTER_OES"/>
2738	</desc>
2739</template>
2740
2741<template name="MapBuffer" direction="get">
2742	<proto>
2743		<return type="void *"/>
2744		<param name="target" type="GLenum"/>
2745		<param name="access" type="GLenum"/>
2746	</proto>
2747
2748	<desc name="target">
2749		<value name="GL_ARRAY_BUFFER"/>
2750		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2751	</desc>
2752
2753	<desc name="access">
2754		<value name="GL_WRITE_ONLY_OES"/>
2755	</desc>
2756</template>
2757
2758<template name="UnmapBuffer" direction="get">
2759	<proto>
2760		<return type="GLboolean"/>
2761		<param name="target" type="GLenum"/>
2762	</proto>
2763
2764	<desc name="target">
2765		<value name="GL_ARRAY_BUFFER"/>
2766		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2767	</desc>
2768</template>
2769
2770<template name="BindBuffer">
2771	<proto>
2772		<return type="void"/>
2773		<param name="target" type="GLenum"/>
2774		<param name="buffer" type="GLuint"/>
2775	</proto>
2776
2777	<desc name="target">
2778		<value name="GL_ARRAY_BUFFER"/>
2779		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2780	</desc>
2781</template>
2782
2783<template name="BufferData">
2784	<proto>
2785		<return type="void"/>
2786		<param name="target" type="GLenum"/>
2787		<param name="size" type="GLsizeiptr"/>
2788		<param name="data" type="const GLvoid *"/>
2789		<param name="usage" type="GLenum"/>
2790	</proto>
2791
2792	<desc name="target">
2793		<value name="GL_ARRAY_BUFFER"/>
2794		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2795	</desc>
2796
2797	<desc name="usage">
2798		<value name="GL_STATIC_DRAW"/>
2799		<value name="GL_DYNAMIC_DRAW"/>
2800		<value name="GL_STREAM_DRAW" category="GLES2.0"/>
2801	</desc>
2802</template>
2803
2804<template name="BufferSubData">
2805	<proto>
2806		<return type="void"/>
2807		<param name="target" type="GLenum"/>
2808		<param name="offset" type="GLintptr"/>
2809		<param name="size" type="GLsizeiptr"/>
2810		<param name="data" type="const GLvoid *"/>
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="DeleteBuffers">
2820	<proto>
2821		<return type="void"/>
2822		<param name="n" type="GLsizei"/>
2823		<param name="buffer" type="const GLuint *"/>
2824	</proto>
2825</template>
2826
2827<template name="GenBuffers" direction="get">
2828	<proto>
2829		<return type="void"/>
2830		<param name="n" type="GLsizei"/>
2831		<param name="buffer" type="GLuint *"/>
2832	</proto>
2833</template>
2834
2835<template name="GetBufferParameter" direction="get">
2836	<proto>
2837		<return type="void"/>
2838		<param name="target" type="GLenum"/>
2839		<param name="pname" type="GLenum"/>
2840		<vector name="params" type="GLtype *" size="dynamic"/>
2841	</proto>
2842
2843	<desc name="target">
2844		<value name="GL_ARRAY_BUFFER"/>
2845		<value name="GL_ELEMENT_ARRAY_BUFFER"/>
2846	</desc>
2847
2848	<desc name="pname">
2849		<value name="GL_BUFFER_SIZE"/>
2850		<value name="GL_BUFFER_USAGE"/>
2851		<value name="GL_BUFFER_ACCESS_OES" category="OES_mapbuffer"/>
2852		<value name="GL_BUFFER_MAPPED_OES" category="OES_mapbuffer"/>
2853	</desc>
2854</template>
2855
2856<template name="IsBuffer" direction="get">
2857	<proto>
2858		<return type="GLboolean"/>
2859		<param name="buffer" type="GLuint"/>
2860	</proto>
2861</template>
2862
2863<template name="CreateShader">
2864	<proto>
2865		<return type="GLuint"/>
2866		<param name="type" type="GLenum"/>
2867	</proto>
2868
2869	<desc name="type">
2870		<value name="GL_VERTEX_SHADER"/>
2871		<value name="GL_FRAGMENT_SHADER"/>
2872	</desc>
2873</template>
2874
2875<template name="ShaderSource">
2876	<proto>
2877		<return type="void"/>
2878		<param name="shader" type="GLuint"/>
2879		<param name="count" type="GLsizei"/>
2880		<param name="string" type="const GLchar * const *"/>
2881		<param name="length" type="const int *"/>
2882	</proto>
2883</template>
2884
2885<template name="CompileShader">
2886	<proto>
2887		<return type="void"/>
2888		<param name="shader" type="GLuint"/>
2889	</proto>
2890</template>
2891
2892<template name="ReleaseShaderCompiler">
2893	<proto>
2894		<return type="void"/>
2895	</proto>
2896</template>
2897
2898<template name="DeleteShader">
2899	<proto>
2900		<return type="void"/>
2901		<param name="shader" type="GLuint"/>
2902	</proto>
2903</template>
2904
2905<template name="ShaderBinary">
2906	<proto>
2907		<return type="void"/>
2908		<param name="n" type="GLsizei"/>
2909		<param name="shaders" type="const GLuint *"/>
2910		<param name="binaryformat" type="GLenum"/>
2911		<param name="binary" type="const GLvoid *"/>
2912		<param name="length" type="GLsizei"/>
2913	</proto>
2914</template>
2915
2916<template name="CreateProgram">
2917	<proto>
2918		<return type="GLuint"/>
2919	</proto>
2920</template>
2921
2922<template name="AttachShader">
2923	<proto>
2924		<return type="void"/>
2925		<param name="program" type="GLuint"/>
2926		<param name="shader" type="GLuint"/>
2927	</proto>
2928</template>
2929
2930<template name="DetachShader">
2931	<proto>
2932		<return type="void"/>
2933		<param name="program" type="GLuint"/>
2934		<param name="shader" type="GLuint"/>
2935	</proto>
2936</template>
2937
2938<template name="LinkProgram">
2939	<proto>
2940		<return type="void"/>
2941		<param name="program" type="GLuint"/>
2942	</proto>
2943</template>
2944
2945<template name="UseProgram">
2946	<proto>
2947		<return type="void"/>
2948		<param name="program" type="GLuint"/>
2949	</proto>
2950</template>
2951
2952<template name="DeleteProgram">
2953	<proto>
2954		<return type="void"/>
2955		<param name="program" type="GLuint"/>
2956	</proto>
2957</template>
2958
2959<template name="GetActiveAttrib" direction="get">
2960	<proto>
2961		<return type="void"/>
2962		<param name="program" type="GLuint"/>
2963		<param name="index" type="GLuint"/>
2964		<param name="bufSize" type="GLsizei"/>
2965		<param name="length" type="GLsizei *"/>
2966		<param name="size" type="GLint *"/>
2967		<param name="type" type="GLenum *"/>
2968		<param name="name" type="GLchar *"/>
2969	</proto>
2970</template>
2971
2972<template name="GetAttribLocation" direction="get">
2973	<proto>
2974		<return type="GLint"/>
2975		<param name="program" type="GLuint"/>
2976		<param name="name" type="const char *"/>
2977	</proto>
2978</template>
2979
2980<template name="BindAttribLocation">
2981	<proto>
2982		<return type="void"/>
2983		<param name="program" type="GLuint"/>
2984		<param name="index" type="GLuint"/>
2985		<param name="name" type="const char *"/>
2986	</proto>
2987</template>
2988
2989<template name="GetUniformLocation" direction="get">
2990	<proto>
2991		<return type="GLint"/>
2992		<param name="program" type="GLuint"/>
2993		<param name="name" type="const char *"/>
2994	</proto>
2995</template>
2996
2997<template name="GetActiveUniform" direction="get">
2998	<proto>
2999		<return type="void"/>
3000		<param name="program" type="GLuint"/>
3001		<param name="index" type="GLuint"/>
3002		<param name="bufSize" type="GLsizei"/>
3003		<param name="length" type="GLsizei *"/>
3004		<param name="size" type="GLint *"/>
3005		<param name="type" type="GLenum *"/>
3006		<param name="name" type="GLchar *"/>
3007	</proto>
3008</template>
3009
3010<template name="Uniform">
3011	<proto>
3012		<return type="void"/>
3013		<param name="location" type="GLint"/>
3014		<param name="count" type="GLsizei" hide_if_expanded="true"/>
3015		<vector name="values" type="const GLtype *" size="dynamic">
3016			<param name="v0" type="GLtype"/>
3017			<param name="v1" type="GLtype"/>
3018			<param name="v2" type="GLtype"/>
3019			<param name="v3" type="GLtype"/>
3020		</vector>
3021	</proto>
3022</template>
3023
3024<template name="UniformMatrix">
3025	<proto>
3026		<return type="void"/>
3027		<param name="location" type="GLint"/>
3028		<param name="count" type="GLsizei"/>
3029		<param name="transpose" type="GLboolean"/>
3030		<vector name="value" type="const GLtype *" size="dynamic"/>
3031	</proto>
3032</template>
3033
3034<template name="ValidateProgram">
3035	<proto>
3036		<return type="void"/>
3037		<param name="program" type="GLuint"/>
3038	</proto>
3039</template>
3040
3041<template name="GenerateMipmap">
3042	<proto>
3043		<return type="void"/>
3044		<param name="target" type="GLenum"/>
3045	</proto>
3046
3047	<desc name="target">
3048		<value name="GL_TEXTURE_2D"/>
3049		<value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/>
3050		<value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
3051		<value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
3052	</desc>
3053</template>
3054
3055<template name="BindFramebuffer">
3056	<proto>
3057		<return type="void"/>
3058		<param name="target" type="GLenum"/>
3059		<param name="framebuffer" type="GLuint"/>
3060	</proto>
3061</template>
3062
3063<template name="DeleteFramebuffers">
3064	<proto>
3065		<return type="void"/>
3066		<param name="n" type="GLsizei"/>
3067		<param name="framebuffers" type="const GLuint *"/>
3068	</proto>
3069</template>
3070
3071<template name="GenFramebuffers">
3072	<proto>
3073		<return type="void"/>
3074		<param name="n" type="GLsizei"/>
3075		<param name="ids" type="GLuint *"/>
3076	</proto>
3077</template>
3078
3079<template name="BindRenderbuffer">
3080	<proto>
3081		<return type="void"/>
3082		<param name="target" type="GLenum"/>
3083		<param name="renderbuffer" type="GLuint"/>
3084	</proto>
3085</template>
3086
3087<template name="DeleteRenderbuffers">
3088	<proto>
3089		<return type="void"/>
3090		<param name="n" type="GLsizei"/>
3091		<param name="renderbuffers" type="const GLuint *"/>
3092	</proto>
3093</template>
3094
3095<template name="GenRenderbuffers">
3096	<proto>
3097		<return type="void"/>
3098		<param name="n" type="GLsizei"/>
3099		<param name="renderbuffers" type="GLuint *"/>
3100	</proto>
3101</template>
3102
3103<template name="RenderbufferStorage">
3104	<proto>
3105		<return type="void"/>
3106		<param name="target" type="GLenum"/>
3107		<param name="internalFormat" type="GLenum"/>
3108		<param name="width" type="GLsizei"/>
3109		<param name="height" type="GLsizei"/>
3110	</proto>
3111
3112	<desc name="internalFormat">
3113		<value name="GL_DEPTH_COMPONENT16_OES" category="OES_framebuffer_object"/>
3114		<value name="GL_RGBA4_OES" category="OES_framebuffer_object"/>
3115		<value name="GL_RGB5_A1_OES" category="OES_framebuffer_object"/>
3116		<value name="GL_RGB565_OES" category="OES_framebuffer_object"/>
3117		<value name="GL_STENCIL_INDEX8_OES" category="OES_stencil8"/>
3118
3119		<value name="GL_DEPTH_COMPONENT16" category="GLES2.0"/>
3120		<value name="GL_RGBA4" category="GLES2.0"/>
3121		<value name="GL_RGB5_A1" category="GLES2.0"/>
3122		<value name="GL_RGB565" category="GLES2.0"/>
3123		<value name="GL_STENCIL_INDEX8" category="GLES2.0"/>
3124
3125		<value name="GL_DEPTH_COMPONENT24_OES" category="OES_depth24"/>
3126		<value name="GL_DEPTH_COMPONENT32_OES" category="OES_depth32"/>
3127		<value name="GL_RGB8_OES" category="OES_rgb8_rgba8"/>
3128		<value name="GL_RGBA8_OES" category="OES_rgb8_rgba8"/>
3129		<value name="GL_STENCIL_INDEX1_OES" category="OES_stencil1"/>
3130		<value name="GL_STENCIL_INDEX4_OES" category="OES_stencil4"/>
3131		<value name="GL_DEPTH24_STENCIL8_OES" category="OES_packed_depth_stencil"/>
3132	</desc>
3133</template>
3134
3135<template name="FramebufferRenderbuffer">
3136	<proto>
3137		<return type="void"/>
3138		<param name="target" type="GLenum"/>
3139		<param name="attachment" type="GLenum"/>
3140		<param name="renderbuffertarget" type="GLenum"/>
3141		<param name="renderbuffer" type="GLuint"/>
3142	</proto>
3143</template>
3144
3145<template name="FramebufferTexture2D">
3146	<proto>
3147		<return type="void"/>
3148		<param name="target" type="GLenum"/>
3149		<param name="attachment" type="GLenum"/>
3150		<param name="textarget" type="GLenum"/>
3151		<param name="texture" type="GLuint"/>
3152		<param name="level" type="GLint"/>
3153	</proto>
3154
3155	<desc name="textarget" error="GL_INVALID_OPERATION">
3156		<value name="GL_TEXTURE_2D"/>
3157		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
3158		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
3159		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
3160		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
3161		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
3162		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
3163		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
3164		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
3165		<value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
3166		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
3167		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
3168		<value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
3169	</desc>
3170	<!-- According to the base specification, "level" must be 0.  But
3171	     extension GL_OES_fbo_render_mipmap lifts that restriction,
3172	     so no restriction is placed here. -->
3173</template>
3174
3175<template name="FramebufferTexture3D">
3176	<proto>
3177		<return type="void"/>
3178		<param name="target" type="GLenum"/>
3179		<param name="attachment" type="GLenum"/>
3180		<param name="textarget" type="GLenum"/>
3181		<param name="texture" type="GLuint"/>
3182		<param name="level" type="GLint"/>
3183		<param name="zoffset" type="GLint"/>
3184	</proto>
3185
3186	<desc name="textarget" error="GL_INVALID_OPERATION">
3187		<value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
3188	</desc>
3189</template>
3190
3191<template name="CheckFramebufferStatus" direction="get">
3192	<proto>
3193		<return type="GLenum"/>
3194		<param name="target" type="GLenum"/>
3195	</proto>
3196</template>
3197
3198<template name="GetFramebufferAttachmentParameter" direction="get">
3199	<proto>
3200		<return type="void"/>
3201		<param name="target" type="GLenum"/>
3202		<param name="attachment" type="GLenum"/>
3203		<param name="pname" type="GLenum"/>
3204		<vector name="params" type="GLtype *" size="dynamic"/>
3205	</proto>
3206
3207	<desc name="pname">
3208		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" category="OES_framebuffer_object"/>
3209		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" category="OES_framebuffer_object"/>
3210		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" category="OES_framebuffer_object"/>
3211		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" category="OES_framebuffer_object"/>
3212
3213		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" category="GLES2.0"/>
3214		<value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" category="GLES2.0"/>
3215		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" category="GLES2.0"/>
3216		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" category="GLES2.0"/>
3217		<value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" category="OES_texture_3D"/>
3218
3219		<desc name="params" vector_size="1" convert="false"/>
3220	</desc>
3221</template>
3222
3223<template name="GetRenderbufferParameter" direction="get">
3224	<proto>
3225		<return type="void"/>
3226		<param name="target" type="GLenum"/>
3227		<param name="pname" type="GLenum"/>
3228		<vector name="params" type="GLtype *" size="dynamic"/>
3229	</proto>
3230
3231	<desc name="pname" category="OES_framebuffer_object">
3232		<value name="GL_RENDERBUFFER_WIDTH_OES"/>
3233		<value name="GL_RENDERBUFFER_HEIGHT_OES"/>
3234		<value name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
3235		<value name="GL_RENDERBUFFER_RED_SIZE_OES"/>
3236		<value name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
3237		<value name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
3238		<value name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
3239		<value name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
3240		<value name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
3241
3242		<desc name="params" vector_size="1" convert="false"/>
3243	</desc>
3244
3245	<desc name="pname" category="GLES2.0">
3246		<value name="GL_RENDERBUFFER_WIDTH"/>
3247		<value name="GL_RENDERBUFFER_HEIGHT"/>
3248		<value name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
3249		<value name="GL_RENDERBUFFER_RED_SIZE"/>
3250		<value name="GL_RENDERBUFFER_GREEN_SIZE"/>
3251		<value name="GL_RENDERBUFFER_BLUE_SIZE"/>
3252		<value name="GL_RENDERBUFFER_ALPHA_SIZE"/>
3253		<value name="GL_RENDERBUFFER_DEPTH_SIZE"/>
3254		<value name="GL_RENDERBUFFER_STENCIL_SIZE"/>
3255
3256		<desc name="params" vector_size="1" convert="false"/>
3257	</desc>
3258</template>
3259
3260<template name="IsRenderbuffer" direction="get">
3261	<proto>
3262		<return type="GLboolean"/>
3263		<param name="renderbuffer" type="GLuint"/>
3264	</proto>
3265</template>
3266
3267<template name="IsFramebuffer" direction="get">
3268	<proto>
3269		<return type="GLboolean"/>
3270		<param name="framebuffer" type="GLuint"/>
3271	</proto>
3272</template>
3273
3274<template name="IsShader" direction="get">
3275	<proto>
3276		<return type="GLboolean"/>
3277		<param name="shader" type="GLuint"/>
3278	</proto>
3279</template>
3280
3281<template name="GetShader" direction="get">
3282	<proto>
3283		<return type="void"/>
3284		<param name="shader" type="GLuint"/>
3285		<param name="pname" type="GLenum"/>
3286		<vector name="params" type="GLtype *" size="dynamic"/>
3287	</proto>
3288
3289	<desc name="pname">
3290		<value name="GL_SHADER_TYPE"/>
3291		<value name="GL_COMPILE_STATUS"/>
3292		<value name="GL_DELETE_STATUS"/>
3293		<value name="GL_INFO_LOG_LENGTH"/>
3294		<value name="GL_SHADER_SOURCE_LENGTH"/>
3295	</desc>
3296</template>
3297
3298<template name="GetAttachedShaders" direction="get">
3299	<proto>
3300		<return type="void"/>
3301		<param name="program" type="GLuint"/>
3302		<param name="maxCount" type="GLsizei"/>
3303		<param name="count" type="GLsizei *"/>
3304		<param name="shaders" type="GLuint *"/>
3305	</proto>
3306</template>
3307
3308<template name="GetShaderInfoLog" direction="get">
3309	<proto>
3310		<return type="void"/>
3311		<param name="shader" type="GLuint"/>
3312		<param name="bufSize" type="GLsizei"/>
3313		<param name="length" type="GLsizei *"/>
3314		<param name="infoLog" type="GLchar *"/>
3315	</proto>
3316</template>
3317
3318<template name="GetProgramInfoLog" direction="get">
3319	<proto>
3320		<return type="void"/>
3321		<param name="program" type="GLuint"/>
3322		<param name="bufSize" type="GLsizei"/>
3323		<param name="length" type="GLsizei *"/>
3324		<param name="infoLog" type="GLchar *"/>
3325	</proto>
3326</template>
3327
3328<template name="GetShaderSource" direction="get">
3329	<proto>
3330		<return type="void"/>
3331		<param name="shader" type="GLuint"/>
3332		<param name="bufSize" type="GLsizei"/>
3333		<param name="length" type="GLsizei *"/>
3334		<param name="source" type="GLchar *"/>
3335	</proto>
3336</template>
3337
3338<template name="GetShaderPrecisionFormat" direction="get">
3339	<proto>
3340		<return type="void"/>
3341		<param name="shadertype" type="GLenum"/>
3342		<param name="precisiontype" type="GLenum"/>
3343		<param name="range" type="GLint *"/>
3344		<param name="precision" type="GLint *"/>
3345	</proto>
3346
3347	<desc name="shadertype">
3348		<value name="GL_VERTEX_SHADER"/>
3349		<value name="GL_FRAGMENT_SHADER"/>
3350	</desc>
3351
3352	<desc name="precisiontype">
3353		<value name="GL_LOW_FLOAT"/>
3354		<value name="GL_MEDIUM_FLOAT"/>
3355		<value name="GL_HIGH_FLOAT"/>
3356		<value name="GL_LOW_INT"/>
3357		<value name="GL_MEDIUM_INT"/>
3358		<value name="GL_HIGH_INT"/>
3359	</desc>
3360</template>
3361
3362<template name="GetUniform" direction="get">
3363	<proto>
3364		<return type="void"/>
3365		<param name="program" type="GLuint"/>
3366		<param name="location" type="GLint"/>
3367		<vector name="params" type="GLtype *" size="dynamic"/>
3368	</proto>
3369</template>
3370
3371<template name="QueryMatrix" direction="get">
3372	<proto>
3373		<return type="GLbitfield"/>
3374		<vector name="mantissa" type="GLtype *" size="16"/>
3375		<vector name="exponent" type="GLint *" size="16"/>
3376	</proto>
3377</template>
3378
3379<template name="DrawTex">
3380	<proto>
3381		<return type="void"/>
3382		<vector name="coords" type="const GLtype *" size="5">
3383			<param name="x" type="GLtype"/>
3384			<param name="y" type="GLtype"/>
3385			<param name="z" type="GLtype"/>
3386			<param name="w" type="GLtype"/>
3387			<param name="h" type="GLtype"/>
3388		</vector>
3389	</proto>
3390</template>
3391
3392<template name="MultiDrawArrays">
3393	<proto>
3394		<return type="void"/>
3395		<param name="mode" type="GLenum"/>
3396		<param name="first" type="const GLint *"/>
3397		<param name="count" type="const GLsizei *"/>
3398		<param name="primcount" type="GLsizei"/>
3399	</proto>
3400
3401	<desc name="mode">
3402		<value name="GL_POINTS"/>
3403		<value name="GL_LINES"/>
3404		<value name="GL_LINE_LOOP"/>
3405		<value name="GL_LINE_STRIP"/>
3406		<value name="GL_TRIANGLES"/>
3407		<value name="GL_TRIANGLE_STRIP"/>
3408		<value name="GL_TRIANGLE_FAN"/>
3409	</desc>
3410</template>
3411
3412<template name="MultiDrawElements">
3413	<proto>
3414		<return type="void"/>
3415		<param name="mode" type="GLenum"/>
3416		<param name="count" type="const GLsizei *"/>
3417		<param name="type" type="GLenum"/>
3418		<param name="indices" type="const GLvoid **"/>
3419		<param name="primcount" type="GLsizei"/>
3420	</proto>
3421
3422	<desc name="mode">
3423		<value name="GL_POINTS"/>
3424		<value name="GL_LINES"/>
3425		<value name="GL_LINE_LOOP"/>
3426		<value name="GL_LINE_STRIP"/>
3427		<value name="GL_TRIANGLES"/>
3428		<value name="GL_TRIANGLE_STRIP"/>
3429		<value name="GL_TRIANGLE_FAN"/>
3430	</desc>
3431
3432	<desc name="type">
3433		<value name="GL_UNSIGNED_BYTE"/>
3434		<value name="GL_UNSIGNED_SHORT"/>
3435		<value name="GL_UNSIGNED_INT" category="OES_element_index_uint"/>
3436	</desc>
3437</template>
3438
3439<template name="EGLImageTargetTexture2D">
3440	<proto>
3441		<return type="void"/>
3442		<param name="target" type="GLenum"/>
3443		<param name="image" type="GLeglImageOES"/>
3444	</proto>
3445
3446	<desc name="target">
3447		<value name="GL_TEXTURE_2D"/>
3448		<value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
3449	</desc>
3450</template>
3451
3452<template name="EGLImageTargetRenderbufferStorage">
3453	<proto>
3454		<return type="void"/>
3455		<param name="target" type="GLenum"/>
3456		<param name="image" type="GLeglImageOES"/>
3457	</proto>
3458</template>
3459
3460<template name="DrawBuffers">
3461	<proto>
3462		<return type="void"/>
3463		<param name="n" type="GLsizei"/>
3464		<param name="bufs" type="const GLenum *"/>
3465	</proto>
3466</template>
3467
3468<template name="ReadBuffer">
3469	<proto>
3470		<return type="void"/>
3471		<param name="mode" type="GLenum"/>
3472	</proto>
3473</template>
3474
3475<api name="mesa" implementation="true">
3476	<category name="MESA"/>
3477
3478	<function name="Color4f"  default_prefix="_es_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3479	<function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/>
3480	<function name="CullFace" template="CullFace"/>
3481
3482	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
3483	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
3484
3485	<function name="FrontFace" template="FrontFace"/>
3486	<function name="Hint" template="Hint"/>
3487
3488	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
3489	<function name="Lightfv" template="Light" gltype="GLfloat"/>
3490
3491	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
3492	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
3493
3494	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
3495
3496	<function name="Materialf" default_prefix="_es_" template="Material" gltype="GLfloat" expand_vector="true"/>
3497	<function name="Materialfv" default_prefix="_es_" template="Material" gltype="GLfloat"/>
3498
3499	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
3500	<function name="PointSizePointer" template="PointSizePointer"/>
3501
3502	<function name="Scissor" template="Scissor"/>
3503	<function name="ShadeModel" template="ShadeModel"/>
3504
3505	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
3506	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
3507	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
3508	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
3509
3510	<function name="TexImage2D" template="TexImage2D"/>
3511
3512	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
3513	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
3514	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
3515	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
3516
3517	<function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/>
3518	<function name="TexGenfv" template="TexGen" gltype="GLfloat"/>
3519
3520	<function name="Clear" template="Clear"/>
3521	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
3522	<function name="ClearStencil" template="ClearStencil"/>
3523	<function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/>
3524	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
3525
3526	<function name="StencilMask" template="StencilMask"/>
3527	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
3528	<function name="ColorMask" template="ColorMask"/>
3529	<function name="DepthMask" template="DepthMask"/>
3530	<function name="Disable" template="Disable"/>
3531	<function name="Enable" template="Enable"/>
3532	<function name="Finish" template="Finish"/>
3533	<function name="Flush" template="Flush"/>
3534
3535	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
3536
3537	<function name="BlendFunc" template="BlendFunc"/>
3538	<function name="LogicOp" template="LogicOp"/>
3539	<function name="StencilFunc" template="StencilFunc"/>
3540	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
3541	<function name="StencilOp" template="StencilOp"/>
3542	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
3543	<function name="DepthFunc" template="DepthFunc"/>
3544	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
3545
3546	<function name="ReadPixels" template="ReadPixels"/>
3547	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
3548	<function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/>
3549	<function name="GetError" template="GetError"/>
3550	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
3551	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
3552	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
3553
3554	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
3555	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
3556	<function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/>
3557
3558	<function name="GetString" template="GetString"/>
3559
3560	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
3561	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
3562	<function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/>
3563	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
3564	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
3565
3566	<function name="IsEnabled" template="IsEnabled"/>
3567
3568	<function name="DepthRange" template="DepthRange" gltype="GLclampd"/>
3569	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
3570	<function name="Frustum" template="Frustum" gltype="GLdouble"/>
3571
3572	<function name="LoadIdentity" template="LoadIdentity"/>
3573	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
3574	<function name="MatrixMode" template="MatrixMode"/>
3575
3576	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
3577	<function name="Ortho" template="Ortho" gltype="GLdouble"/>
3578	<function name="PopMatrix" template="PopMatrix"/>
3579	<function name="PushMatrix" template="PushMatrix"/>
3580
3581	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
3582	<function name="Scalef" template="Scale" gltype="GLfloat"/>
3583	<function name="Translatef" template="Translate" gltype="GLfloat"/>
3584
3585	<function name="Viewport" template="Viewport"/>
3586
3587	<function name="ColorPointer" template="ColorPointer"/>
3588	<function name="DisableClientState" template="DisableClientState"/>
3589	<function name="DrawArrays" template="DrawArrays"/>
3590	<function name="DrawElements" template="DrawElements"/>
3591	<function name="EnableClientState" template="EnableClientState"/>
3592
3593	<function name="GetPointerv" template="GetPointer"/>
3594	<function name="Normal3f" default_prefix="_es_" template="Normal" gltype="GLfloat" expand_vector="true"/>
3595	<function name="NormalPointer" template="NormalPointer"/>
3596	<function name="TexCoordPointer" template="TexCoordPointer"/>
3597	<function name="VertexPointer" template="VertexPointer"/>
3598
3599	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
3600	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
3601	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
3602	<function name="TexSubImage2D" template="TexSubImage2D"/>
3603
3604	<function name="BindTexture" template="BindTexture"/>
3605	<function name="DeleteTextures" template="DeleteTextures"/>
3606	<function name="GenTextures" template="GenTextures"/>
3607	<function name="IsTexture" template="IsTexture"/>
3608
3609	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
3610	<function name="BlendEquation" template="BlendEquation"/>
3611	<function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/>
3612
3613	<function name="TexImage3D" template="TexImage3D"/>
3614	<function name="TexSubImage3D" template="TexSubImage3D"/>
3615	<function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/>
3616
3617	<function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/>
3618	<function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/>
3619
3620	<function name="ActiveTextureARB" template="ActiveTexture"/>
3621	<function name="ClientActiveTextureARB" template="ClientActiveTexture"/>
3622
3623	<function name="MultiTexCoord4f" default_prefix="_es_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3624
3625	<function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/>
3626
3627	<function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/>
3628	<function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/>
3629
3630	<function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/>
3631
3632	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
3633	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
3634
3635	<function name="VertexAttrib1f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3636	<function name="VertexAttrib2f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3637	<function name="VertexAttrib3f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3638	<function name="VertexAttrib4f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3639	<function name="VertexAttrib1fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
3640	<function name="VertexAttrib2fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
3641	<function name="VertexAttrib3fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
3642	<function name="VertexAttrib4fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
3643
3644	<function name="VertexAttribPointerARB" template="VertexAttribPointer"/>
3645	<function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/>
3646	<function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/>
3647
3648	<function name="IsProgram" template="IsProgram"/>
3649	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
3650
3651	<function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/>
3652	<function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/>
3653	<function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/>
3654
3655	<function name="GetBufferPointervARB" template="GetBufferPointer"/>
3656	<function name="MapBufferARB" template="MapBuffer"/>
3657	<function name="UnmapBufferARB" template="UnmapBuffer"/>
3658	<function name="BindBufferARB" template="BindBuffer"/>
3659	<function name="BufferDataARB" template="BufferData"/>
3660	<function name="BufferSubDataARB" template="BufferSubData"/>
3661	<function name="DeleteBuffersARB" template="DeleteBuffers"/>
3662	<function name="GenBuffersARB" template="GenBuffers"/>
3663	<function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/>
3664	<function name="IsBufferARB" template="IsBuffer"/>
3665
3666	<function name="CreateShader" template="CreateShader"/>
3667	<function name="ShaderSourceARB" template="ShaderSource"/>
3668	<function name="CompileShaderARB" template="CompileShader"/>
3669	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
3670	<function name="DeleteShader" template="DeleteShader"/>
3671	<function name="ShaderBinary" template="ShaderBinary"/>
3672	<function name="CreateProgram" template="CreateProgram"/>
3673	<function name="AttachShader" template="AttachShader"/>
3674	<function name="DetachShader" template="DetachShader"/>
3675	<function name="LinkProgramARB" template="LinkProgram"/>
3676	<function name="UseProgramObjectARB" template="UseProgram"/>
3677	<function name="DeleteProgram" template="DeleteProgram"/>
3678
3679	<function name="GetActiveAttribARB" template="GetActiveAttrib"/>
3680	<function name="GetAttribLocationARB" template="GetAttribLocation"/>
3681	<function name="BindAttribLocationARB" template="BindAttribLocation"/>
3682	<function name="GetUniformLocationARB" template="GetUniformLocation"/>
3683	<function name="GetActiveUniformARB" template="GetActiveUniform"/>
3684
3685	<function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
3686	<function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
3687	<function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
3688	<function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3689	<function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
3690	<function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
3691	<function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
3692	<function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
3693	<function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/>
3694	<function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/>
3695	<function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/>
3696	<function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/>
3697	<function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/>
3698	<function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/>
3699	<function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/>
3700	<function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/>
3701
3702	<function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
3703	<function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
3704	<function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
3705
3706	<function name="ValidateProgramARB" template="ValidateProgram"/>
3707
3708	<function name="GenerateMipmapEXT" template="GenerateMipmap"/>
3709	<function name="BindFramebufferEXT" template="BindFramebuffer"/>
3710	<function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/>
3711	<function name="GenFramebuffersEXT" template="GenFramebuffers"/>
3712	<function name="BindRenderbufferEXT" template="BindRenderbuffer"/>
3713	<function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/>
3714	<function name="GenRenderbuffersEXT" template="GenRenderbuffers"/>
3715	<function name="RenderbufferStorageEXT" template="RenderbufferStorage"/>
3716	<function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/>
3717	<function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/>
3718	<function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/>
3719	<function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/>
3720	<function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
3721	<function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/>
3722	<function name="IsRenderbufferEXT" template="IsRenderbuffer"/>
3723	<function name="IsFramebufferEXT" template="IsFramebuffer"/>
3724
3725	<function name="IsShader" template="IsShader"/>
3726	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
3727	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
3728	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
3729	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
3730	<function name="GetShaderSourceARB" template="GetShaderSource"/>
3731	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
3732	<function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/>
3733	<function name="GetUniformivARB" template="GetUniform" gltype="GLint"/>
3734
3735	<function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
3736	<function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/>
3737	<function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/>
3738	<function name="DrawTexiv" template="DrawTex" gltype="GLint"/>
3739	<function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/>
3740	<function name="DrawTexsv" template="DrawTex" gltype="GLshort"/>
3741
3742        <!-- EXT_multi_draw_arrays -->
3743        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
3744        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
3745
3746        <!-- OES_EGL_image -->
3747        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
3748        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
3749
3750	<function name="DrawBuffersARB" template="DrawBuffers"/>
3751
3752	<function name="ReadBuffer" template="ReadBuffer"/>
3753
3754</api>
3755
3756<api name="GLES1.1">
3757	<category name="GLES1.1"/>
3758
3759	<category name="OES_byte_coordinates"/>
3760	<category name="OES_fixed_point"/>
3761	<category name="OES_single_precision"/>
3762	<category name="OES_matrix_get"/>
3763	<category name="OES_read_format"/>
3764	<category name="OES_compressed_paletted_texture"/>
3765	<category name="OES_compressed_ETC1_RGB8_texture"/>
3766	<category name="OES_point_size_array"/>
3767	<category name="OES_point_sprite"/>
3768	<category name="OES_query_matrix"/>
3769	<category name="OES_draw_texture"/>
3770	<category name="OES_blend_equation_separate"/>
3771	<category name="OES_blend_func_separate"/>
3772	<category name="OES_blend_subtract"/>
3773	<category name="OES_stencil_wrap"/>
3774	<category name="OES_texture_cube_map"/>
3775	<category name="OES_texture_env_crossbar"/>
3776	<category name="OES_texture_mirrored_repeat"/>
3777	<category name="OES_framebuffer_object"/>
3778	<category name="OES_depth24"/>
3779	<category name="OES_depth32"/>
3780	<category name="OES_fbo_render_mipmap"/>
3781	<category name="OES_rgb8_rgba8"/>
3782	<category name="OES_stencil1"/>
3783	<category name="OES_stencil4"/>
3784	<category name="OES_stencil8"/>
3785	<category name="OES_element_index_uint"/>
3786	<category name="OES_mapbuffer"/>
3787	<category name="EXT_texture_filter_anisotropic"/>
3788	<category name="EXT_texture_format_BGRA8888"/>
3789	<category name="EXT_read_format_bgra"/>
3790
3791	<category name="ARB_texture_non_power_of_two"/>
3792	<!-- disabled due to missing enums
3793	<category name="EXT_texture_compression_dxt1"/>
3794	-->
3795	<category name="EXT_texture_lod_bias"/>
3796	<category name="EXT_blend_minmax"/>
3797	<category name="EXT_multi_draw_arrays"/>
3798	<category name="OES_EGL_image"/>
3799	<category name="OES_EGL_image_external"/>
3800
3801	<category name="OES_matrix_palette"/>
3802
3803	<function name="Color4f" external="true" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3804	<function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/>
3805	<function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/>
3806
3807	<function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/>
3808	<function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/>
3809
3810	<function name="CullFace" template="CullFace"/>
3811
3812	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
3813	<function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/>
3814	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
3815	<function name="Fogxv" template="Fog" gltype="GLfixed"/>
3816
3817	<function name="FrontFace" template="FrontFace"/>
3818	<function name="Hint" template="Hint"/>
3819
3820	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
3821	<function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/>
3822	<function name="Lightfv" template="Light" gltype="GLfloat"/>
3823	<function name="Lightxv" template="Light" gltype="GLfixed"/>
3824
3825	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
3826	<function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/>
3827	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
3828	<function name="LightModelxv" template="LightModel" gltype="GLfixed"/>
3829
3830	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
3831	<function name="LineWidthx" template="LineWidth" gltype="GLfixed"/>
3832
3833	<function name="Materialf" external="true" template="Material" gltype="GLfloat" expand_vector="true"/>
3834	<function name="Materialfv" external="true" template="Material" gltype="GLfloat"/>
3835	<function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/>
3836	<function name="Materialxv" template="Material" gltype="GLfixed"/>
3837
3838	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
3839	<function name="PointSizex" template="PointSize" gltype="GLfixed"/>
3840	<function name="PointSizePointerOES" template="PointSizePointer"/>
3841
3842	<function name="Scissor" template="Scissor"/>
3843	<function name="ShadeModel" template="ShadeModel"/>
3844
3845	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
3846	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
3847	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
3848	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
3849	<function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/>
3850	<function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/>
3851
3852	<function name="TexImage2D" template="TexImage2D"/>
3853
3854	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
3855	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
3856	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
3857	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
3858	<function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/>
3859	<function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/>
3860
3861	<function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/>
3862	<function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/>
3863	<function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/>
3864	<function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/>
3865	<function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/>
3866	<function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/>
3867
3868	<function name="Clear" template="Clear"/>
3869	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
3870	<function name="ClearColorx" template="ClearColor" gltype="GLclampx"/>
3871
3872	<function name="ClearStencil" template="ClearStencil"/>
3873	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
3874	<function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/>
3875
3876	<function name="StencilMask" template="StencilMask"/>
3877	<function name="ColorMask" template="ColorMask"/>
3878	<function name="DepthMask" template="DepthMask"/>
3879
3880	<function name="Disable" template="Disable"/>
3881	<function name="Enable" template="Enable"/>
3882	<function name="Finish" template="Finish"/>
3883	<function name="Flush" template="Flush"/>
3884
3885	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
3886	<function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/>
3887
3888	<function name="BlendFunc" template="BlendFunc"/>
3889	<function name="LogicOp" template="LogicOp"/>
3890	<function name="StencilFunc" template="StencilFunc"/>
3891
3892	<function name="StencilOp" template="StencilOp"/>
3893	<function name="DepthFunc" template="DepthFunc"/>
3894
3895	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
3896	<function name="ReadPixels" template="ReadPixels"/>
3897
3898	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
3899
3900	<function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
3901	<function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
3902
3903	<function name="GetError" template="GetError"/>
3904	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
3905	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
3906	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
3907
3908	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
3909	<function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
3910
3911	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
3912	<function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/>
3913
3914	<function name="GetString" template="GetString"/>
3915
3916	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
3917	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
3918	<function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/>
3919
3920	<function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/>
3921	<function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/>
3922	<function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/>
3923
3924	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
3925	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
3926	<function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/>
3927
3928	<function name="IsEnabled" template="IsEnabled"/>
3929
3930	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
3931	<function name="DepthRangex" template="DepthRange" gltype="GLclampx"/>
3932
3933	<function name="Frustumf" template="Frustum" gltype="GLfloat"/>
3934	<function name="Frustumx" template="Frustum" gltype="GLfixed"/>
3935
3936	<function name="LoadIdentity" template="LoadIdentity"/>
3937	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
3938	<function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/>
3939	<function name="MatrixMode" template="MatrixMode"/>
3940
3941	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
3942	<function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/>
3943	<function name="Orthof" template="Ortho" gltype="GLfloat"/>
3944	<function name="Orthox" template="Ortho" gltype="GLfixed"/>
3945
3946	<function name="PopMatrix" template="PopMatrix"/>
3947	<function name="PushMatrix" template="PushMatrix"/>
3948
3949	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
3950	<function name="Rotatex" template="Rotate" gltype="GLfixed"/>
3951	<function name="Scalef" template="Scale" gltype="GLfloat"/>
3952	<function name="Scalex" template="Scale" gltype="GLfixed"/>
3953	<function name="Translatef" template="Translate" gltype="GLfloat"/>
3954	<function name="Translatex" template="Translate" gltype="GLfixed"/>
3955
3956	<function name="Viewport" template="Viewport"/>
3957	<function name="ColorPointer" template="ColorPointer"/>
3958	<function name="DisableClientState" template="DisableClientState"/>
3959	<function name="DrawArrays" template="DrawArrays"/>
3960	<function name="DrawElements" template="DrawElements"/>
3961	<function name="EnableClientState" template="EnableClientState"/>
3962
3963	<function name="GetPointerv" template="GetPointer"/>
3964
3965	<function name="Normal3f" external="true" template="Normal" gltype="GLfloat" expand_vector="true"/>
3966	<function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/>
3967	<function name="NormalPointer" template="NormalPointer"/>
3968	<function name="TexCoordPointer" template="TexCoordPointer"/>
3969	<function name="VertexPointer" template="VertexPointer"/>
3970
3971	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
3972	<function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/>
3973
3974	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
3975	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
3976
3977	<function name="TexSubImage2D" template="TexSubImage2D"/>
3978
3979	<function name="BindTexture" template="BindTexture"/>
3980	<function name="DeleteTextures" template="DeleteTextures"/>
3981	<function name="GenTextures" template="GenTextures"/>
3982	<function name="IsTexture" template="IsTexture"/>
3983
3984	<function name="BlendEquationOES" template="BlendEquation"/>
3985	<function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/>
3986
3987	<function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/>
3988
3989	<function name="ActiveTexture" template="ActiveTexture"/>
3990	<function name="ClientActiveTexture" template="ClientActiveTexture"/>
3991
3992	<function name="MultiTexCoord4f" external="true" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
3993
3994	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
3995	<function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/>
3996
3997	<!-- CompressedTexImage2D calls out to two different functions based on
3998	     whether the image is a paletted image or not -->
3999	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
4000	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
4001
4002	<function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/>
4003
4004	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
4005	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
4006	<function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/>
4007	<function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/>
4008
4009	<!-- OES_mapbuffer -->
4010	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
4011	<function name="MapBufferOES" template="MapBuffer"/>
4012	<function name="UnmapBufferOES" template="UnmapBuffer"/>
4013
4014	<function name="BindBuffer" template="BindBuffer"/>
4015	<function name="BufferData" template="BufferData"/>
4016	<function name="BufferSubData" template="BufferSubData"/>
4017	<function name="DeleteBuffers" template="DeleteBuffers"/>
4018	<function name="GenBuffers" template="GenBuffers"/>
4019	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
4020	<function name="IsBuffer" template="IsBuffer"/>
4021
4022	<!-- OES_framebuffer_object -->
4023	<function name="GenerateMipmapOES" template="GenerateMipmap"/>
4024	<function name="BindFramebufferOES" template="BindFramebuffer"/>
4025	<function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/>
4026	<function name="GenFramebuffersOES" template="GenFramebuffers"/>
4027	<function name="BindRenderbufferOES" template="BindRenderbuffer"/>
4028	<function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
4029	<function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
4030	<function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
4031	<function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
4032	<function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
4033	<function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
4034	<function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
4035	<function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/>
4036	<function name="IsRenderbufferOES" template="IsRenderbuffer"/>
4037	<function name="IsFramebufferOES" template="IsFramebuffer"/>
4038
4039	<!-- OES_query_matrix -->
4040	<!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value
4041	     form; it has its own code for this -->
4042	<function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/>
4043
4044	<!-- OES_draw_texture -->
4045	<function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
4046	<function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/>
4047	<function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/>
4048	<function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/>
4049	<function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/>
4050	<function name="DrawTexivOES" template="DrawTex" gltype="GLint"/>
4051	<function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/>
4052	<function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/>
4053
4054        <!-- EXT_multi_draw_arrays -->
4055        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
4056        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
4057
4058        <!-- OES_EGL_image -->
4059        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
4060        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
4061</api>
4062
4063<api name="GLES2.0">
4064	<category name="GLES2.0"/>
4065
4066	<category name="OES_compressed_paletted_texture"/>
4067	<category name="OES_compressed_ETC1_RGB8_texture"/>
4068	<category name="OES_depth24"/>
4069	<category name="OES_depth32"/>
4070	<category name="OES_fbo_render_mipmap"/>
4071	<category name="OES_rgb8_rgba8"/>
4072	<category name="OES_stencil1"/>
4073	<category name="OES_stencil4"/>
4074	<category name="OES_element_index_uint"/>
4075	<category name="OES_mapbuffer"/>
4076	<category name="OES_texture_3D"/>
4077	<category name="OES_texture_npot"/>
4078	<category name="EXT_texture_filter_anisotropic"/>
4079	<category name="EXT_texture_type_2_10_10_10_REV"/>
4080	<category name="OES_depth_texture"/>
4081	<category name="OES_packed_depth_stencil"/>
4082	<category name="OES_standard_derivatives"/>
4083	<category name="EXT_texture_format_BGRA8888"/>
4084	<category name="EXT_texture_rg"/>
4085	<category name="EXT_read_format_bgra"/>
4086
4087	<category name="EXT_texture_compression_dxt1"/>
4088	<category name="EXT_blend_minmax"/>
4089	<category name="EXT_multi_draw_arrays"/>
4090	<category name="OES_EGL_image"/>
4091	<category name="OES_EGL_image_external"/>
4092        <category name="EXT_unpack_subimage"/>
4093
4094	<category name="NV_draw_buffers"/>
4095	<category name="NV_read_buffer"/>
4096
4097	<function name="DrawBuffersNV" template="DrawBuffers"/>
4098	<function name="ReadBufferNV" template="ReadBuffer"/> 
4099
4100	<function name="CullFace" template="CullFace"/>
4101
4102	<function name="FrontFace" template="FrontFace"/>
4103	<function name="Hint" template="Hint"/>
4104
4105	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
4106
4107	<function name="Scissor" template="Scissor"/>
4108
4109	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
4110	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
4111	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
4112	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
4113
4114	<function name="TexImage2D" template="TexImage2D"/>
4115
4116	<function name="Clear" template="Clear"/>
4117	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
4118	<function name="ClearStencil" template="ClearStencil"/>
4119	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
4120
4121	<function name="StencilMask" template="StencilMask"/>
4122	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
4123	<function name="ColorMask" template="ColorMask"/>
4124	<function name="DepthMask" template="DepthMask"/>
4125	<function name="Disable" template="Disable"/>
4126	<function name="Enable" template="Enable"/>
4127	<function name="Finish" template="Finish"/>
4128	<function name="Flush" template="Flush"/>
4129
4130	<function name="BlendFunc" template="BlendFunc"/>
4131
4132	<function name="StencilFunc" template="StencilFunc"/>
4133	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
4134	<function name="StencilOp" template="StencilOp"/>
4135	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
4136
4137	<function name="DepthFunc" template="DepthFunc"/>
4138
4139	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
4140	<function name="ReadPixels" template="ReadPixels"/>
4141
4142	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
4143	<function name="GetError" template="GetError"/>
4144	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
4145	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
4146
4147	<function name="GetString" template="GetString"/>
4148
4149	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
4150	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
4151
4152	<function name="IsEnabled" template="IsEnabled"/>
4153
4154	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
4155
4156	<function name="Viewport" template="Viewport"/>
4157
4158	<function name="DrawArrays" template="DrawArrays"/>
4159	<function name="DrawElements" template="DrawElements"/>
4160
4161	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
4162	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
4163	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
4164	<function name="TexSubImage2D" template="TexSubImage2D"/>
4165
4166	<function name="BindTexture" template="BindTexture"/>
4167	<function name="DeleteTextures" template="DeleteTextures"/>
4168	<function name="GenTextures" template="GenTextures"/>
4169	<function name="IsTexture" template="IsTexture"/>
4170
4171	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
4172	<function name="BlendEquation" template="BlendEquation"/>
4173	<function name="BlendEquationSeparate" template="BlendEquationSeparate"/>
4174
4175	<function name="TexImage3DOES" template="TexImage3D"/>
4176	<function name="TexSubImage3DOES" template="TexSubImage3D"/>
4177	<function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/>
4178
4179	<function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/>
4180	<function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/>
4181
4182	<function name="ActiveTexture" template="ActiveTexture"/>
4183
4184	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
4185
4186	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
4187	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
4188
4189	<function name="BlendFuncSeparate" template="BlendFuncSeparate"/>
4190
4191	<function name="VertexAttrib1f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
4192	<function name="VertexAttrib2f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
4193	<function name="VertexAttrib3f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
4194	<function name="VertexAttrib4f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
4195	<function name="VertexAttrib1fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
4196	<function name="VertexAttrib2fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
4197	<function name="VertexAttrib3fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
4198	<function name="VertexAttrib4fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
4199
4200	<function name="VertexAttribPointer" template="VertexAttribPointer"/>
4201
4202	<function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/>
4203	<function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/>
4204
4205	<function name="IsProgram" template="IsProgram"/>
4206	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
4207
4208	<function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/>
4209	<function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/>
4210	<function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/>
4211
4212	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
4213	<function name="MapBufferOES" template="MapBuffer"/>
4214	<function name="UnmapBufferOES" template="UnmapBuffer"/>
4215	<function name="BindBuffer" template="BindBuffer"/>
4216	<function name="BufferData" template="BufferData"/>
4217	<function name="BufferSubData" template="BufferSubData"/>
4218	<function name="DeleteBuffers" template="DeleteBuffers"/>
4219	<function name="GenBuffers" template="GenBuffers"/>
4220	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
4221	<function name="IsBuffer" template="IsBuffer"/>
4222
4223	<function name="CreateShader" template="CreateShader"/>
4224	<function name="ShaderSource" template="ShaderSource"/>
4225	<function name="CompileShader" template="CompileShader"/>
4226	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
4227	<function name="DeleteShader" template="DeleteShader"/>
4228	<function name="ShaderBinary" template="ShaderBinary"/>
4229	<function name="CreateProgram" template="CreateProgram"/>
4230	<function name="AttachShader" template="AttachShader"/>
4231	<function name="DetachShader" template="DetachShader"/>
4232	<function name="LinkProgram" template="LinkProgram"/>
4233	<function name="UseProgram" template="UseProgram"/>
4234	<function name="DeleteProgram" template="DeleteProgram"/>
4235
4236	<function name="GetActiveAttrib" template="GetActiveAttrib"/>
4237	<function name="GetAttribLocation" template="GetAttribLocation"/>
4238	<function name="BindAttribLocation" template="BindAttribLocation"/>
4239	<function name="GetUniformLocation" template="GetUniformLocation"/>
4240	<function name="GetActiveUniform" template="GetActiveUniform"/>
4241
4242	<function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
4243	<function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
4244	<function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
4245	<function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
4246	<function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
4247	<function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
4248	<function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
4249	<function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
4250
4251	<function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/>
4252	<function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/>
4253	<function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/>
4254	<function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/>
4255	<function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/>
4256	<function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/>
4257	<function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/>
4258	<function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/>
4259
4260	<function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
4261	<function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
4262	<function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
4263
4264	<function name="ValidateProgram" template="ValidateProgram"/>
4265
4266	<function name="GenerateMipmap" template="GenerateMipmap"/>
4267	<function name="BindFramebuffer" template="BindFramebuffer"/>
4268	<function name="DeleteFramebuffers" template="DeleteFramebuffers"/>
4269	<function name="GenFramebuffers" template="GenFramebuffers"/>
4270	<function name="BindRenderbuffer" template="BindRenderbuffer"/>
4271	<function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/>
4272	<function name="GenRenderbuffers" template="GenRenderbuffers"/>
4273	<function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/>
4274	<function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/>
4275	<function name="FramebufferTexture2D" template="FramebufferTexture2D"/>
4276	<function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/>
4277	<function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/>
4278	<function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
4279	<function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/>
4280	<function name="IsRenderbuffer" template="IsRenderbuffer"/>
4281	<function name="IsFramebuffer" template="IsFramebuffer"/>
4282
4283	<function name="IsShader" template="IsShader"/>
4284	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
4285	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
4286	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
4287	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
4288	<function name="GetShaderSource" template="GetShaderSource"/>
4289	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
4290	<function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/>
4291	<function name="GetUniformiv" template="GetUniform" gltype="GLint"/>
4292
4293        <!-- EXT_multi_draw_arrays -->
4294        <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
4295        <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
4296
4297        <!-- OES_EGL_image -->
4298        <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
4299        <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
4300</api>
4301
4302</apispec>
4303