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