mesa/es: Validate glGetVertexAttribf pname in Mesa code rather than the ES wrapper
[mesa.git] / src / mesa / main / APIspec.xml
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 </template>
230
231 <template name="TexImage2D">
232 <proto>
233 <return type="void"/>
234 <param name="target" type="GLenum"/>
235 <param name="level" type="GLint"/>
236 <param name="internalFormat" type="GLint"/> <!-- should be GLenum -->
237 <param name="width" type="GLsizei"/>
238 <param name="height" type="GLsizei"/>
239 <param name="border" type="GLint"/>
240 <param name="format" type="GLenum"/>
241 <param name="type" type="GLenum"/>
242 <param name="pixels" type="const GLvoid *"/>
243 </proto>
244 </template>
245
246 <template name="TexEnv">
247 <proto>
248 <return type="void"/>
249 <param name="target" type="GLenum"/>
250 <param name="pname" type="GLenum"/>
251 <vector name="params" type="const GLtype *" size="dynamic">
252 <param name="param" type="GLtype"/>
253 </vector>
254 </proto>
255
256 <desc name="target" category="OES_point_sprite">
257 <value name="GL_POINT_SPRITE_OES"/>
258
259 <desc name="pname">
260 <value name="GL_COORD_REPLACE_OES"/>
261 </desc>
262 </desc>
263
264 <desc name="pname" category="OES_point_sprite">
265 <value name="GL_COORD_REPLACE_OES"/>
266
267 <desc name="param">
268 <value name="GL_TRUE"/>
269 <value name="GL_FALSE"/>
270 </desc>
271 </desc>
272
273 <desc name="target" category="EXT_texture_lod_bias">
274 <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
275
276 <desc name="pname">
277 <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
278 </desc>
279 </desc>
280
281 <desc name="pname" category="EXT_texture_lod_bias">
282 <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
283 <desc name="params" vector_size="1"/>
284 </desc>
285
286 <desc name="target">
287 <value name="GL_TEXTURE_ENV"/>
288
289 <desc name="pname">
290 <value name="GL_TEXTURE_ENV_MODE"/>
291 <value name="GL_COMBINE_RGB"/>
292 <value name="GL_COMBINE_ALPHA"/>
293 <value name="GL_RGB_SCALE"/>
294 <value name="GL_ALPHA_SCALE"/>
295 <value name="GL_SRC0_RGB"/>
296 <value name="GL_SRC1_RGB"/>
297 <value name="GL_SRC2_RGB"/>
298 <value name="GL_SRC0_ALPHA"/>
299 <value name="GL_SRC1_ALPHA"/>
300 <value name="GL_SRC2_ALPHA"/>
301 <value name="GL_OPERAND0_RGB"/>
302 <value name="GL_OPERAND1_RGB"/>
303 <value name="GL_OPERAND2_RGB"/>
304 <value name="GL_OPERAND0_ALPHA"/>
305 <value name="GL_OPERAND1_ALPHA"/>
306 <value name="GL_OPERAND2_ALPHA"/>
307 <value name="GL_TEXTURE_ENV_COLOR"/>
308 </desc>
309 </desc>
310
311 <desc name="pname">
312 <value name="GL_TEXTURE_ENV_MODE"/>
313
314 <desc name="param">
315 <value name="GL_REPLACE"/>
316 <value name="GL_MODULATE"/>
317 <value name="GL_DECAL"/>
318 <value name="GL_BLEND"/>
319 <value name="GL_ADD"/>
320 <value name="GL_COMBINE"/>
321 </desc>
322 </desc>
323
324 <desc name="pname">
325 <value name="GL_COMBINE_RGB"/>
326
327 <desc name="param">
328 <value name="GL_REPLACE"/>
329 <value name="GL_MODULATE"/>
330 <value name="GL_ADD"/>
331 <value name="GL_ADD_SIGNED"/>
332 <value name="GL_INTERPOLATE"/>
333 <value name="GL_SUBTRACT"/>
334 <value name="GL_DOT3_RGB"/>
335 <value name="GL_DOT3_RGBA"/>
336 </desc>
337 </desc>
338
339 <desc name="pname">
340 <value name="GL_COMBINE_ALPHA"/>
341
342 <desc name="param">
343 <value name="GL_REPLACE"/>
344 <value name="GL_MODULATE"/>
345 <value name="GL_ADD"/>
346 <value name="GL_ADD_SIGNED"/>
347 <value name="GL_INTERPOLATE"/>
348 <value name="GL_SUBTRACT"/>
349 </desc>
350 </desc>
351
352 <desc name="pname">
353 <value name="GL_RGB_SCALE"/>
354 <value name="GL_ALPHA_SCALE"/>
355 </desc>
356
357 <desc name="pname">
358 <value name="GL_SRC0_RGB"/>
359 <value name="GL_SRC1_RGB"/>
360 <value name="GL_SRC2_RGB"/>
361 <value name="GL_SRC0_ALPHA"/>
362 <value name="GL_SRC1_ALPHA"/>
363 <value name="GL_SRC2_ALPHA"/>
364
365 <desc name="param">
366 <value name="GL_TEXTURE"/>
367 <value name="GL_CONSTANT"/>
368 <value name="GL_PRIMARY_COLOR"/>
369 <value name="GL_PREVIOUS"/>
370
371 <range base="GL_TEXTURE" from="0" to="31" category="OES_texture_env_crossbar"/>
372 </desc>
373 </desc>
374
375 <desc name="pname">
376 <value name="GL_OPERAND0_RGB"/>
377 <value name="GL_OPERAND1_RGB"/>
378 <value name="GL_OPERAND2_RGB"/>
379
380 <desc name="param">
381 <value name="GL_SRC_COLOR"/>
382 <value name="GL_ONE_MINUS_SRC_COLOR"/>
383 <value name="GL_SRC_ALPHA"/>
384 <value name="GL_ONE_MINUS_SRC_ALPHA"/>
385 </desc>
386 </desc>
387
388 <desc name="pname">
389 <value name="GL_OPERAND0_ALPHA"/>
390 <value name="GL_OPERAND1_ALPHA"/>
391 <value name="GL_OPERAND2_ALPHA"/>
392
393 <desc name="param">
394 <value name="GL_SRC_ALPHA"/>
395 <value name="GL_ONE_MINUS_SRC_ALPHA"/>
396 </desc>
397 </desc>
398
399 <desc name="pname">
400 <value name="GL_TEXTURE_ENV_COLOR"/>
401
402 <desc name="params" vector_size="4"/>
403 </desc>
404 </template>
405
406 <template name="TexGen">
407 <proto>
408 <return type="void"/>
409 <param name="coord" type="GLenum"/>
410 <param name="pname" type="GLenum"/>
411 <vector name="params" type="const GLtype *" size="dynamic">
412 <param name="param" type="GLtype"/>
413 </vector>
414 </proto>
415
416 <desc name="coord" category="OES_texture_cube_map">
417 <value name="GL_TEXTURE_GEN_STR_OES"/>
418 </desc>
419
420 <desc name="pname" category="OES_texture_cube_map">
421 <value name="GL_TEXTURE_GEN_MODE_OES"/>
422
423 <desc name="param">
424 <value name="GL_NORMAL_MAP_OES"/>
425 <value name="GL_REFLECTION_MAP_OES"/>
426 </desc>
427 </desc>
428 </template>
429
430 <template name="Clear">
431 <proto>
432 <return type="void"/>
433 <param name="mask" type="GLbitfield"/>
434 </proto>
435 </template>
436
437 <template name="ClearColor">
438 <proto>
439 <return type="void"/>
440 <param name="red" type="GLtype"/>
441 <param name="green" type="GLtype"/>
442 <param name="blue" type="GLtype"/>
443 <param name="alpha" type="GLtype"/>
444 </proto>
445 </template>
446
447 <template name="ClearStencil">
448 <proto>
449 <return type="void"/>
450 <param name="s" type="GLint"/>
451 </proto>
452 </template>
453
454 <template name="ClearDepth">
455 <proto>
456 <return type="void"/>
457 <param name="depth" type="GLtype"/>
458 </proto>
459 </template>
460
461 <template name="StencilMask">
462 <proto>
463 <return type="void"/>
464 <param name="mask" type="GLuint"/>
465 </proto>
466 </template>
467
468 <template name="StencilMaskSeparate">
469 <proto>
470 <return type="void"/>
471 <param name="face" type="GLenum"/>
472 <param name="mask" type="GLuint"/>
473 </proto>
474 </template>
475
476 <template name="ColorMask">
477 <proto>
478 <return type="void"/>
479 <param name="red" type="GLboolean"/>
480 <param name="green" type="GLboolean"/>
481 <param name="blue" type="GLboolean"/>
482 <param name="alpha" type="GLboolean"/>
483 </proto>
484 </template>
485
486 <template name="DepthMask">
487 <proto>
488 <return type="void"/>
489 <param name="flag" type="GLboolean"/>
490 </proto>
491 </template>
492
493 <template name="Disable">
494 <proto>
495 <return type="void"/>
496 <param name="cap" type="GLenum"/>
497 </proto>
498
499 <desc name="cap" category="GLES1.1">
500 <value name="GL_NORMALIZE"/>
501 <value name="GL_RESCALE_NORMAL"/>
502
503 <range base="GL_CLIP_PLANE" from="0" to="5"/>
504 <value name="GL_CLIP_PLANE0+6"/>
505 <value name="GL_CLIP_PLANE0+7"/>
506
507 <value name="GL_FOG"/>
508 <value name="GL_LIGHTING"/>
509 <value name="GL_COLOR_MATERIAL"/>
510
511 <range base="GL_LIGHT" from="0" to="7"/>
512
513 <value name="GL_POINT_SMOOTH"/>
514 <value name="GL_LINE_SMOOTH"/>
515 <value name="GL_CULL_FACE"/>
516 <value name="GL_POLYGON_OFFSET_FILL"/>
517 <value name="GL_MULTISAMPLE"/>
518 <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
519 <value name="GL_SAMPLE_ALPHA_TO_ONE"/>
520 <value name="GL_SAMPLE_COVERAGE"/>
521 <value name="GL_TEXTURE_2D"/>
522 <value name="GL_SCISSOR_TEST"/>
523 <value name="GL_ALPHA_TEST"/>
524 <value name="GL_STENCIL_TEST"/>
525 <value name="GL_DEPTH_TEST"/>
526 <value name="GL_BLEND"/>
527 <value name="GL_DITHER"/>
528 <value name="GL_COLOR_LOGIC_OP"/>
529
530 <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
531 <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
532 <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
533 <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
534 <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
535 </desc>
536
537 <desc name="cap" category="GLES2.0">
538 <value name="GL_CULL_FACE"/>
539 <value name="GL_SCISSOR_TEST"/>
540 <value name="GL_POLYGON_OFFSET_FILL"/>
541 <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
542 <value name="GL_SAMPLE_COVERAGE"/>
543 <value name="GL_STENCIL_TEST"/>
544 <value name="GL_DEPTH_TEST"/>
545 <value name="GL_DITHER"/>
546 <value name="GL_BLEND"/>
547 </desc>
548 </template>
549
550 <!-- it is exactly the same as Disable -->
551 <template name="Enable">
552 <proto>
553 <return type="void"/>
554 <param name="cap" type="GLenum"/>
555 </proto>
556
557 <desc name="cap" category="GLES1.1">
558 <value name="GL_NORMALIZE"/>
559 <value name="GL_RESCALE_NORMAL"/>
560
561 <range base="GL_CLIP_PLANE" from="0" to="5"/>
562 <value name="GL_CLIP_PLANE0+6"/>
563 <value name="GL_CLIP_PLANE0+7"/>
564
565 <value name="GL_FOG"/>
566 <value name="GL_LIGHTING"/>
567 <value name="GL_COLOR_MATERIAL"/>
568
569 <range base="GL_LIGHT" from="0" to="7"/>
570
571 <value name="GL_POINT_SMOOTH"/>
572 <value name="GL_LINE_SMOOTH"/>
573 <value name="GL_CULL_FACE"/>
574 <value name="GL_POLYGON_OFFSET_FILL"/>
575 <value name="GL_MULTISAMPLE"/>
576 <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
577 <value name="GL_SAMPLE_ALPHA_TO_ONE"/>
578 <value name="GL_SAMPLE_COVERAGE"/>
579 <value name="GL_TEXTURE_2D"/>
580 <value name="GL_SCISSOR_TEST"/>
581 <value name="GL_ALPHA_TEST"/>
582 <value name="GL_STENCIL_TEST"/>
583 <value name="GL_DEPTH_TEST"/>
584 <value name="GL_BLEND"/>
585 <value name="GL_DITHER"/>
586 <value name="GL_COLOR_LOGIC_OP"/>
587
588 <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
589 <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
590 <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
591 <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
592 <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
593 </desc>
594
595 <desc name="cap" category="GLES2.0">
596 <value name="GL_CULL_FACE"/>
597 <value name="GL_SCISSOR_TEST"/>
598 <value name="GL_POLYGON_OFFSET_FILL"/>
599 <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
600 <value name="GL_SAMPLE_COVERAGE"/>
601 <value name="GL_STENCIL_TEST"/>
602 <value name="GL_DEPTH_TEST"/>
603 <value name="GL_DITHER"/>
604 <value name="GL_BLEND"/>
605 </desc>
606 </template>
607
608 <template name="Finish">
609 <proto>
610 <return type="void"/>
611 </proto>
612 </template>
613
614 <template name="Flush">
615 <proto>
616 <return type="void"/>
617 </proto>
618 </template>
619
620 <template name="AlphaFunc">
621 <proto>
622 <return type="void"/>
623 <param name="func" type="GLenum"/>
624 <param name="ref" type="GLtype"/>
625 </proto>
626 </template>
627
628 <template name="BlendFunc">
629 <proto>
630 <return type="void"/>
631 <param name="sfactor" type="GLenum"/>
632 <param name="dfactor" type="GLenum"/>
633 </proto>
634 </template>
635
636 <template name="LogicOp">
637 <proto>
638 <return type="void"/>
639 <param name="opcode" type="GLenum"/>
640 </proto>
641 </template>
642
643 <template name="StencilFunc">
644 <proto>
645 <return type="void"/>
646 <param name="func" type="GLenum"/>
647 <param name="ref" type="GLint"/>
648 <param name="mask" type="GLuint"/>
649 </proto>
650 </template>
651
652 <template name="StencilFuncSeparate">
653 <proto>
654 <return type="void"/>
655 <param name="face" type="GLenum"/>
656 <param name="func" type="GLenum"/>
657 <param name="ref" type="GLint"/>
658 <param name="mask" type="GLuint"/>
659 </proto>
660 </template>
661
662 <template name="StencilOp">
663 <proto>
664 <return type="void"/>
665 <param name="fail" type="GLenum"/>
666 <param name="zfail" type="GLenum"/>
667 <param name="zpass" type="GLenum"/>
668 </proto>
669 </template>
670
671 <template name="StencilOpSeparate">
672 <proto>
673 <return type="void"/>
674 <param name="face" type="GLenum"/>
675 <param name="fail" type="GLenum"/>
676 <param name="zfail" type="GLenum"/>
677 <param name="zpass" type="GLenum"/>
678 </proto>
679 </template>
680
681 <template name="DepthFunc">
682 <proto>
683 <return type="void"/>
684 <param name="func" type="GLenum"/>
685 </proto>
686 </template>
687
688 <template name="PixelStore">
689 <proto>
690 <return type="void"/>
691 <param name="pname" type="GLenum"/>
692 <param name="param" type="GLtype"/>
693 </proto>
694
695 <desc name="pname">
696 <value name="GL_PACK_ALIGNMENT"/>
697 <desc name="param" error="GL_INVALID_VALUE">
698 <value name="1"/>
699 <value name="2"/>
700 <value name="4"/>
701 <value name="8"/>
702 </desc>
703 </desc>
704
705 <desc name="pname">
706 <value name="GL_UNPACK_ALIGNMENT"/>
707 <desc name="param" error="GL_INVALID_VALUE">
708 <value name="1"/>
709 <value name="2"/>
710 <value name="4"/>
711 <value name="8"/>
712 </desc>
713 </desc>
714
715 <desc name="pname" category="EXT_unpack_subimage">
716 <value name="GL_UNPACK_ROW_LENGTH"/>
717 <value name="GL_UNPACK_SKIP_PIXELS"/>
718 <value name="GL_UNPACK_SKIP_ROWS"/>
719 </desc>
720
721 </template>
722
723 <template name="ReadPixels" direction="get">
724 <proto>
725 <return type="void"/>
726 <param name="x" type="GLint"/>
727 <param name="y" type="GLint"/>
728 <param name="width" type="GLsizei"/>
729 <param name="height" type="GLsizei"/>
730 <param name="format" type="GLenum"/>
731 <param name="type" type="GLenum"/>
732 <param name="pixels" type="GLvoid *"/>
733 </proto>
734
735 <!-- Technically, only two combinations are actually allowed:
736 GL_RGBA/GL_UNSIGNED_BYTE, and some implementation-specific
737 internal preferred combination. I don't know what that is, so I'm
738 allowing any valid combination for now; the underlying support
739 should fail when necessary.-->
740 <desc name="format">
741 <value name="GL_ALPHA"/>
742 <desc name="type" error="GL_INVALID_OPERATION">
743 <value name="GL_UNSIGNED_BYTE"/>
744 </desc>
745 </desc>
746
747 <desc name="format">
748 <value name="GL_RGB"/>
749 <desc name="type" error="GL_INVALID_OPERATION">
750 <value name="GL_UNSIGNED_BYTE"/>
751 <value name="GL_UNSIGNED_SHORT_5_6_5"/>
752 </desc>
753 </desc>
754
755 <desc name="format">
756 <value name="GL_RGBA"/>
757 <desc name="type" error="GL_INVALID_OPERATION">
758 <value name="GL_UNSIGNED_BYTE"/>
759 <value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
760 <value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
761 </desc>
762 </desc>
763
764 <desc name="format">
765 <value name="GL_LUMINANCE"/>
766 <desc name="type" error="GL_INVALID_OPERATION">
767 <value name="GL_UNSIGNED_BYTE"/>
768 </desc>
769 </desc>
770
771 <desc name="format">
772 <value name="GL_LUMINANCE_ALPHA"/>
773 <desc name="type" error="GL_INVALID_OPERATION">
774 <value name="GL_UNSIGNED_BYTE"/>
775 </desc>
776 </desc>
777
778 <desc name="format" category="EXT_read_format_bgra">
779 <value name="GL_BGRA_EXT"/>
780
781 <desc name="type" error="GL_INVALID_OPERATION">
782 <value name="GL_UNSIGNED_BYTE"/>
783 <value name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/>
784 <value name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
785 </desc>
786 </desc>
787 </template>
788
789 <template name="GetClipPlane" direction="get">
790 <proto>
791 <return type="void"/>
792 <param name="plane" type="GLenum"/>
793 <vector name="equation" type="GLtype *" size="4"/>
794 </proto>
795 </template>
796
797 <template name="GetError" direction="get">
798 <proto>
799 <return type="GLenum"/>
800 </proto>
801 </template>
802
803 <!-- template for GetFloatv, GetIntegerv, GetBoolean, and GetFixedv -->
804 <template name="GetState" direction="get">
805 <proto>
806 <return type="void"/>
807 <param name="pname" type="GLenum"/>
808 <vector name="params" type="GLtype *" size="dynamic"/>
809 </proto>
810 <!-- param checking is done in mesa -->
811 </template>
812
813 <template name="GetLight" direction="get">
814 <proto>
815 <return type="void"/>
816 <param name="light" type="GLenum"/>
817 <param name="pname" type="GLenum"/>
818 <vector name="params" type="GLtype *" size="dynamic"/>
819 </proto>
820 </template>
821
822 <template name="GetMaterial" direction="get">
823 <proto>
824 <return type="void"/>
825 <param name="face" type="GLenum"/>
826 <param name="pname" type="GLenum"/>
827 <vector name="params" type="GLtype *" size="dynamic">
828 <param name="param" type="GLtype"/>
829 </vector>
830 </proto>
831
832 <desc name="face">
833 <value name="GL_FRONT"/>
834 <value name="GL_BACK"/>
835 </desc>
836
837 <desc name="pname">
838 <value name="GL_SHININESS"/>
839 <desc name="params" vector_size="1"/>
840 </desc>
841
842 <desc name="pname">
843 <value name="GL_AMBIENT"/>
844 <value name="GL_DIFFUSE"/>
845 <value name="GL_AMBIENT_AND_DIFFUSE"/>
846 <value name="GL_SPECULAR"/>
847 <value name="GL_EMISSION"/>
848
849 <desc name="params" vector_size="4"/>
850 </desc>
851 </template>
852
853 <template name="GetString" direction="get">
854 <proto>
855 <return type="const GLubyte *"/>
856 <param name="name" type="GLenum"/>
857 </proto>
858 </template>
859
860 <template name="GetTexEnv" direction="get">
861 <proto>
862 <return type="void"/>
863 <param name="target" type="GLenum"/>
864 <param name="pname" type="GLenum"/>
865 <vector name="params" type="GLtype *" size="dynamic"/>
866 </proto>
867
868 <desc name="target" category="OES_point_sprite">
869 <value name="GL_POINT_SPRITE_OES"/>
870 <desc name="pname">
871 <value name="GL_COORD_REPLACE_OES"/>
872 </desc>
873 </desc>
874
875 <desc name="pname" category="OES_point_sprite">
876 <value name="GL_COORD_REPLACE_OES"/>
877 <desc name="params" vector_size="1" convert="false"/>
878 </desc>
879
880 <desc name="target" category="EXT_texture_lod_bias">
881 <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
882
883 <desc name="pname">
884 <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
885 </desc>
886 </desc>
887
888 <desc name="pname" category="EXT_texture_lod_bias">
889 <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
890 <desc name="params" vector_size="1"/>
891 </desc>
892
893 <desc name="target">
894 <value name="GL_TEXTURE_ENV"/>
895
896 <desc name="pname">
897 <value name="GL_TEXTURE_ENV_COLOR"/>
898 <value name="GL_RGB_SCALE"/>
899 <value name="GL_ALPHA_SCALE"/>
900 <value name="GL_TEXTURE_ENV_MODE"/>
901 <value name="GL_COMBINE_RGB"/>
902 <value name="GL_COMBINE_ALPHA"/>
903 <value name="GL_SRC0_RGB"/>
904 <value name="GL_SRC1_RGB"/>
905 <value name="GL_SRC2_RGB"/>
906 <value name="GL_SRC0_ALPHA"/>
907 <value name="GL_SRC1_ALPHA"/>
908 <value name="GL_SRC2_ALPHA"/>
909 <value name="GL_OPERAND0_RGB"/>
910 <value name="GL_OPERAND1_RGB"/>
911 <value name="GL_OPERAND2_RGB"/>
912 <value name="GL_OPERAND0_ALPHA"/>
913 <value name="GL_OPERAND1_ALPHA"/>
914 <value name="GL_OPERAND2_ALPHA"/>
915 </desc>
916 </desc>
917
918 <desc name="pname">
919 <value name="GL_TEXTURE_ENV_COLOR"/>
920 <desc name="params" vector_size="4"/>
921 </desc>
922
923 <desc name="pname">
924 <value name="GL_RGB_SCALE"/>
925 <value name="GL_ALPHA_SCALE"/>
926
927 <desc name="params" vector_size="1"/>
928 </desc>
929
930 <desc name="pname">
931 <value name="GL_TEXTURE_ENV_MODE"/>
932 <value name="GL_COMBINE_RGB"/>
933 <value name="GL_COMBINE_ALPHA"/>
934 <value name="GL_SRC0_RGB"/>
935 <value name="GL_SRC1_RGB"/>
936 <value name="GL_SRC2_RGB"/>
937 <value name="GL_SRC0_ALPHA"/>
938 <value name="GL_SRC1_ALPHA"/>
939 <value name="GL_SRC2_ALPHA"/>
940 <value name="GL_OPERAND0_RGB"/>
941 <value name="GL_OPERAND1_RGB"/>
942 <value name="GL_OPERAND2_RGB"/>
943 <value name="GL_OPERAND0_ALPHA"/>
944 <value name="GL_OPERAND1_ALPHA"/>
945 <value name="GL_OPERAND2_ALPHA"/>
946
947 <desc name="params" vector_size="1" convert="false"/>
948 </desc>
949 </template>
950
951 <template name="GetTexGen" direction="get">
952 <proto>
953 <return type="void"/>
954 <param name="coord" type="GLenum"/>
955 <param name="pname" type="GLenum"/>
956 <vector name="params" type="GLtype *" size="dynamic"/>
957 </proto>
958
959 <desc name="coord">
960 <value name="GL_TEXTURE_GEN_STR_OES"/>
961 </desc>
962 <desc name="pname">
963 <value name="GL_TEXTURE_GEN_MODE_OES"/>
964 <desc name="params" vector_size="1" convert="false"/>
965 </desc>
966 </template>
967
968 <template name="GetTexParameter" direction="get">
969 <proto>
970 <return type="void"/>
971 <param name="target" type="GLenum"/>
972 <param name="pname" type="GLenum"/>
973 <vector name="params" type="GLtype *" size="dynamic"/>
974 </proto>
975 </template>
976
977 <template name="IsEnabled" direction="get">
978 <proto>
979 <return type="GLboolean"/>
980 <param name="cap" type="GLenum"/>
981 </proto>
982
983 <desc name="cap" category="GLES1.1">
984 <value name="GL_NORMALIZE"/>
985 <value name="GL_RESCALE_NORMAL"/>
986
987 <range base="GL_CLIP_PLANE" from="0" to="5"/>
988 <value name="GL_CLIP_PLANE0+6"/>
989 <value name="GL_CLIP_PLANE0+7"/>
990
991 <value name="GL_FOG"/>
992 <value name="GL_LIGHTING"/>
993 <value name="GL_COLOR_MATERIAL"/>
994
995 <range base="GL_LIGHT" from="0" to="7"/>
996
997 <value name="GL_POINT_SMOOTH"/>
998 <value name="GL_LINE_SMOOTH"/>
999 <value name="GL_CULL_FACE"/>
1000 <value name="GL_POLYGON_OFFSET_FILL"/>
1001 <value name="GL_MULTISAMPLE"/>
1002 <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
1003 <value name="GL_SAMPLE_ALPHA_TO_ONE"/>
1004 <value name="GL_SAMPLE_COVERAGE"/>
1005 <value name="GL_TEXTURE_2D"/>
1006 <value name="GL_SCISSOR_TEST"/>
1007 <value name="GL_ALPHA_TEST"/>
1008 <value name="GL_STENCIL_TEST"/>
1009 <value name="GL_DEPTH_TEST"/>
1010 <value name="GL_BLEND"/>
1011 <value name="GL_DITHER"/>
1012 <value name="GL_COLOR_LOGIC_OP"/>
1013
1014 <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
1015 <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
1016 <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
1017
1018 <value name="GL_VERTEX_ARRAY"/>
1019 <value name="GL_NORMAL_ARRAY"/>
1020 <value name="GL_COLOR_ARRAY"/>
1021 <value name="GL_TEXTURE_COORD_ARRAY"/>
1022 <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1023 <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1024 <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1025 <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/>
1026 </desc>
1027
1028 <desc name="cap" category="GLES2.0">
1029 <value name="GL_CULL_FACE"/>
1030 <value name="GL_SCISSOR_TEST"/>
1031 <value name="GL_POLYGON_OFFSET_FILL"/>
1032 <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
1033 <value name="GL_SAMPLE_COVERAGE"/>
1034 <value name="GL_STENCIL_TEST"/>
1035 <value name="GL_DEPTH_TEST"/>
1036 <value name="GL_DITHER"/>
1037 <value name="GL_BLEND"/>
1038 </desc>
1039 </template>
1040
1041 <template name="DepthRange">
1042 <proto>
1043 <return type="void"/>
1044 <param name="zNear" type="GLtype"/>
1045 <param name="zFar" type="GLtype"/>
1046 </proto>
1047 </template>
1048
1049 <template name="Frustum">
1050 <proto>
1051 <return type="void"/>
1052 <param name="left" type="GLtype"/>
1053 <param name="right" type="GLtype"/>
1054 <param name="bottom" type="GLtype"/>
1055 <param name="top" type="GLtype"/>
1056 <param name="zNear" type="GLtype"/>
1057 <param name="zFar" type="GLtype"/>
1058 </proto>
1059 </template>
1060
1061 <template name="LoadIdentity">
1062 <proto>
1063 <return type="void"/>
1064 </proto>
1065 </template>
1066
1067 <template name="LoadMatrix">
1068 <proto>
1069 <return type="void"/>
1070 <vector name="m" type="const GLtype *" size="16"/>
1071 </proto>
1072 </template>
1073
1074 <template name="MatrixMode">
1075 <proto>
1076 <return type="void"/>
1077 <param name="mode" type="GLenum"/>
1078 </proto>
1079
1080 <desc name="mode">
1081 <value name="GL_MODELVIEW"/>
1082 <value name="GL_PROJECTION"/>
1083 <value name="GL_TEXTURE"/>
1084 <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
1085 </desc>
1086 </template>
1087
1088 <template name="MultMatrix">
1089 <proto>
1090 <return type="void"/>
1091 <vector name="m" type="const GLtype *" size="16"/>
1092 </proto>
1093 </template>
1094
1095 <template name="Ortho">
1096 <proto>
1097 <return type="void"/>
1098 <param name="left" type="GLtype"/>
1099 <param name="right" type="GLtype"/>
1100 <param name="bottom" type="GLtype"/>
1101 <param name="top" type="GLtype"/>
1102 <param name="zNear" type="GLtype"/>
1103 <param name="zFar" type="GLtype"/>
1104 </proto>
1105 </template>
1106
1107 <template name="PopMatrix">
1108 <proto>
1109 <return type="void"/>
1110 </proto>
1111 </template>
1112
1113 <template name="PushMatrix">
1114 <proto>
1115 <return type="void"/>
1116 </proto>
1117 </template>
1118
1119 <template name="Rotate">
1120 <proto>
1121 <return type="void"/>
1122 <param name="angle" type="GLtype"/>
1123 <param name="x" type="GLtype"/>
1124 <param name="y" type="GLtype"/>
1125 <param name="z" type="GLtype"/>
1126 </proto>
1127 </template>
1128
1129 <template name="Scale">
1130 <proto>
1131 <return type="void"/>
1132 <param name="x" type="GLtype"/>
1133 <param name="y" type="GLtype"/>
1134 <param name="z" type="GLtype"/>
1135 </proto>
1136 </template>
1137
1138 <template name="Translate">
1139 <proto>
1140 <return type="void"/>
1141 <param name="x" type="GLtype"/>
1142 <param name="y" type="GLtype"/>
1143 <param name="z" type="GLtype"/>
1144 </proto>
1145 </template>
1146
1147 <template name="Viewport">
1148 <proto>
1149 <return type="void"/>
1150 <param name="x" type="GLint"/>
1151 <param name="y" type="GLint"/>
1152 <param name="width" type="GLsizei"/>
1153 <param name="height" type="GLsizei"/>
1154 </proto>
1155 </template>
1156
1157 <template name="ColorPointer">
1158 <proto>
1159 <return type="void"/>
1160 <param name="size" type="GLint"/>
1161 <param name="type" type="GLenum"/>
1162 <param name="stride" type="GLsizei"/>
1163 <param name="pointer" type="const GLvoid *"/>
1164 </proto>
1165 </template>
1166
1167 <template name="DisableClientState">
1168 <proto>
1169 <return type="void"/>
1170 <param name="array" type="GLenum"/>
1171 </proto>
1172
1173 <desc name="array">
1174 <value name="GL_VERTEX_ARRAY"/>
1175 <value name="GL_NORMAL_ARRAY"/>
1176 <value name="GL_COLOR_ARRAY"/>
1177 <value name="GL_TEXTURE_COORD_ARRAY"/>
1178 <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1179 <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1180 <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1181 </desc>
1182 </template>
1183
1184 <template name="DrawArrays">
1185 <proto>
1186 <return type="void"/>
1187 <param name="mode" type="GLenum"/>
1188 <param name="first" type="GLint"/>
1189 <param name="count" type="GLsizei"/>
1190 </proto>
1191 </template>
1192
1193 <template name="DrawElements">
1194 <proto>
1195 <return type="void"/>
1196 <param name="mode" type="GLenum"/>
1197 <param name="count" type="GLsizei"/>
1198 <param name="type" type="GLenum"/>
1199 <param name="indices" type="const GLvoid *"/>
1200 </proto>
1201 </template>
1202
1203 <template name="EnableClientState">
1204 <proto>
1205 <return type="void"/>
1206 <param name="array" type="GLenum"/>
1207 </proto>
1208
1209 <desc name="array">
1210 <value name="GL_VERTEX_ARRAY"/>
1211 <value name="GL_NORMAL_ARRAY"/>
1212 <value name="GL_COLOR_ARRAY"/>
1213 <value name="GL_TEXTURE_COORD_ARRAY"/>
1214 <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
1215 <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
1216 <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
1217 </desc>
1218 </template>
1219
1220 <template name="GetPointer" direction="get">
1221 <proto>
1222 <return type="void"/>
1223 <param name="pname" type="GLenum"/>
1224 <vector name="params" type="GLvoid **" size="dynamic"/>
1225 </proto>
1226
1227 <desc name="pname">
1228 <value name="GL_VERTEX_ARRAY_POINTER"/>
1229 <value name="GL_NORMAL_ARRAY_POINTER"/>
1230 <value name="GL_COLOR_ARRAY_POINTER"/>
1231 <value name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
1232 <value name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
1233 <value name="GL_WEIGHT_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
1234 <value name="GL_POINT_SIZE_ARRAY_POINTER_OES" category="OES_point_size_array"/>
1235 </desc>
1236 </template>
1237
1238 <template name="Normal">
1239 <proto>
1240 <return type="void"/>
1241 <vector name="v" type="const GLtype *" size="3">
1242 <param name="nx" type="GLtype"/>
1243 <param name="ny" type="GLtype"/>
1244 <param name="nz" type="GLtype"/>
1245 </vector>
1246 </proto>
1247 </template>
1248
1249 <template name="NormalPointer">
1250 <proto>
1251 <return type="void"/>
1252 <param name="type" type="GLenum"/>
1253 <param name="stride" type="GLsizei"/>
1254 <param name="pointer" type="const GLvoid *"/>
1255 </proto>
1256 </template>
1257
1258 <template name="TexCoordPointer">
1259 <proto>
1260 <return type="void"/>
1261 <param name="size" type="GLint"/>
1262 <param name="type" type="GLenum"/>
1263 <param name="stride" type="GLsizei"/>
1264 <param name="pointer" type="const GLvoid *"/>
1265 </proto>
1266 </template>
1267
1268 <template name="VertexPointer">
1269 <proto>
1270 <return type="void"/>
1271 <param name="size" type="GLint"/>
1272 <param name="type" type="GLenum"/>
1273 <param name="stride" type="GLsizei"/>
1274 <param name="pointer" type="const GLvoid *"/>
1275 </proto>
1276 </template>
1277
1278 <template name="PolygonOffset">
1279 <proto>
1280 <return type="void"/>
1281 <param name="factor" type="GLtype"/>
1282 <param name="units" type="GLtype"/>
1283 </proto>
1284 </template>
1285
1286 <template name="CopyTexImage2D">
1287 <proto>
1288 <return type="void"/>
1289 <param name="target" type="GLenum"/>
1290 <param name="level" type="GLint"/>
1291 <param name="internalFormat" type="GLenum"/>
1292 <param name="x" type="GLint"/>
1293 <param name="y" type="GLint"/>
1294 <param name="width" type="GLsizei"/>
1295 <param name="height" type="GLsizei"/>
1296 <param name="border" type="GLint"/>
1297 </proto>
1298 </template>
1299
1300 <template name="CopyTexSubImage2D">
1301 <proto>
1302 <return type="void"/>
1303 <param name="target" type="GLenum"/>
1304 <param name="level" type="GLint"/>
1305 <param name="xoffset" type="GLint"/>
1306 <param name="yoffset" type="GLint"/>
1307 <param name="x" type="GLint"/>
1308 <param name="y" type="GLint"/>
1309 <param name="width" type="GLsizei"/>
1310 <param name="height" type="GLsizei"/>
1311 </proto>
1312 </template>
1313
1314 <template name="TexSubImage2D">
1315 <proto>
1316 <return type="void"/>
1317 <param name="target" type="GLenum"/>
1318 <param name="level" type="GLint"/>
1319 <param name="xoffset" type="GLint"/>
1320 <param name="yoffset" type="GLint"/>
1321 <param name="width" type="GLsizei"/>
1322 <param name="height" type="GLsizei"/>
1323 <param name="format" type="GLenum"/>
1324 <param name="type" type="GLenum"/>
1325 <param name="pixels" type="const GLvoid *"/>
1326 </proto>
1327 </template>
1328
1329 <template name="BindTexture">
1330 <proto>
1331 <return type="void"/>
1332 <param name="target" type="GLenum"/>
1333 <param name="texture" type="GLuint"/>
1334 </proto>
1335 </template>
1336
1337 <template name="DeleteTextures">
1338 <proto>
1339 <return type="void"/>
1340 <param name="n" type="GLsizei"/>
1341 <param name="textures" type="const GLuint *"/>
1342 </proto>
1343 </template>
1344
1345 <template name="GenTextures" direction="get">
1346 <proto>
1347 <return type="void"/>
1348 <param name="n" type="GLsizei"/>
1349 <param name="textures" type="GLuint *"/>
1350 </proto>
1351 </template>
1352
1353 <template name="IsTexture" direction="get">
1354 <proto>
1355 <return type="GLboolean"/>
1356 <param name="texture" type="GLuint"/>
1357 </proto>
1358 </template>
1359
1360 <template name="BlendColor">
1361 <proto>
1362 <return type="void"/>
1363 <param name="red" type="GLtype"/>
1364 <param name="green" type="GLtype"/>
1365 <param name="blue" type="GLtype"/>
1366 <param name="alpha" type="GLtype"/>
1367 </proto>
1368 </template>
1369
1370 <template name="BlendEquation">
1371 <proto>
1372 <return type="void"/>
1373 <param name="mode" type="GLenum"/>
1374 </proto>
1375 </template>
1376
1377 <template name="BlendEquationSeparate">
1378 <proto>
1379 <return type="void"/>
1380 <param name="modeRGB" type="GLenum"/>
1381 <param name="modeAlpha" type="GLenum"/>
1382 </proto>
1383 </template>
1384
1385 <template name="TexImage3D">
1386 <proto>
1387 <return type="void"/>
1388 <param name="target" type="GLenum"/>
1389 <param name="level" type="GLint"/>
1390 <param name="internalFormat" type="GLenum"/>
1391 <param name="width" type="GLsizei"/>
1392 <param name="height" type="GLsizei"/>
1393 <param name="depth" type="GLsizei"/>
1394 <param name="border" type="GLint"/>
1395 <param name="format" type="GLenum"/>
1396 <param name="type" type="GLenum"/>
1397 <param name="pixels" type="const GLvoid *"/>
1398 </proto>
1399
1400 </template>
1401
1402 <template name="TexSubImage3D">
1403 <proto>
1404 <return type="void"/>
1405 <param name="target" type="GLenum"/>
1406 <param name="level" type="GLint"/>
1407 <param name="xoffset" type="GLint"/>
1408 <param name="yoffset" type="GLint"/>
1409 <param name="zoffset" type="GLint"/>
1410 <param name="width" type="GLsizei"/>
1411 <param name="height" type="GLsizei"/>
1412 <param name="depth" type="GLsizei"/>
1413 <param name="format" type="GLenum"/>
1414 <param name="type" type="GLenum"/>
1415 <param name="pixels" type="const GLvoid *"/>
1416 </proto>
1417 </template>
1418
1419 <template name="CopyTexSubImage3D">
1420 <proto>
1421 <return type="void"/>
1422 <param name="target" type="GLenum"/>
1423 <param name="level" type="GLint"/>
1424 <param name="xoffset" type="GLint"/>
1425 <param name="yoffset" type="GLint"/>
1426 <param name="zoffset" type="GLint"/>
1427 <param name="x" type="GLint"/>
1428 <param name="y" type="GLint"/>
1429 <param name="width" type="GLsizei"/>
1430 <param name="height" type="GLsizei"/>
1431 </proto>
1432 </template>
1433
1434 <template name="MultiTexCoord">
1435 <proto>
1436 <return type="void"/>
1437 <param name="texture" type="GLenum"/>
1438 <vector name="v" type="const GLtype *" size="dynamic">
1439 <param name="s" type="GLtype"/>
1440 <param name="t" type="GLtype"/>
1441 <param name="r" type="GLtype"/>
1442 <param name="q" type="GLtype"/>
1443 </vector>
1444 </proto>
1445 </template>
1446
1447 <template name="CompressedTexImage3D">
1448 <proto>
1449 <return type="void"/>
1450 <param name="target" type="GLenum"/>
1451 <param name="level" type="GLint"/>
1452 <param name="internalFormat" type="GLenum"/>
1453 <param name="width" type="GLsizei"/>
1454 <param name="height" type="GLsizei"/>
1455 <param name="depth" type="GLsizei"/>
1456 <param name="border" type="GLint"/>
1457 <param name="imagesize" type="GLsizei"/>
1458 <param name="data" type="const GLvoid *"/>
1459 </proto>
1460 </template>
1461
1462 <template name="CompressedTexSubImage3D">
1463 <proto>
1464 <return type="void"/>
1465 <param name="target" type="GLenum"/>
1466 <param name="level" type="GLint"/>
1467 <param name="xoffset" type="GLint"/>
1468 <param name="yoffset" type="GLint"/>
1469 <param name="zoffset" type="GLint"/>
1470 <param name="width" type="GLsizei"/>
1471 <param name="height" type="GLsizei"/>
1472 <param name="depth" type="GLsizei"/>
1473 <param name="format" type="GLenum"/>
1474 <param name="imagesize" type="GLsizei"/>
1475 <param name="data" type="const GLvoid *"/>
1476 </proto>
1477 </template>
1478
1479 <template name="ActiveTexture">
1480 <proto>
1481 <return type="void"/>
1482 <param name="texture" type="GLenum"/>
1483 </proto>
1484 </template>
1485
1486 <template name="ClientActiveTexture">
1487 <proto>
1488 <return type="void"/>
1489 <param name="texture" type="GLenum"/>
1490 </proto>
1491 </template>
1492
1493 <template name="SampleCoverage">
1494 <proto>
1495 <return type="void"/>
1496 <param name="value" type="GLtype"/>
1497 <param name="invert" type="GLboolean"/>
1498 </proto>
1499 </template>
1500
1501 <template name="CompressedTexImage2D">
1502 <proto>
1503 <return type="void"/>
1504 <param name="target" type="GLenum"/>
1505 <param name="level" type="GLint"/>
1506 <param name="internalFormat" type="GLenum"/>
1507 <param name="width" type="GLsizei"/>
1508 <param name="height" type="GLsizei"/>
1509 <param name="border" type="GLint"/>
1510 <param name="imageSize" type="GLsizei"/>
1511 <param name="data" type="const GLvoid *"/>
1512 </proto>
1513 </template>
1514
1515 <template name="CompressedTexSubImage2D">
1516 <proto>
1517 <return type="void"/>
1518 <param name="target" type="GLenum"/>
1519 <param name="level" type="GLint"/>
1520 <param name="xoffset" type="GLint"/>
1521 <param name="yoffset" type="GLint"/>
1522 <param name="width" type="GLsizei"/>
1523 <param name="height" type="GLsizei"/>
1524 <param name="format" type="GLenum"/>
1525 <param name="imageSize" type="GLsizei"/>
1526 <param name="data" type="const GLvoid *"/>
1527 </proto>
1528 </template>
1529
1530 <template name="BlendFuncSeparate">
1531 <proto>
1532 <return type="void"/>
1533 <param name="srcRGB" type="GLenum"/>
1534 <param name="dstRGB" type="GLenum"/>
1535 <param name="srcAlpha" type="GLenum"/>
1536 <param name="dstAlpha" type="GLenum"/>
1537 </proto>
1538 </template>
1539
1540 <template name="PointParameter">
1541 <proto>
1542 <return type="void"/>
1543 <param name="pname" type="GLenum"/>
1544 <vector name="params" type="const GLtype *" size="dynamic">
1545 <param name="param" type="GLtype"/>
1546 </vector>
1547 </proto>
1548
1549 <desc name="pname">
1550 <value name="GL_POINT_SIZE_MIN"/>
1551 <value name="GL_POINT_SIZE_MAX"/>
1552 <value name="GL_POINT_FADE_THRESHOLD_SIZE"/>
1553
1554 <desc name="params" vector_size="1"/>
1555 </desc>
1556
1557 <desc name="pname">
1558 <value name="GL_POINT_DISTANCE_ATTENUATION"/>
1559 <desc name="params" vector_size="3"/>
1560 </desc>
1561 </template>
1562
1563 <template name="VertexAttrib">
1564 <proto>
1565 <return type="void"/>
1566 <param name="index" type="GLuint"/>
1567 <vector name="v" type="const GLtype *" size="dynamic">
1568 <param name="x" type="GLtype"/>
1569 <param name="y" type="GLtype"/>
1570 <param name="z" type="GLtype"/>
1571 <param name="w" type="GLtype"/>
1572 </vector>
1573 </proto>
1574 </template>
1575
1576 <template name="VertexAttribPointer">
1577 <proto>
1578 <return type="void"/>
1579 <param name="index" type="GLuint"/>
1580 <param name="size" type="GLint"/>
1581 <param name="type" type="GLenum"/>
1582 <param name="normalized" type="GLboolean"/>
1583 <param name="stride" type="GLsizei"/>
1584 <param name="pointer" type="const GLvoid *"/>
1585 </proto>
1586 </template>
1587
1588 <template name="EnableVertexAttribArray">
1589 <proto>
1590 <return type="void"/>
1591 <param name="index" type="GLuint"/>
1592 </proto>
1593 </template>
1594
1595 <template name="DisableVertexAttribArray">
1596 <proto>
1597 <return type="void"/>
1598 <param name="index" type="GLuint"/>
1599 </proto>
1600 </template>
1601
1602 <template name="IsProgram" direction="get">
1603 <proto>
1604 <return type="GLboolean"/>
1605 <param name="program" type="GLuint"/>
1606 </proto>
1607 </template>
1608
1609 <template name="GetProgram" direction="get">
1610 <proto>
1611 <return type="void"/>
1612 <param name="program" type="GLuint"/>
1613 <param name="pname" type="GLenum"/>
1614 <vector name="params" type="GLtype *" size="dynamic"/>
1615 </proto>
1616 </template>
1617
1618 <template name="GetVertexAttrib" direction="get">
1619 <proto>
1620 <return type="void"/>
1621 <param name="index" type="GLuint"/>
1622 <param name="pname" type="GLenum"/>
1623 <vector name="params" type="GLtype *" size="dynamic"/>
1624 </proto>
1625 </template>
1626
1627 <template name="GetVertexAttribPointer" direction="get">
1628 <proto>
1629 <return type="void"/>
1630 <param name="index" type="GLuint"/>
1631 <param name="pname" type="GLenum"/>
1632 <vector name="pointer" type="GLvoid **" size="dynamic"/>
1633 </proto>
1634 </template>
1635
1636 <template name="GetBufferPointer" direction="get">
1637 <proto>
1638 <return type="void"/>
1639 <param name="target" type="GLenum"/>
1640 <param name="pname" type="GLenum"/>
1641 <vector name="params" type="GLvoid **" size="dynamic"/>
1642 </proto>
1643 </template>
1644
1645 <template name="MapBuffer" direction="get">
1646 <proto>
1647 <return type="void *"/>
1648 <param name="target" type="GLenum"/>
1649 <param name="access" type="GLenum"/>
1650 </proto>
1651 </template>
1652
1653 <template name="UnmapBuffer" direction="get">
1654 <proto>
1655 <return type="GLboolean"/>
1656 <param name="target" type="GLenum"/>
1657 </proto>
1658 </template>
1659
1660 <template name="BindBuffer">
1661 <proto>
1662 <return type="void"/>
1663 <param name="target" type="GLenum"/>
1664 <param name="buffer" type="GLuint"/>
1665 </proto>
1666 </template>
1667
1668 <template name="BufferData">
1669 <proto>
1670 <return type="void"/>
1671 <param name="target" type="GLenum"/>
1672 <param name="size" type="GLsizeiptr"/>
1673 <param name="data" type="const GLvoid *"/>
1674 <param name="usage" type="GLenum"/>
1675 </proto>
1676 </template>
1677
1678 <template name="BufferSubData">
1679 <proto>
1680 <return type="void"/>
1681 <param name="target" type="GLenum"/>
1682 <param name="offset" type="GLintptr"/>
1683 <param name="size" type="GLsizeiptr"/>
1684 <param name="data" type="const GLvoid *"/>
1685 </proto>
1686 </template>
1687
1688 <template name="DeleteBuffers">
1689 <proto>
1690 <return type="void"/>
1691 <param name="n" type="GLsizei"/>
1692 <param name="buffer" type="const GLuint *"/>
1693 </proto>
1694 </template>
1695
1696 <template name="GenBuffers" direction="get">
1697 <proto>
1698 <return type="void"/>
1699 <param name="n" type="GLsizei"/>
1700 <param name="buffer" type="GLuint *"/>
1701 </proto>
1702 </template>
1703
1704 <template name="GetBufferParameter" direction="get">
1705 <proto>
1706 <return type="void"/>
1707 <param name="target" type="GLenum"/>
1708 <param name="pname" type="GLenum"/>
1709 <vector name="params" type="GLtype *" size="dynamic"/>
1710 </proto>
1711 </template>
1712
1713 <template name="IsBuffer" direction="get">
1714 <proto>
1715 <return type="GLboolean"/>
1716 <param name="buffer" type="GLuint"/>
1717 </proto>
1718 </template>
1719
1720 <template name="CreateShader">
1721 <proto>
1722 <return type="GLuint"/>
1723 <param name="type" type="GLenum"/>
1724 </proto>
1725 </template>
1726
1727 <template name="ShaderSource">
1728 <proto>
1729 <return type="void"/>
1730 <param name="shader" type="GLuint"/>
1731 <param name="count" type="GLsizei"/>
1732 <param name="string" type="const GLchar * const *"/>
1733 <param name="length" type="const int *"/>
1734 </proto>
1735 </template>
1736
1737 <template name="CompileShader">
1738 <proto>
1739 <return type="void"/>
1740 <param name="shader" type="GLuint"/>
1741 </proto>
1742 </template>
1743
1744 <template name="ReleaseShaderCompiler">
1745 <proto>
1746 <return type="void"/>
1747 </proto>
1748 </template>
1749
1750 <template name="DeleteShader">
1751 <proto>
1752 <return type="void"/>
1753 <param name="shader" type="GLuint"/>
1754 </proto>
1755 </template>
1756
1757 <template name="ShaderBinary">
1758 <proto>
1759 <return type="void"/>
1760 <param name="n" type="GLsizei"/>
1761 <param name="shaders" type="const GLuint *"/>
1762 <param name="binaryformat" type="GLenum"/>
1763 <param name="binary" type="const GLvoid *"/>
1764 <param name="length" type="GLsizei"/>
1765 </proto>
1766 </template>
1767
1768 <template name="CreateProgram">
1769 <proto>
1770 <return type="GLuint"/>
1771 </proto>
1772 </template>
1773
1774 <template name="AttachShader">
1775 <proto>
1776 <return type="void"/>
1777 <param name="program" type="GLuint"/>
1778 <param name="shader" type="GLuint"/>
1779 </proto>
1780 </template>
1781
1782 <template name="DetachShader">
1783 <proto>
1784 <return type="void"/>
1785 <param name="program" type="GLuint"/>
1786 <param name="shader" type="GLuint"/>
1787 </proto>
1788 </template>
1789
1790 <template name="LinkProgram">
1791 <proto>
1792 <return type="void"/>
1793 <param name="program" type="GLuint"/>
1794 </proto>
1795 </template>
1796
1797 <template name="UseProgram">
1798 <proto>
1799 <return type="void"/>
1800 <param name="program" type="GLuint"/>
1801 </proto>
1802 </template>
1803
1804 <template name="DeleteProgram">
1805 <proto>
1806 <return type="void"/>
1807 <param name="program" type="GLuint"/>
1808 </proto>
1809 </template>
1810
1811 <template name="GetActiveAttrib" direction="get">
1812 <proto>
1813 <return type="void"/>
1814 <param name="program" type="GLuint"/>
1815 <param name="index" type="GLuint"/>
1816 <param name="bufSize" type="GLsizei"/>
1817 <param name="length" type="GLsizei *"/>
1818 <param name="size" type="GLint *"/>
1819 <param name="type" type="GLenum *"/>
1820 <param name="name" type="GLchar *"/>
1821 </proto>
1822 </template>
1823
1824 <template name="GetAttribLocation" direction="get">
1825 <proto>
1826 <return type="GLint"/>
1827 <param name="program" type="GLuint"/>
1828 <param name="name" type="const char *"/>
1829 </proto>
1830 </template>
1831
1832 <template name="BindAttribLocation">
1833 <proto>
1834 <return type="void"/>
1835 <param name="program" type="GLuint"/>
1836 <param name="index" type="GLuint"/>
1837 <param name="name" type="const char *"/>
1838 </proto>
1839 </template>
1840
1841 <template name="GetUniformLocation" direction="get">
1842 <proto>
1843 <return type="GLint"/>
1844 <param name="program" type="GLuint"/>
1845 <param name="name" type="const char *"/>
1846 </proto>
1847 </template>
1848
1849 <template name="GetActiveUniform" direction="get">
1850 <proto>
1851 <return type="void"/>
1852 <param name="program" type="GLuint"/>
1853 <param name="index" type="GLuint"/>
1854 <param name="bufSize" type="GLsizei"/>
1855 <param name="length" type="GLsizei *"/>
1856 <param name="size" type="GLint *"/>
1857 <param name="type" type="GLenum *"/>
1858 <param name="name" type="GLchar *"/>
1859 </proto>
1860 </template>
1861
1862 <template name="Uniform">
1863 <proto>
1864 <return type="void"/>
1865 <param name="location" type="GLint"/>
1866 <param name="count" type="GLsizei" hide_if_expanded="true"/>
1867 <vector name="values" type="const GLtype *" size="dynamic">
1868 <param name="v0" type="GLtype"/>
1869 <param name="v1" type="GLtype"/>
1870 <param name="v2" type="GLtype"/>
1871 <param name="v3" type="GLtype"/>
1872 </vector>
1873 </proto>
1874 </template>
1875
1876 <template name="UniformMatrix">
1877 <proto>
1878 <return type="void"/>
1879 <param name="location" type="GLint"/>
1880 <param name="count" type="GLsizei"/>
1881 <param name="transpose" type="GLboolean"/>
1882 <vector name="value" type="const GLtype *" size="dynamic"/>
1883 </proto>
1884 </template>
1885
1886 <template name="ValidateProgram">
1887 <proto>
1888 <return type="void"/>
1889 <param name="program" type="GLuint"/>
1890 </proto>
1891 </template>
1892
1893 <template name="GenerateMipmap">
1894 <proto>
1895 <return type="void"/>
1896 <param name="target" type="GLenum"/>
1897 </proto>
1898 </template>
1899
1900 <template name="BindFramebuffer">
1901 <proto>
1902 <return type="void"/>
1903 <param name="target" type="GLenum"/>
1904 <param name="framebuffer" type="GLuint"/>
1905 </proto>
1906 </template>
1907
1908 <template name="DeleteFramebuffers">
1909 <proto>
1910 <return type="void"/>
1911 <param name="n" type="GLsizei"/>
1912 <param name="framebuffers" type="const GLuint *"/>
1913 </proto>
1914 </template>
1915
1916 <template name="GenFramebuffers">
1917 <proto>
1918 <return type="void"/>
1919 <param name="n" type="GLsizei"/>
1920 <param name="ids" type="GLuint *"/>
1921 </proto>
1922 </template>
1923
1924 <template name="BindRenderbuffer">
1925 <proto>
1926 <return type="void"/>
1927 <param name="target" type="GLenum"/>
1928 <param name="renderbuffer" type="GLuint"/>
1929 </proto>
1930 </template>
1931
1932 <template name="DeleteRenderbuffers">
1933 <proto>
1934 <return type="void"/>
1935 <param name="n" type="GLsizei"/>
1936 <param name="renderbuffers" type="const GLuint *"/>
1937 </proto>
1938 </template>
1939
1940 <template name="GenRenderbuffers">
1941 <proto>
1942 <return type="void"/>
1943 <param name="n" type="GLsizei"/>
1944 <param name="renderbuffers" type="GLuint *"/>
1945 </proto>
1946 </template>
1947
1948 <template name="RenderbufferStorage">
1949 <proto>
1950 <return type="void"/>
1951 <param name="target" type="GLenum"/>
1952 <param name="internalFormat" type="GLenum"/>
1953 <param name="width" type="GLsizei"/>
1954 <param name="height" type="GLsizei"/>
1955 </proto>
1956 </template>
1957
1958 <template name="FramebufferRenderbuffer">
1959 <proto>
1960 <return type="void"/>
1961 <param name="target" type="GLenum"/>
1962 <param name="attachment" type="GLenum"/>
1963 <param name="renderbuffertarget" type="GLenum"/>
1964 <param name="renderbuffer" type="GLuint"/>
1965 </proto>
1966 </template>
1967
1968 <template name="FramebufferTexture2D">
1969 <proto>
1970 <return type="void"/>
1971 <param name="target" type="GLenum"/>
1972 <param name="attachment" type="GLenum"/>
1973 <param name="textarget" type="GLenum"/>
1974 <param name="texture" type="GLuint"/>
1975 <param name="level" type="GLint"/>
1976 </proto>
1977 <!-- According to the base specification, "level" must be 0. But
1978 extension GL_OES_fbo_render_mipmap lifts that restriction,
1979 so no restriction is placed here. -->
1980 </template>
1981
1982 <template name="FramebufferTexture3D">
1983 <proto>
1984 <return type="void"/>
1985 <param name="target" type="GLenum"/>
1986 <param name="attachment" type="GLenum"/>
1987 <param name="textarget" type="GLenum"/>
1988 <param name="texture" type="GLuint"/>
1989 <param name="level" type="GLint"/>
1990 <param name="zoffset" type="GLint"/>
1991 </proto>
1992 </template>
1993
1994 <template name="CheckFramebufferStatus" direction="get">
1995 <proto>
1996 <return type="GLenum"/>
1997 <param name="target" type="GLenum"/>
1998 </proto>
1999 </template>
2000
2001 <template name="GetFramebufferAttachmentParameter" direction="get">
2002 <proto>
2003 <return type="void"/>
2004 <param name="target" type="GLenum"/>
2005 <param name="attachment" type="GLenum"/>
2006 <param name="pname" type="GLenum"/>
2007 <vector name="params" type="GLtype *" size="dynamic"/>
2008 </proto>
2009 </template>
2010
2011 <template name="GetRenderbufferParameter" direction="get">
2012 <proto>
2013 <return type="void"/>
2014 <param name="target" type="GLenum"/>
2015 <param name="pname" type="GLenum"/>
2016 <vector name="params" type="GLtype *" size="dynamic"/>
2017 </proto>
2018 </template>
2019
2020 <template name="IsRenderbuffer" direction="get">
2021 <proto>
2022 <return type="GLboolean"/>
2023 <param name="renderbuffer" type="GLuint"/>
2024 </proto>
2025 </template>
2026
2027 <template name="IsFramebuffer" direction="get">
2028 <proto>
2029 <return type="GLboolean"/>
2030 <param name="framebuffer" type="GLuint"/>
2031 </proto>
2032 </template>
2033
2034 <template name="IsShader" direction="get">
2035 <proto>
2036 <return type="GLboolean"/>
2037 <param name="shader" type="GLuint"/>
2038 </proto>
2039 </template>
2040
2041 <template name="GetShader" direction="get">
2042 <proto>
2043 <return type="void"/>
2044 <param name="shader" type="GLuint"/>
2045 <param name="pname" type="GLenum"/>
2046 <vector name="params" type="GLtype *" size="dynamic"/>
2047 </proto>
2048 </template>
2049
2050 <template name="GetAttachedShaders" direction="get">
2051 <proto>
2052 <return type="void"/>
2053 <param name="program" type="GLuint"/>
2054 <param name="maxCount" type="GLsizei"/>
2055 <param name="count" type="GLsizei *"/>
2056 <param name="shaders" type="GLuint *"/>
2057 </proto>
2058 </template>
2059
2060 <template name="GetShaderInfoLog" direction="get">
2061 <proto>
2062 <return type="void"/>
2063 <param name="shader" type="GLuint"/>
2064 <param name="bufSize" type="GLsizei"/>
2065 <param name="length" type="GLsizei *"/>
2066 <param name="infoLog" type="GLchar *"/>
2067 </proto>
2068 </template>
2069
2070 <template name="GetProgramInfoLog" direction="get">
2071 <proto>
2072 <return type="void"/>
2073 <param name="program" type="GLuint"/>
2074 <param name="bufSize" type="GLsizei"/>
2075 <param name="length" type="GLsizei *"/>
2076 <param name="infoLog" type="GLchar *"/>
2077 </proto>
2078 </template>
2079
2080 <template name="GetShaderSource" direction="get">
2081 <proto>
2082 <return type="void"/>
2083 <param name="shader" type="GLuint"/>
2084 <param name="bufSize" type="GLsizei"/>
2085 <param name="length" type="GLsizei *"/>
2086 <param name="source" type="GLchar *"/>
2087 </proto>
2088 </template>
2089
2090 <template name="GetShaderPrecisionFormat" direction="get">
2091 <proto>
2092 <return type="void"/>
2093 <param name="shadertype" type="GLenum"/>
2094 <param name="precisiontype" type="GLenum"/>
2095 <param name="range" type="GLint *"/>
2096 <param name="precision" type="GLint *"/>
2097 </proto>
2098 </template>
2099
2100 <template name="GetUniform" direction="get">
2101 <proto>
2102 <return type="void"/>
2103 <param name="program" type="GLuint"/>
2104 <param name="location" type="GLint"/>
2105 <vector name="params" type="GLtype *" size="dynamic"/>
2106 </proto>
2107 </template>
2108
2109 <template name="QueryMatrix" direction="get">
2110 <proto>
2111 <return type="GLbitfield"/>
2112 <vector name="mantissa" type="GLtype *" size="16"/>
2113 <vector name="exponent" type="GLint *" size="16"/>
2114 </proto>
2115 </template>
2116
2117 <template name="DrawTex">
2118 <proto>
2119 <return type="void"/>
2120 <vector name="coords" type="const GLtype *" size="5">
2121 <param name="x" type="GLtype"/>
2122 <param name="y" type="GLtype"/>
2123 <param name="z" type="GLtype"/>
2124 <param name="w" type="GLtype"/>
2125 <param name="h" type="GLtype"/>
2126 </vector>
2127 </proto>
2128 </template>
2129
2130 <template name="MultiDrawArrays">
2131 <proto>
2132 <return type="void"/>
2133 <param name="mode" type="GLenum"/>
2134 <param name="first" type="const GLint *"/>
2135 <param name="count" type="const GLsizei *"/>
2136 <param name="primcount" type="GLsizei"/>
2137 </proto>
2138 </template>
2139
2140 <template name="MultiDrawElements">
2141 <proto>
2142 <return type="void"/>
2143 <param name="mode" type="GLenum"/>
2144 <param name="count" type="const GLsizei *"/>
2145 <param name="type" type="GLenum"/>
2146 <param name="indices" type="const GLvoid **"/>
2147 <param name="primcount" type="GLsizei"/>
2148 </proto>
2149 </template>
2150
2151 <template name="EGLImageTargetTexture2D">
2152 <proto>
2153 <return type="void"/>
2154 <param name="target" type="GLenum"/>
2155 <param name="image" type="GLeglImageOES"/>
2156 </proto>
2157 </template>
2158
2159 <template name="EGLImageTargetRenderbufferStorage">
2160 <proto>
2161 <return type="void"/>
2162 <param name="target" type="GLenum"/>
2163 <param name="image" type="GLeglImageOES"/>
2164 </proto>
2165 </template>
2166
2167 <template name="DrawBuffers">
2168 <proto>
2169 <return type="void"/>
2170 <param name="n" type="GLsizei"/>
2171 <param name="bufs" type="const GLenum *"/>
2172 </proto>
2173 </template>
2174
2175 <template name="ReadBuffer">
2176 <proto>
2177 <return type="void"/>
2178 <param name="mode" type="GLenum"/>
2179 </proto>
2180 </template>
2181
2182 <api name="mesa" implementation="true">
2183 <category name="MESA"/>
2184
2185 <function name="Color4f" default_prefix="_es_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2186 <function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/>
2187 <function name="CullFace" template="CullFace"/>
2188
2189 <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
2190 <function name="Fogfv" template="Fog" gltype="GLfloat"/>
2191
2192 <function name="FrontFace" template="FrontFace"/>
2193 <function name="Hint" template="Hint"/>
2194
2195 <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
2196 <function name="Lightfv" template="Light" gltype="GLfloat"/>
2197
2198 <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
2199 <function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
2200
2201 <function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
2202
2203 <function name="Materialf" default_prefix="_es_" template="Material" gltype="GLfloat" expand_vector="true"/>
2204 <function name="Materialfv" default_prefix="_es_" template="Material" gltype="GLfloat"/>
2205
2206 <function name="PointSize" template="PointSize" gltype="GLfloat"/>
2207 <function name="PointSizePointer" template="PointSizePointer"/>
2208
2209 <function name="Scissor" template="Scissor"/>
2210 <function name="ShadeModel" template="ShadeModel"/>
2211
2212 <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
2213 <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
2214 <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
2215 <function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
2216
2217 <function name="TexImage2D" template="TexImage2D"/>
2218
2219 <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
2220 <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
2221 <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
2222 <function name="TexEnviv" template="TexEnv" gltype="GLint"/>
2223
2224 <function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/>
2225 <function name="TexGenfv" template="TexGen" gltype="GLfloat"/>
2226
2227 <function name="Clear" template="Clear"/>
2228 <function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
2229 <function name="ClearStencil" template="ClearStencil"/>
2230 <function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/>
2231 <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
2232
2233 <function name="StencilMask" template="StencilMask"/>
2234 <function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
2235 <function name="ColorMask" template="ColorMask"/>
2236 <function name="DepthMask" template="DepthMask"/>
2237 <function name="Disable" template="Disable"/>
2238 <function name="Enable" template="Enable"/>
2239 <function name="Finish" template="Finish"/>
2240 <function name="Flush" template="Flush"/>
2241
2242 <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
2243
2244 <function name="BlendFunc" template="BlendFunc"/>
2245 <function name="LogicOp" template="LogicOp"/>
2246 <function name="StencilFunc" template="StencilFunc"/>
2247 <function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
2248 <function name="StencilOp" template="StencilOp"/>
2249 <function name="StencilOpSeparate" template="StencilOpSeparate"/>
2250 <function name="DepthFunc" template="DepthFunc"/>
2251 <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
2252
2253 <function name="ReadPixels" template="ReadPixels"/>
2254 <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
2255 <function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/>
2256 <function name="GetError" template="GetError"/>
2257 <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
2258 <function name="GetFixedv" template="GetState" gltype="GLfixed"/>
2259 <function name="GetIntegerv" template="GetState" gltype="GLint"/>
2260
2261 <function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
2262 <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
2263 <function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/>
2264
2265 <function name="GetString" template="GetString"/>
2266
2267 <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
2268 <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
2269 <function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/>
2270 <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
2271 <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
2272
2273 <function name="IsEnabled" template="IsEnabled"/>
2274
2275 <function name="DepthRange" template="DepthRange" gltype="GLclampd"/>
2276 <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
2277 <function name="Frustum" template="Frustum" gltype="GLdouble"/>
2278
2279 <function name="LoadIdentity" template="LoadIdentity"/>
2280 <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
2281 <function name="MatrixMode" template="MatrixMode"/>
2282
2283 <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
2284 <function name="Ortho" template="Ortho" gltype="GLdouble"/>
2285 <function name="PopMatrix" template="PopMatrix"/>
2286 <function name="PushMatrix" template="PushMatrix"/>
2287
2288 <function name="Rotatef" template="Rotate" gltype="GLfloat"/>
2289 <function name="Scalef" template="Scale" gltype="GLfloat"/>
2290 <function name="Translatef" template="Translate" gltype="GLfloat"/>
2291
2292 <function name="Viewport" template="Viewport"/>
2293
2294 <function name="ColorPointer" template="ColorPointer"/>
2295 <function name="DisableClientState" template="DisableClientState"/>
2296 <function name="DrawArrays" template="DrawArrays"/>
2297 <function name="DrawElements" template="DrawElements"/>
2298 <function name="EnableClientState" template="EnableClientState"/>
2299
2300 <function name="GetPointerv" template="GetPointer"/>
2301 <function name="Normal3f" default_prefix="_es_" template="Normal" gltype="GLfloat" expand_vector="true"/>
2302 <function name="NormalPointer" template="NormalPointer"/>
2303 <function name="TexCoordPointer" template="TexCoordPointer"/>
2304 <function name="VertexPointer" template="VertexPointer"/>
2305
2306 <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
2307 <function name="CopyTexImage2D" template="CopyTexImage2D"/>
2308 <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
2309 <function name="TexSubImage2D" template="TexSubImage2D"/>
2310
2311 <function name="BindTexture" template="BindTexture"/>
2312 <function name="DeleteTextures" template="DeleteTextures"/>
2313 <function name="GenTextures" template="GenTextures"/>
2314 <function name="IsTexture" template="IsTexture"/>
2315
2316 <function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
2317 <function name="BlendEquation" template="BlendEquation"/>
2318 <function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/>
2319
2320 <function name="TexImage3D" template="TexImage3D"/>
2321 <function name="TexSubImage3D" template="TexSubImage3D"/>
2322 <function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/>
2323
2324 <function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/>
2325 <function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/>
2326
2327 <function name="ActiveTextureARB" template="ActiveTexture"/>
2328 <function name="ClientActiveTextureARB" template="ClientActiveTexture"/>
2329
2330 <function name="MultiTexCoord4f" default_prefix="_es_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2331
2332 <function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/>
2333
2334 <function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/>
2335 <function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/>
2336
2337 <function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/>
2338
2339 <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
2340 <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
2341
2342 <function name="VertexAttrib1f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2343 <function name="VertexAttrib2f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2344 <function name="VertexAttrib3f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2345 <function name="VertexAttrib4f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2346 <function name="VertexAttrib1fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
2347 <function name="VertexAttrib2fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
2348 <function name="VertexAttrib3fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
2349 <function name="VertexAttrib4fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
2350
2351 <function name="VertexAttribPointerARB" template="VertexAttribPointer"/>
2352 <function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/>
2353 <function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/>
2354
2355 <function name="IsProgram" template="IsProgram"/>
2356 <function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
2357
2358 <function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/>
2359 <function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/>
2360 <function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/>
2361
2362 <function name="GetBufferPointervARB" template="GetBufferPointer"/>
2363 <function name="MapBufferARB" template="MapBuffer"/>
2364 <function name="UnmapBufferARB" template="UnmapBuffer"/>
2365 <function name="BindBufferARB" template="BindBuffer"/>
2366 <function name="BufferDataARB" template="BufferData"/>
2367 <function name="BufferSubDataARB" template="BufferSubData"/>
2368 <function name="DeleteBuffersARB" template="DeleteBuffers"/>
2369 <function name="GenBuffersARB" template="GenBuffers"/>
2370 <function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/>
2371 <function name="IsBufferARB" template="IsBuffer"/>
2372
2373 <function name="CreateShader" template="CreateShader"/>
2374 <function name="ShaderSourceARB" template="ShaderSource"/>
2375 <function name="CompileShaderARB" template="CompileShader"/>
2376 <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
2377 <function name="DeleteShader" template="DeleteShader"/>
2378 <function name="ShaderBinary" template="ShaderBinary"/>
2379 <function name="CreateProgram" template="CreateProgram"/>
2380 <function name="AttachShader" template="AttachShader"/>
2381 <function name="DetachShader" template="DetachShader"/>
2382 <function name="LinkProgramARB" template="LinkProgram"/>
2383 <function name="UseProgramObjectARB" template="UseProgram"/>
2384 <function name="DeleteProgram" template="DeleteProgram"/>
2385
2386 <function name="GetActiveAttribARB" template="GetActiveAttrib"/>
2387 <function name="GetAttribLocationARB" template="GetAttribLocation"/>
2388 <function name="BindAttribLocationARB" template="BindAttribLocation"/>
2389 <function name="GetUniformLocationARB" template="GetUniformLocation"/>
2390 <function name="GetActiveUniformARB" template="GetActiveUniform"/>
2391
2392 <function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2393 <function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2394 <function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2395 <function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2396 <function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
2397 <function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
2398 <function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
2399 <function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
2400 <function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/>
2401 <function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/>
2402 <function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/>
2403 <function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/>
2404 <function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/>
2405 <function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/>
2406 <function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/>
2407 <function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/>
2408
2409 <function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
2410 <function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
2411 <function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
2412
2413 <function name="ValidateProgramARB" template="ValidateProgram"/>
2414
2415 <function name="GenerateMipmapEXT" template="GenerateMipmap"/>
2416 <function name="BindFramebufferEXT" template="BindFramebuffer"/>
2417 <function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/>
2418 <function name="GenFramebuffersEXT" template="GenFramebuffers"/>
2419 <function name="BindRenderbufferEXT" template="BindRenderbuffer"/>
2420 <function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/>
2421 <function name="GenRenderbuffersEXT" template="GenRenderbuffers"/>
2422 <function name="RenderbufferStorageEXT" template="RenderbufferStorage"/>
2423 <function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/>
2424 <function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/>
2425 <function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/>
2426 <function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/>
2427 <function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
2428 <function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/>
2429 <function name="IsRenderbufferEXT" template="IsRenderbuffer"/>
2430 <function name="IsFramebufferEXT" template="IsFramebuffer"/>
2431
2432 <function name="IsShader" template="IsShader"/>
2433 <function name="GetShaderiv" template="GetShader" gltype="GLint"/>
2434 <function name="GetAttachedShaders" template="GetAttachedShaders"/>
2435 <function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
2436 <function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
2437 <function name="GetShaderSourceARB" template="GetShaderSource"/>
2438 <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
2439 <function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/>
2440 <function name="GetUniformivARB" template="GetUniform" gltype="GLint"/>
2441
2442 <function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
2443 <function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/>
2444 <function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/>
2445 <function name="DrawTexiv" template="DrawTex" gltype="GLint"/>
2446 <function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/>
2447 <function name="DrawTexsv" template="DrawTex" gltype="GLshort"/>
2448
2449 <!-- EXT_multi_draw_arrays -->
2450 <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
2451 <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
2452
2453 <!-- OES_EGL_image -->
2454 <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
2455 <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
2456
2457 <function name="DrawBuffersARB" template="DrawBuffers"/>
2458
2459 <function name="ReadBuffer" template="ReadBuffer"/>
2460
2461 </api>
2462
2463 <api name="GLES1.1">
2464 <category name="GLES1.1"/>
2465
2466 <category name="OES_byte_coordinates"/>
2467 <category name="OES_fixed_point"/>
2468 <category name="OES_single_precision"/>
2469 <category name="OES_matrix_get"/>
2470 <category name="OES_read_format"/>
2471 <category name="OES_compressed_paletted_texture"/>
2472 <category name="OES_compressed_ETC1_RGB8_texture"/>
2473 <category name="OES_point_size_array"/>
2474 <category name="OES_point_sprite"/>
2475 <category name="OES_query_matrix"/>
2476 <category name="OES_draw_texture"/>
2477 <category name="OES_blend_equation_separate"/>
2478 <category name="OES_blend_func_separate"/>
2479 <category name="OES_blend_subtract"/>
2480 <category name="OES_stencil_wrap"/>
2481 <category name="OES_texture_cube_map"/>
2482 <category name="OES_texture_env_crossbar"/>
2483 <category name="OES_texture_mirrored_repeat"/>
2484 <category name="OES_framebuffer_object"/>
2485 <category name="OES_depth24"/>
2486 <category name="OES_depth32"/>
2487 <category name="OES_fbo_render_mipmap"/>
2488 <category name="OES_rgb8_rgba8"/>
2489 <category name="OES_stencil1"/>
2490 <category name="OES_stencil4"/>
2491 <category name="OES_stencil8"/>
2492 <category name="OES_element_index_uint"/>
2493 <category name="OES_mapbuffer"/>
2494 <category name="EXT_texture_filter_anisotropic"/>
2495 <category name="EXT_texture_format_BGRA8888"/>
2496 <category name="EXT_read_format_bgra"/>
2497
2498 <category name="ARB_texture_non_power_of_two"/>
2499 <!-- disabled due to missing enums
2500 <category name="EXT_texture_compression_dxt1"/>
2501 -->
2502 <category name="EXT_texture_lod_bias"/>
2503 <category name="EXT_blend_minmax"/>
2504 <category name="EXT_multi_draw_arrays"/>
2505 <category name="OES_EGL_image"/>
2506 <category name="OES_EGL_image_external"/>
2507
2508 <category name="OES_matrix_palette"/>
2509
2510 <function name="Color4f" external="true" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2511 <function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/>
2512 <function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/>
2513
2514 <function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/>
2515 <function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/>
2516
2517 <function name="CullFace" template="CullFace"/>
2518
2519 <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
2520 <function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/>
2521 <function name="Fogfv" template="Fog" gltype="GLfloat"/>
2522 <function name="Fogxv" template="Fog" gltype="GLfixed"/>
2523
2524 <function name="FrontFace" template="FrontFace"/>
2525 <function name="Hint" template="Hint"/>
2526
2527 <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
2528 <function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/>
2529 <function name="Lightfv" template="Light" gltype="GLfloat"/>
2530 <function name="Lightxv" template="Light" gltype="GLfixed"/>
2531
2532 <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
2533 <function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/>
2534 <function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
2535 <function name="LightModelxv" template="LightModel" gltype="GLfixed"/>
2536
2537 <function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
2538 <function name="LineWidthx" template="LineWidth" gltype="GLfixed"/>
2539
2540 <function name="Materialf" external="true" template="Material" gltype="GLfloat" expand_vector="true"/>
2541 <function name="Materialfv" external="true" template="Material" gltype="GLfloat"/>
2542 <function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/>
2543 <function name="Materialxv" template="Material" gltype="GLfixed"/>
2544
2545 <function name="PointSize" template="PointSize" gltype="GLfloat"/>
2546 <function name="PointSizex" template="PointSize" gltype="GLfixed"/>
2547 <function name="PointSizePointerOES" template="PointSizePointer"/>
2548
2549 <function name="Scissor" template="Scissor"/>
2550 <function name="ShadeModel" template="ShadeModel"/>
2551
2552 <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
2553 <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
2554 <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
2555 <function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
2556 <function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/>
2557 <function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/>
2558
2559 <function name="TexImage2D" template="TexImage2D"/>
2560
2561 <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
2562 <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
2563 <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
2564 <function name="TexEnviv" template="TexEnv" gltype="GLint"/>
2565 <function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/>
2566 <function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/>
2567
2568 <function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/>
2569 <function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/>
2570 <function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/>
2571 <function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/>
2572 <function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/>
2573 <function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/>
2574
2575 <function name="Clear" template="Clear"/>
2576 <function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
2577 <function name="ClearColorx" template="ClearColor" gltype="GLclampx"/>
2578
2579 <function name="ClearStencil" template="ClearStencil"/>
2580 <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
2581 <function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/>
2582
2583 <function name="StencilMask" template="StencilMask"/>
2584 <function name="ColorMask" template="ColorMask"/>
2585 <function name="DepthMask" template="DepthMask"/>
2586
2587 <function name="Disable" template="Disable"/>
2588 <function name="Enable" template="Enable"/>
2589 <function name="Finish" template="Finish"/>
2590 <function name="Flush" template="Flush"/>
2591
2592 <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
2593 <function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/>
2594
2595 <function name="BlendFunc" template="BlendFunc"/>
2596 <function name="LogicOp" template="LogicOp"/>
2597 <function name="StencilFunc" template="StencilFunc"/>
2598
2599 <function name="StencilOp" template="StencilOp"/>
2600 <function name="DepthFunc" template="DepthFunc"/>
2601
2602 <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
2603 <function name="ReadPixels" template="ReadPixels"/>
2604
2605 <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
2606
2607 <function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
2608 <function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
2609
2610 <function name="GetError" template="GetError"/>
2611 <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
2612 <function name="GetFixedv" template="GetState" gltype="GLfixed"/>
2613 <function name="GetIntegerv" template="GetState" gltype="GLint"/>
2614
2615 <function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
2616 <function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
2617
2618 <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
2619 <function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/>
2620
2621 <function name="GetString" template="GetString"/>
2622
2623 <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
2624 <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
2625 <function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/>
2626
2627 <function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/>
2628 <function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/>
2629 <function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/>
2630
2631 <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
2632 <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
2633 <function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/>
2634
2635 <function name="IsEnabled" template="IsEnabled"/>
2636
2637 <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
2638 <function name="DepthRangex" template="DepthRange" gltype="GLclampx"/>
2639
2640 <function name="Frustumf" template="Frustum" gltype="GLfloat"/>
2641 <function name="Frustumx" template="Frustum" gltype="GLfixed"/>
2642
2643 <function name="LoadIdentity" template="LoadIdentity"/>
2644 <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
2645 <function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/>
2646 <function name="MatrixMode" template="MatrixMode"/>
2647
2648 <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
2649 <function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/>
2650 <function name="Orthof" template="Ortho" gltype="GLfloat"/>
2651 <function name="Orthox" template="Ortho" gltype="GLfixed"/>
2652
2653 <function name="PopMatrix" template="PopMatrix"/>
2654 <function name="PushMatrix" template="PushMatrix"/>
2655
2656 <function name="Rotatef" template="Rotate" gltype="GLfloat"/>
2657 <function name="Rotatex" template="Rotate" gltype="GLfixed"/>
2658 <function name="Scalef" template="Scale" gltype="GLfloat"/>
2659 <function name="Scalex" template="Scale" gltype="GLfixed"/>
2660 <function name="Translatef" template="Translate" gltype="GLfloat"/>
2661 <function name="Translatex" template="Translate" gltype="GLfixed"/>
2662
2663 <function name="Viewport" template="Viewport"/>
2664 <function name="ColorPointer" template="ColorPointer"/>
2665 <function name="DisableClientState" template="DisableClientState"/>
2666 <function name="DrawArrays" template="DrawArrays"/>
2667 <function name="DrawElements" template="DrawElements"/>
2668 <function name="EnableClientState" template="EnableClientState"/>
2669
2670 <function name="GetPointerv" template="GetPointer"/>
2671
2672 <function name="Normal3f" external="true" template="Normal" gltype="GLfloat" expand_vector="true"/>
2673 <function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/>
2674 <function name="NormalPointer" template="NormalPointer"/>
2675 <function name="TexCoordPointer" template="TexCoordPointer"/>
2676 <function name="VertexPointer" template="VertexPointer"/>
2677
2678 <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
2679 <function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/>
2680
2681 <function name="CopyTexImage2D" template="CopyTexImage2D"/>
2682 <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
2683
2684 <function name="TexSubImage2D" template="TexSubImage2D"/>
2685
2686 <function name="BindTexture" template="BindTexture"/>
2687 <function name="DeleteTextures" template="DeleteTextures"/>
2688 <function name="GenTextures" template="GenTextures"/>
2689 <function name="IsTexture" template="IsTexture"/>
2690
2691 <function name="BlendEquationOES" template="BlendEquation"/>
2692 <function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/>
2693
2694 <function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/>
2695
2696 <function name="ActiveTexture" template="ActiveTexture"/>
2697 <function name="ClientActiveTexture" template="ClientActiveTexture"/>
2698
2699 <function name="MultiTexCoord4f" external="true" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2700
2701 <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
2702 <function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/>
2703
2704 <!-- CompressedTexImage2D calls out to two different functions based on
2705 whether the image is a paletted image or not -->
2706 <function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
2707 <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
2708
2709 <function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/>
2710
2711 <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
2712 <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
2713 <function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/>
2714 <function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/>
2715
2716 <!-- OES_mapbuffer -->
2717 <function name="GetBufferPointervOES" template="GetBufferPointer"/>
2718 <function name="MapBufferOES" template="MapBuffer"/>
2719 <function name="UnmapBufferOES" template="UnmapBuffer"/>
2720
2721 <function name="BindBuffer" template="BindBuffer"/>
2722 <function name="BufferData" template="BufferData"/>
2723 <function name="BufferSubData" template="BufferSubData"/>
2724 <function name="DeleteBuffers" template="DeleteBuffers"/>
2725 <function name="GenBuffers" template="GenBuffers"/>
2726 <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
2727 <function name="IsBuffer" template="IsBuffer"/>
2728
2729 <!-- OES_framebuffer_object -->
2730 <function name="GenerateMipmapOES" template="GenerateMipmap"/>
2731 <function name="BindFramebufferOES" template="BindFramebuffer"/>
2732 <function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/>
2733 <function name="GenFramebuffersOES" template="GenFramebuffers"/>
2734 <function name="BindRenderbufferOES" template="BindRenderbuffer"/>
2735 <function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
2736 <function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
2737 <function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
2738 <function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
2739 <function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
2740 <function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
2741 <function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
2742 <function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/>
2743 <function name="IsRenderbufferOES" template="IsRenderbuffer"/>
2744 <function name="IsFramebufferOES" template="IsFramebuffer"/>
2745
2746 <!-- OES_query_matrix -->
2747 <!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value
2748 form; it has its own code for this -->
2749 <function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/>
2750
2751 <!-- OES_draw_texture -->
2752 <function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
2753 <function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/>
2754 <function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/>
2755 <function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/>
2756 <function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/>
2757 <function name="DrawTexivOES" template="DrawTex" gltype="GLint"/>
2758 <function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/>
2759 <function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/>
2760
2761 <!-- EXT_multi_draw_arrays -->
2762 <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
2763 <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
2764
2765 <!-- OES_EGL_image -->
2766 <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
2767 <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
2768 </api>
2769
2770 <api name="GLES2.0">
2771 <category name="GLES2.0"/>
2772
2773 <category name="OES_compressed_paletted_texture"/>
2774 <category name="OES_compressed_ETC1_RGB8_texture"/>
2775 <category name="OES_depth24"/>
2776 <category name="OES_depth32"/>
2777 <category name="OES_fbo_render_mipmap"/>
2778 <category name="OES_rgb8_rgba8"/>
2779 <category name="OES_stencil1"/>
2780 <category name="OES_stencil4"/>
2781 <category name="OES_element_index_uint"/>
2782 <category name="OES_mapbuffer"/>
2783 <category name="OES_texture_3D"/>
2784 <category name="OES_texture_npot"/>
2785 <category name="EXT_texture_filter_anisotropic"/>
2786 <category name="EXT_texture_type_2_10_10_10_REV"/>
2787 <category name="OES_depth_texture"/>
2788 <category name="OES_packed_depth_stencil"/>
2789 <category name="OES_standard_derivatives"/>
2790 <category name="EXT_texture_format_BGRA8888"/>
2791 <category name="EXT_texture_rg"/>
2792 <category name="EXT_read_format_bgra"/>
2793
2794 <category name="EXT_texture_compression_dxt1"/>
2795 <category name="EXT_blend_minmax"/>
2796 <category name="EXT_multi_draw_arrays"/>
2797 <category name="OES_EGL_image"/>
2798 <category name="OES_EGL_image_external"/>
2799 <category name="EXT_unpack_subimage"/>
2800
2801 <category name="NV_draw_buffers"/>
2802 <category name="NV_read_buffer"/>
2803
2804 <function name="DrawBuffersNV" template="DrawBuffers"/>
2805 <function name="ReadBufferNV" template="ReadBuffer"/>
2806
2807 <function name="CullFace" template="CullFace"/>
2808
2809 <function name="FrontFace" template="FrontFace"/>
2810 <function name="Hint" template="Hint"/>
2811
2812 <function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
2813
2814 <function name="Scissor" template="Scissor"/>
2815
2816 <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
2817 <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
2818 <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
2819 <function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
2820
2821 <function name="TexImage2D" template="TexImage2D"/>
2822
2823 <function name="Clear" template="Clear"/>
2824 <function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
2825 <function name="ClearStencil" template="ClearStencil"/>
2826 <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
2827
2828 <function name="StencilMask" template="StencilMask"/>
2829 <function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
2830 <function name="ColorMask" template="ColorMask"/>
2831 <function name="DepthMask" template="DepthMask"/>
2832 <function name="Disable" template="Disable"/>
2833 <function name="Enable" template="Enable"/>
2834 <function name="Finish" template="Finish"/>
2835 <function name="Flush" template="Flush"/>
2836
2837 <function name="BlendFunc" template="BlendFunc"/>
2838
2839 <function name="StencilFunc" template="StencilFunc"/>
2840 <function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
2841 <function name="StencilOp" template="StencilOp"/>
2842 <function name="StencilOpSeparate" template="StencilOpSeparate"/>
2843
2844 <function name="DepthFunc" template="DepthFunc"/>
2845
2846 <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
2847 <function name="ReadPixels" template="ReadPixels"/>
2848
2849 <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
2850 <function name="GetError" template="GetError"/>
2851 <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
2852 <function name="GetIntegerv" template="GetState" gltype="GLint"/>
2853
2854 <function name="GetString" template="GetString"/>
2855
2856 <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
2857 <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
2858
2859 <function name="IsEnabled" template="IsEnabled"/>
2860
2861 <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
2862
2863 <function name="Viewport" template="Viewport"/>
2864
2865 <function name="DrawArrays" template="DrawArrays"/>
2866 <function name="DrawElements" template="DrawElements"/>
2867
2868 <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
2869 <function name="CopyTexImage2D" template="CopyTexImage2D"/>
2870 <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
2871 <function name="TexSubImage2D" template="TexSubImage2D"/>
2872
2873 <function name="BindTexture" template="BindTexture"/>
2874 <function name="DeleteTextures" template="DeleteTextures"/>
2875 <function name="GenTextures" template="GenTextures"/>
2876 <function name="IsTexture" template="IsTexture"/>
2877
2878 <function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
2879 <function name="BlendEquation" template="BlendEquation"/>
2880 <function name="BlendEquationSeparate" template="BlendEquationSeparate"/>
2881
2882 <function name="TexImage3DOES" template="TexImage3D"/>
2883 <function name="TexSubImage3DOES" template="TexSubImage3D"/>
2884 <function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/>
2885
2886 <function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/>
2887 <function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/>
2888
2889 <function name="ActiveTexture" template="ActiveTexture"/>
2890
2891 <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
2892
2893 <function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
2894 <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
2895
2896 <function name="BlendFuncSeparate" template="BlendFuncSeparate"/>
2897
2898 <function name="VertexAttrib1f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2899 <function name="VertexAttrib2f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2900 <function name="VertexAttrib3f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2901 <function name="VertexAttrib4f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2902 <function name="VertexAttrib1fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
2903 <function name="VertexAttrib2fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
2904 <function name="VertexAttrib3fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
2905 <function name="VertexAttrib4fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
2906
2907 <function name="VertexAttribPointer" template="VertexAttribPointer"/>
2908
2909 <function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/>
2910 <function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/>
2911
2912 <function name="IsProgram" template="IsProgram"/>
2913 <function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
2914
2915 <function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/>
2916 <function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/>
2917 <function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/>
2918
2919 <function name="GetBufferPointervOES" template="GetBufferPointer"/>
2920 <function name="MapBufferOES" template="MapBuffer"/>
2921 <function name="UnmapBufferOES" template="UnmapBuffer"/>
2922 <function name="BindBuffer" template="BindBuffer"/>
2923 <function name="BufferData" template="BufferData"/>
2924 <function name="BufferSubData" template="BufferSubData"/>
2925 <function name="DeleteBuffers" template="DeleteBuffers"/>
2926 <function name="GenBuffers" template="GenBuffers"/>
2927 <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
2928 <function name="IsBuffer" template="IsBuffer"/>
2929
2930 <function name="CreateShader" template="CreateShader"/>
2931 <function name="ShaderSource" template="ShaderSource"/>
2932 <function name="CompileShader" template="CompileShader"/>
2933 <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
2934 <function name="DeleteShader" template="DeleteShader"/>
2935 <function name="ShaderBinary" template="ShaderBinary"/>
2936 <function name="CreateProgram" template="CreateProgram"/>
2937 <function name="AttachShader" template="AttachShader"/>
2938 <function name="DetachShader" template="DetachShader"/>
2939 <function name="LinkProgram" template="LinkProgram"/>
2940 <function name="UseProgram" template="UseProgram"/>
2941 <function name="DeleteProgram" template="DeleteProgram"/>
2942
2943 <function name="GetActiveAttrib" template="GetActiveAttrib"/>
2944 <function name="GetAttribLocation" template="GetAttribLocation"/>
2945 <function name="BindAttribLocation" template="BindAttribLocation"/>
2946 <function name="GetUniformLocation" template="GetUniformLocation"/>
2947 <function name="GetActiveUniform" template="GetActiveUniform"/>
2948
2949 <function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
2950 <function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
2951 <function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
2952 <function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
2953 <function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
2954 <function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
2955 <function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
2956 <function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
2957
2958 <function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/>
2959 <function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/>
2960 <function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/>
2961 <function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/>
2962 <function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/>
2963 <function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/>
2964 <function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/>
2965 <function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/>
2966
2967 <function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
2968 <function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
2969 <function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
2970
2971 <function name="ValidateProgram" template="ValidateProgram"/>
2972
2973 <function name="GenerateMipmap" template="GenerateMipmap"/>
2974 <function name="BindFramebuffer" template="BindFramebuffer"/>
2975 <function name="DeleteFramebuffers" template="DeleteFramebuffers"/>
2976 <function name="GenFramebuffers" template="GenFramebuffers"/>
2977 <function name="BindRenderbuffer" template="BindRenderbuffer"/>
2978 <function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/>
2979 <function name="GenRenderbuffers" template="GenRenderbuffers"/>
2980 <function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/>
2981 <function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/>
2982 <function name="FramebufferTexture2D" template="FramebufferTexture2D"/>
2983 <function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/>
2984 <function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/>
2985 <function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
2986 <function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/>
2987 <function name="IsRenderbuffer" template="IsRenderbuffer"/>
2988 <function name="IsFramebuffer" template="IsFramebuffer"/>
2989
2990 <function name="IsShader" template="IsShader"/>
2991 <function name="GetShaderiv" template="GetShader" gltype="GLint"/>
2992 <function name="GetAttachedShaders" template="GetAttachedShaders"/>
2993 <function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
2994 <function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
2995 <function name="GetShaderSource" template="GetShaderSource"/>
2996 <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
2997 <function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/>
2998 <function name="GetUniformiv" template="GetUniform" gltype="GLint"/>
2999
3000 <!-- EXT_multi_draw_arrays -->
3001 <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
3002 <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
3003
3004 <!-- OES_EGL_image -->
3005 <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
3006 <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
3007 </api>
3008
3009 </apispec>