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