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