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