Home | History | Annotate | Download | only in main
      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 </template>
     62 
     63 <template name="FrontFace">
     64 	<proto>
     65 		<return type="void"/>
     66 		<param name="mode" type="GLenum"/>
     67 	</proto>
     68 </template>
     69 
     70 <template name="Hint">
     71 	<proto>
     72 		<return type="void"/>
     73 		<param name="target" type="GLenum"/>
     74 		<param name="mode" type="GLenum"/>
     75 	</proto>
     76 </template>
     77 
     78 <template name="Light">
     79 	<proto>
     80 		<return type="void"/>
     81 		<param name="light" type="GLenum"/>
     82 		<param name="pname" type="GLenum"/>
     83 		<vector name="params" type="const GLtype *" size="dynamic">
     84 			<param name="param" type="GLtype"/>
     85 		</vector>
     86 	</proto>
     87 </template>
     88 
     89 <template name="LightModel">
     90 	<proto>
     91 		<return type="void"/>
     92 		<param name="pname" type="GLenum"/>
     93 		<vector name="params" type="const GLtype *" size="dynamic">
     94 			<param name="param" type="GLtype"/>
     95 		</vector>
     96 	</proto>
     97 </template>
     98 
     99 <template name="LineWidth">
    100 	<proto>
    101 		<return type="void"/>
    102 		<param name="width" type="GLtype"/>
    103 	</proto>
    104 </template>
    105 
    106 <template name="Material">
    107 	<proto>
    108 		<return type="void"/>
    109 		<param name="face" type="GLenum"/>
    110 		<param name="pname" type="GLenum"/>
    111 		<vector name="params" type="const GLtype *" size="dynamic">
    112 			<param name="param" type="GLtype"/>
    113 		</vector>
    114 	</proto>
    115 </template>
    116 
    117 <template name="PointSize">
    118 	<proto>
    119 		<return type="void"/>
    120 		<param name="size" type="GLtype"/>
    121 	</proto>
    122 </template>
    123 
    124 <template name="PointSizePointer">
    125 	<proto>
    126 		<return type="void"/>
    127 		<param name="type" type="GLenum"/>
    128 		<param name="stride" type="GLsizei"/>
    129 		<param name="pointer" type="const GLvoid *"/>
    130 	</proto>
    131 </template>
    132 
    133 <template name="Scissor">
    134 	<proto>
    135 		<return type="void"/>
    136 		<param name="x" type="GLint"/>
    137 		<param name="y" type="GLint"/>
    138 		<param name="width" type="GLsizei"/>
    139 		<param name="height" type="GLsizei"/>
    140 	</proto>
    141 </template>
    142 
    143 <template name="ShadeModel">
    144 	<proto>
    145 		<return type="void"/>
    146 		<param name="mode" type="GLenum"/>
    147 	</proto>
    148 </template>
    149 
    150 <template name="TexParameter">
    151 	<proto>
    152 		<return type="void"/>
    153 		<param name="target" type="GLenum"/>
    154 		<param name="pname" type="GLenum"/>
    155 		<vector name="params" type="const GLtype *" size="dynamic">
    156 			<param name="param" type="GLtype"/>
    157 		</vector>
    158 	</proto>
    159 </template>
    160 
    161 <template name="TexImage2D">
    162 	<proto>
    163 		<return type="void"/>
    164 		<param name="target" type="GLenum"/>
    165 		<param name="level" type="GLint"/>
    166 		<param name="internalFormat" type="GLint"/> <!-- should be GLenum -->
    167 		<param name="width" type="GLsizei"/>
    168 		<param name="height" type="GLsizei"/>
    169 		<param name="border" type="GLint"/>
    170 		<param name="format" type="GLenum"/>
    171 		<param name="type" type="GLenum"/>
    172 		<param name="pixels" type="const GLvoid *"/>
    173 	</proto>
    174 </template>
    175 
    176 <template name="TexEnv">
    177 	<proto>
    178 		<return type="void"/>
    179 		<param name="target" type="GLenum"/>
    180 		<param name="pname" type="GLenum"/>
    181 		<vector name="params" type="const GLtype *" size="dynamic">
    182 			<param name="param" type="GLtype"/>
    183 		</vector>
    184 	</proto>
    185 </template>
    186 
    187 <template name="TexGen">
    188 	<proto>
    189 		<return type="void"/>
    190 		<param name="coord" type="GLenum"/>
    191 		<param name="pname" type="GLenum"/>
    192 		<vector name="params" type="const GLtype *" size="dynamic">
    193 			<param name="param" type="GLtype"/>
    194 		</vector>
    195 	</proto>
    196 </template>
    197 
    198 <template name="Clear">
    199 	<proto>
    200 		<return type="void"/>
    201 		<param name="mask" type="GLbitfield"/>
    202 	</proto>
    203 </template>
    204 
    205 <template name="ClearColor">
    206 	<proto>
    207 		<return type="void"/>
    208 		<param name="red" type="GLtype"/>
    209 		<param name="green" type="GLtype"/>
    210 		<param name="blue" type="GLtype"/>
    211 		<param name="alpha" type="GLtype"/>
    212 	</proto>
    213 </template>
    214 
    215 <template name="ClearStencil">
    216 	<proto>
    217 		<return type="void"/>
    218 		<param name="s" type="GLint"/>
    219 	</proto>
    220 </template>
    221 
    222 <template name="ClearDepth">
    223 	<proto>
    224 		<return type="void"/>
    225 		<param name="depth" type="GLtype"/>
    226 	</proto>
    227 </template>
    228 
    229 <template name="StencilMask">
    230 	<proto>
    231 		<return type="void"/>
    232 		<param name="mask" type="GLuint"/>
    233 	</proto>
    234 </template>
    235 
    236 <template name="StencilMaskSeparate">
    237 	<proto>
    238 		<return type="void"/>
    239 		<param name="face" type="GLenum"/>
    240 		<param name="mask" type="GLuint"/>
    241 	</proto>
    242 </template>
    243 
    244 <template name="ColorMask">
    245 	<proto>
    246 		<return type="void"/>
    247 		<param name="red" type="GLboolean"/>
    248 		<param name="green" type="GLboolean"/>
    249 		<param name="blue" type="GLboolean"/>
    250 		<param name="alpha" type="GLboolean"/>
    251 	</proto>
    252 </template>
    253 
    254 <template name="DepthMask">
    255 	<proto>
    256 		<return type="void"/>
    257 		<param name="flag" type="GLboolean"/>
    258 	</proto>
    259 </template>
    260 
    261 <template name="Disable">
    262 	<proto>
    263 		<return type="void"/>
    264 		<param name="cap" type="GLenum"/>
    265 	</proto>
    266 </template>
    267 
    268 <!-- it is exactly the same as Disable -->
    269 <template name="Enable">
    270 	<proto>
    271 		<return type="void"/>
    272 		<param name="cap" type="GLenum"/>
    273 	</proto>
    274 </template>
    275 
    276 <template name="Finish">
    277 	<proto>
    278 		<return type="void"/>
    279 	</proto>
    280 </template>
    281 
    282 <template name="Flush">
    283 	<proto>
    284 		<return type="void"/>
    285 	</proto>
    286 </template>
    287 
    288 <template name="AlphaFunc">
    289 	<proto>
    290 		<return type="void"/>
    291 		<param name="func" type="GLenum"/>
    292 		<param name="ref" type="GLtype"/>
    293 	</proto>
    294 </template>
    295 
    296 <template name="BlendFunc">
    297 	<proto>
    298 		<return type="void"/>
    299 		<param name="sfactor" type="GLenum"/>
    300 		<param name="dfactor" type="GLenum"/>
    301 	</proto>
    302 </template>
    303 
    304 <template name="LogicOp">
    305 	<proto>
    306 		<return type="void"/>
    307 		<param name="opcode" type="GLenum"/>
    308 	</proto>
    309 </template>
    310 
    311 <template name="StencilFunc">
    312 	<proto>
    313 		<return type="void"/>
    314 		<param name="func" type="GLenum"/>
    315 		<param name="ref" type="GLint"/>
    316 		<param name="mask" type="GLuint"/>
    317 	</proto>
    318 </template>
    319 
    320 <template name="StencilFuncSeparate">
    321 	<proto>
    322 		<return type="void"/>
    323 		<param name="face" type="GLenum"/>
    324 		<param name="func" type="GLenum"/>
    325 		<param name="ref" type="GLint"/>
    326 		<param name="mask" type="GLuint"/>
    327 	</proto>
    328 </template>
    329 
    330 <template name="StencilOp">
    331 	<proto>
    332 		<return type="void"/>
    333 		<param name="fail" type="GLenum"/>
    334 		<param name="zfail" type="GLenum"/>
    335 		<param name="zpass" type="GLenum"/>
    336 	</proto>
    337 </template>
    338 
    339 <template name="StencilOpSeparate">
    340 	<proto>
    341 		<return type="void"/>
    342 		<param name="face" type="GLenum"/>
    343 		<param name="fail" type="GLenum"/>
    344 		<param name="zfail" type="GLenum"/>
    345 		<param name="zpass" type="GLenum"/>
    346 	</proto>
    347 </template>
    348 
    349 <template name="DepthFunc">
    350 	<proto>
    351 		<return type="void"/>
    352 		<param name="func" type="GLenum"/>
    353 	</proto>
    354 </template>
    355 
    356 <template name="PixelStore">
    357 	<proto>
    358 		<return type="void"/>
    359 		<param name="pname" type="GLenum"/>
    360 		<param name="param" type="GLtype"/>
    361 	</proto>
    362 </template>
    363 
    364 <template name="ReadPixels" direction="get">
    365 	<proto>
    366 		<return type="void"/>
    367 		<param name="x" type="GLint"/>
    368 		<param name="y" type="GLint"/>
    369 		<param name="width" type="GLsizei"/>
    370 		<param name="height" type="GLsizei"/>
    371 		<param name="format" type="GLenum"/>
    372 		<param name="type" type="GLenum"/>
    373 		<param name="pixels" type="GLvoid *"/>
    374 	</proto>
    375 </template>
    376 
    377 <template name="GetClipPlane" direction="get">
    378 	<proto>
    379 		<return type="void"/>
    380 		<param name="plane" type="GLenum"/>
    381 		<vector name="equation" type="GLtype *" size="4"/>
    382 	</proto>
    383 </template>
    384 
    385 <template name="GetError" direction="get">
    386 	<proto>
    387 		<return type="GLenum"/>
    388 	</proto>
    389 </template>
    390 
    391 <!-- template for GetFloatv, GetIntegerv, GetBoolean, and GetFixedv -->
    392 <template name="GetState" direction="get">
    393 	<proto>
    394 		<return type="void"/>
    395 		<param name="pname" type="GLenum"/>
    396 		<vector name="params" type="GLtype *" size="dynamic"/>
    397 	</proto>
    398 	<!-- param checking is done in mesa -->
    399 </template>
    400 
    401 <template name="GetLight" direction="get">
    402 	<proto>
    403 		<return type="void"/>
    404 		<param name="light" type="GLenum"/>
    405 		<param name="pname" type="GLenum"/>
    406 		<vector name="params" type="GLtype *" size="dynamic"/>
    407 	</proto>
    408 </template>
    409 
    410 <template name="GetMaterial" direction="get">
    411 	<proto>
    412 		<return type="void"/>
    413 		<param name="face" type="GLenum"/>
    414 		<param name="pname" type="GLenum"/>
    415 		<vector name="params" type="GLtype *" size="dynamic">
    416 			<param name="param" type="GLtype"/>
    417 		</vector>
    418 	</proto>
    419 </template>
    420 
    421 <template name="GetString" direction="get">
    422 	<proto>
    423 		<return type="const GLubyte *"/>
    424 		<param name="name" type="GLenum"/>
    425 	</proto>
    426 </template>
    427 
    428 <template name="GetTexEnv" direction="get">
    429 	<proto>
    430 		<return type="void"/>
    431 		<param name="target" type="GLenum"/>
    432 		<param name="pname" type="GLenum"/>
    433 		<vector name="params" type="GLtype *" size="dynamic"/>
    434 	</proto>
    435 </template>
    436 
    437 <template name="GetTexGen" direction="get">
    438 	<proto>
    439 		<return type="void"/>
    440 		<param name="coord" type="GLenum"/>
    441 		<param name="pname" type="GLenum"/>
    442 		<vector name="params" type="GLtype *" size="dynamic"/>
    443 	</proto>
    444 </template>
    445 
    446 <template name="GetTexParameter" direction="get">
    447 	<proto>
    448 		<return type="void"/>
    449 		<param name="target" type="GLenum"/>
    450 		<param name="pname" type="GLenum"/>
    451 		<vector name="params" type="GLtype *" size="dynamic"/>
    452 	</proto>
    453 </template>
    454 
    455 <template name="IsEnabled" direction="get">
    456 	<proto>
    457 		<return type="GLboolean"/>
    458 		<param name="cap" type="GLenum"/>
    459 	</proto>
    460 </template>
    461 
    462 <template name="DepthRange">
    463 	<proto>
    464 		<return type="void"/>
    465 		<param name="zNear" type="GLtype"/>
    466 		<param name="zFar" type="GLtype"/>
    467 	</proto>
    468 </template>
    469 
    470 <template name="Frustum">
    471 	<proto>
    472 		<return type="void"/>
    473 		<param name="left" type="GLtype"/>
    474 		<param name="right" type="GLtype"/>
    475 		<param name="bottom" type="GLtype"/>
    476 		<param name="top" type="GLtype"/>
    477 		<param name="zNear" type="GLtype"/>
    478 		<param name="zFar" type="GLtype"/>
    479 	</proto>
    480 </template>
    481 
    482 <template name="LoadIdentity">
    483 	<proto>
    484 		<return type="void"/>
    485 	</proto>
    486 </template>
    487 
    488 <template name="LoadMatrix">
    489 	<proto>
    490 		<return type="void"/>
    491 		<vector name="m" type="const GLtype *" size="16"/>
    492 	</proto>
    493 </template>
    494 
    495 <template name="MatrixMode">
    496 	<proto>
    497 		<return type="void"/>
    498 		<param name="mode" type="GLenum"/>
    499 	</proto>
    500 </template>
    501 
    502 <template name="MultMatrix">
    503 	<proto>
    504 		<return type="void"/>
    505 		<vector name="m" type="const GLtype *" size="16"/>
    506 	</proto>
    507 </template>
    508 
    509 <template name="Ortho">
    510 	<proto>
    511 		<return type="void"/>
    512 		<param name="left" type="GLtype"/>
    513 		<param name="right" type="GLtype"/>
    514 		<param name="bottom" type="GLtype"/>
    515 		<param name="top" type="GLtype"/>
    516 		<param name="zNear" type="GLtype"/>
    517 		<param name="zFar" type="GLtype"/>
    518 	</proto>
    519 </template>
    520 
    521 <template name="PopMatrix">
    522 	<proto>
    523 		<return type="void"/>
    524 	</proto>
    525 </template>
    526 
    527 <template name="PushMatrix">
    528 	<proto>
    529 		<return type="void"/>
    530 	</proto>
    531 </template>
    532 
    533 <template name="Rotate">
    534 	<proto>
    535 		<return type="void"/>
    536 		<param name="angle" type="GLtype"/>
    537 		<param name="x" type="GLtype"/>
    538 		<param name="y" type="GLtype"/>
    539 		<param name="z" type="GLtype"/>
    540 	</proto>
    541 </template>
    542 
    543 <template name="Scale">
    544 	<proto>
    545 		<return type="void"/>
    546 		<param name="x" type="GLtype"/>
    547 		<param name="y" type="GLtype"/>
    548 		<param name="z" type="GLtype"/>
    549 	</proto>
    550 </template>
    551 
    552 <template name="Translate">
    553 	<proto>
    554 		<return type="void"/>
    555 		<param name="x" type="GLtype"/>
    556 		<param name="y" type="GLtype"/>
    557 		<param name="z" type="GLtype"/>
    558 	</proto>
    559 </template>
    560 
    561 <template name="Viewport">
    562 	<proto>
    563 		<return type="void"/>
    564 		<param name="x" type="GLint"/>
    565 		<param name="y" type="GLint"/>
    566 		<param name="width" type="GLsizei"/>
    567 		<param name="height" type="GLsizei"/>
    568 	</proto>
    569 </template>
    570 
    571 <template name="ColorPointer">
    572 	<proto>
    573 		<return type="void"/>
    574 		<param name="size" type="GLint"/>
    575 		<param name="type" type="GLenum"/>
    576 		<param name="stride" type="GLsizei"/>
    577 		<param name="pointer" type="const GLvoid *"/>
    578 	</proto>
    579 </template>
    580 
    581 <template name="DisableClientState">
    582 	<proto>
    583 		<return type="void"/>
    584 		<param name="array" type="GLenum"/>
    585 	</proto>
    586 </template>
    587 
    588 <template name="DrawArrays">
    589 	<proto>
    590 		<return type="void"/>
    591 		<param name="mode" type="GLenum"/>
    592 		<param name="first" type="GLint"/>
    593 		<param name="count" type="GLsizei"/>
    594 	</proto>
    595 </template>
    596 
    597 <template name="DrawElements">
    598 	<proto>
    599 		<return type="void"/>
    600 		<param name="mode" type="GLenum"/>
    601 		<param name="count" type="GLsizei"/>
    602 		<param name="type" type="GLenum"/>
    603 		<param name="indices" type="const GLvoid *"/>
    604 	</proto>
    605 </template>
    606 
    607 <template name="EnableClientState">
    608 	<proto>
    609 		<return type="void"/>
    610 		<param name="array" type="GLenum"/>
    611 	</proto>
    612 </template>
    613 
    614 <template name="GetPointer" direction="get">
    615 	<proto>
    616 		<return type="void"/>
    617 		<param name="pname" type="GLenum"/>
    618 		<vector name="params" type="GLvoid **" size="dynamic"/>
    619 	</proto>
    620 </template>
    621 
    622 <template name="Normal">
    623 	<proto>
    624 		<return type="void"/>
    625 		<vector name="v" type="const GLtype *" size="3">
    626 			<param name="nx" type="GLtype"/>
    627 			<param name="ny" type="GLtype"/>
    628 			<param name="nz" type="GLtype"/>
    629 		</vector>
    630 	</proto>
    631 </template>
    632 
    633 <template name="NormalPointer">
    634 	<proto>
    635 		<return type="void"/>
    636 		<param name="type" type="GLenum"/>
    637 		<param name="stride" type="GLsizei"/>
    638 		<param name="pointer" type="const GLvoid *"/>
    639 	</proto>
    640 </template>
    641 
    642 <template name="TexCoordPointer">
    643 	<proto>
    644 		<return type="void"/>
    645 		<param name="size" type="GLint"/>
    646 		<param name="type" type="GLenum"/>
    647 		<param name="stride" type="GLsizei"/>
    648 		<param name="pointer" type="const GLvoid *"/>
    649 	</proto>
    650 </template>
    651 
    652 <template name="VertexPointer">
    653 	<proto>
    654 		<return type="void"/>
    655 		<param name="size" type="GLint"/>
    656 		<param name="type" type="GLenum"/>
    657 		<param name="stride" type="GLsizei"/>
    658 		<param name="pointer" type="const GLvoid *"/>
    659 	</proto>
    660 </template>
    661 
    662 <template name="PolygonOffset">
    663 	<proto>
    664 		<return type="void"/>
    665 		<param name="factor" type="GLtype"/>
    666 		<param name="units" type="GLtype"/>
    667 	</proto>
    668 </template>
    669 
    670 <template name="CopyTexImage2D">
    671 	<proto>
    672 		<return type="void"/>
    673 		<param name="target" type="GLenum"/>
    674 		<param name="level" type="GLint"/>
    675 		<param name="internalFormat" type="GLenum"/>
    676 		<param name="x" type="GLint"/>
    677 		<param name="y" type="GLint"/>
    678 		<param name="width" type="GLsizei"/>
    679 		<param name="height" type="GLsizei"/>
    680 		<param name="border" type="GLint"/>
    681 	</proto>
    682 </template>
    683 
    684 <template name="CopyTexSubImage2D">
    685 	<proto>
    686 		<return type="void"/>
    687 		<param name="target" type="GLenum"/>
    688 		<param name="level" type="GLint"/>
    689 		<param name="xoffset" type="GLint"/>
    690 		<param name="yoffset" type="GLint"/>
    691 		<param name="x" type="GLint"/>
    692 		<param name="y" type="GLint"/>
    693 		<param name="width" type="GLsizei"/>
    694 		<param name="height" type="GLsizei"/>
    695 	</proto>
    696 </template>
    697 
    698 <template name="TexSubImage2D">
    699 	<proto>
    700 		<return type="void"/>
    701 		<param name="target" type="GLenum"/>
    702 		<param name="level" type="GLint"/>
    703 		<param name="xoffset" type="GLint"/>
    704 		<param name="yoffset" type="GLint"/>
    705 		<param name="width" type="GLsizei"/>
    706 		<param name="height" type="GLsizei"/>
    707 		<param name="format" type="GLenum"/>
    708 		<param name="type" type="GLenum"/>
    709 		<param name="pixels" type="const GLvoid *"/>
    710 	</proto>
    711 </template>
    712 
    713 <template name="BindTexture">
    714 	<proto>
    715 		<return type="void"/>
    716 		<param name="target" type="GLenum"/>
    717 		<param name="texture" type="GLuint"/>
    718 	</proto>
    719 </template>
    720 
    721 <template name="DeleteTextures">
    722 	<proto>
    723 		<return type="void"/>
    724 		<param name="n" type="GLsizei"/>
    725 		<param name="textures" type="const GLuint *"/>
    726 	</proto>
    727 </template>
    728 
    729 <template name="GenTextures" direction="get">
    730 	<proto>
    731 		<return type="void"/>
    732 		<param name="n" type="GLsizei"/>
    733 		<param name="textures" type="GLuint *"/>
    734 	</proto>
    735 </template>
    736 
    737 <template name="IsTexture" direction="get">
    738 	<proto>
    739 		<return type="GLboolean"/>
    740 		<param name="texture" type="GLuint"/>
    741 	</proto>
    742 </template>
    743 
    744 <template name="BlendColor">
    745 	<proto>
    746 		<return type="void"/>
    747 		<param name="red" type="GLtype"/>
    748 		<param name="green" type="GLtype"/>
    749 		<param name="blue" type="GLtype"/>
    750 		<param name="alpha" type="GLtype"/>
    751 	</proto>
    752 </template>
    753 
    754 <template name="BlendEquation">
    755 	<proto>
    756 		<return type="void"/>
    757 		<param name="mode" type="GLenum"/>
    758 	</proto>
    759 </template>
    760 
    761 <template name="BlendEquationSeparate">
    762 	<proto>
    763 		<return type="void"/>
    764 		<param name="modeRGB" type="GLenum"/>
    765 		<param name="modeAlpha" type="GLenum"/>
    766 	</proto>
    767 </template>
    768 
    769 <template name="TexImage3D">
    770 	<proto>
    771 		<return type="void"/>
    772 		<param name="target" type="GLenum"/>
    773 		<param name="level" type="GLint"/>
    774 		<param name="internalFormat" type="GLenum"/>
    775 		<param name="width" type="GLsizei"/>
    776 		<param name="height" type="GLsizei"/>
    777 		<param name="depth" type="GLsizei"/>
    778 		<param name="border" type="GLint"/>
    779 		<param name="format" type="GLenum"/>
    780 		<param name="type" type="GLenum"/>
    781 		<param name="pixels" type="const GLvoid *"/>
    782 	</proto>
    783 
    784 </template>
    785 
    786 <template name="TexSubImage3D">
    787 	<proto>
    788 		<return type="void"/>
    789 		<param name="target" type="GLenum"/>
    790 		<param name="level" type="GLint"/>
    791 		<param name="xoffset" type="GLint"/>
    792 		<param name="yoffset" type="GLint"/>
    793 		<param name="zoffset" type="GLint"/>
    794 		<param name="width" type="GLsizei"/>
    795 		<param name="height" type="GLsizei"/>
    796 		<param name="depth" type="GLsizei"/>
    797 		<param name="format" type="GLenum"/>
    798 		<param name="type" type="GLenum"/>
    799 		<param name="pixels" type="const GLvoid *"/>
    800 	</proto>
    801 </template>
    802 
    803 <template name="CopyTexSubImage3D">
    804 	<proto>
    805 		<return type="void"/>
    806 		<param name="target" type="GLenum"/>
    807 		<param name="level" type="GLint"/>
    808 		<param name="xoffset" type="GLint"/>
    809 		<param name="yoffset" type="GLint"/>
    810 		<param name="zoffset" type="GLint"/>
    811 		<param name="x" type="GLint"/>
    812 		<param name="y" type="GLint"/>
    813 		<param name="width" type="GLsizei"/>
    814 		<param name="height" type="GLsizei"/>
    815 	</proto>
    816 </template>
    817 
    818 <template name="MultiTexCoord">
    819 	<proto>
    820 		<return type="void"/>
    821 		<param name="texture" type="GLenum"/>
    822 		<vector name="v" type="const GLtype *" size="dynamic">
    823 			<param name="s" type="GLtype"/>
    824 			<param name="t" type="GLtype"/>
    825 			<param name="r" type="GLtype"/>
    826 			<param name="q" type="GLtype"/>
    827 		</vector>
    828 	</proto>
    829 </template>
    830 
    831 <template name="CompressedTexImage3D">
    832 	<proto>
    833 		<return type="void"/>
    834 		<param name="target" type="GLenum"/>
    835 		<param name="level" type="GLint"/>
    836 		<param name="internalFormat" type="GLenum"/>
    837 		<param name="width" type="GLsizei"/>
    838 		<param name="height" type="GLsizei"/>
    839 		<param name="depth" type="GLsizei"/>
    840 		<param name="border" type="GLint"/>
    841 		<param name="imagesize" type="GLsizei"/>
    842 		<param name="data" type="const GLvoid *"/>
    843 	</proto>
    844 </template>
    845 
    846 <template name="CompressedTexSubImage3D">
    847 	<proto>
    848 		<return type="void"/>
    849 		<param name="target" type="GLenum"/>
    850 		<param name="level" type="GLint"/>
    851 		<param name="xoffset" type="GLint"/>
    852 		<param name="yoffset" type="GLint"/>
    853 		<param name="zoffset" type="GLint"/>
    854 		<param name="width" type="GLsizei"/>
    855 		<param name="height" type="GLsizei"/>
    856 		<param name="depth" type="GLsizei"/>
    857 		<param name="format" type="GLenum"/>
    858 		<param name="imagesize" type="GLsizei"/>
    859 		<param name="data" type="const GLvoid *"/>
    860 	</proto>
    861 </template>
    862 
    863 <template name="ActiveTexture">
    864 	<proto>
    865 		<return type="void"/>
    866 		<param name="texture" type="GLenum"/>
    867 	</proto>
    868 </template>
    869 
    870 <template name="ClientActiveTexture">
    871 	<proto>
    872 		<return type="void"/>
    873 		<param name="texture" type="GLenum"/>
    874 	</proto>
    875 </template>
    876 
    877 <template name="SampleCoverage">
    878 	<proto>
    879 		<return type="void"/>
    880 		<param name="value" type="GLtype"/>
    881 		<param name="invert" type="GLboolean"/>
    882 	</proto>
    883 </template>
    884 
    885 <template name="CompressedTexImage2D">
    886 	<proto>
    887 		<return type="void"/>
    888 		<param name="target" type="GLenum"/>
    889 		<param name="level" type="GLint"/>
    890 		<param name="internalFormat" type="GLenum"/>
    891 		<param name="width" type="GLsizei"/>
    892 		<param name="height" type="GLsizei"/>
    893 		<param name="border" type="GLint"/>
    894 		<param name="imageSize" type="GLsizei"/>
    895 		<param name="data" type="const GLvoid *"/>
    896 	</proto>
    897 </template>
    898 
    899 <template name="CompressedTexSubImage2D">
    900 	<proto>
    901 		<return type="void"/>
    902 		<param name="target" type="GLenum"/>
    903 		<param name="level" type="GLint"/>
    904 		<param name="xoffset" type="GLint"/>
    905 		<param name="yoffset" type="GLint"/>
    906 		<param name="width" type="GLsizei"/>
    907 		<param name="height" type="GLsizei"/>
    908 		<param name="format" type="GLenum"/>
    909 		<param name="imageSize" type="GLsizei"/>
    910 		<param name="data" type="const GLvoid *"/>
    911 	</proto>
    912 </template>
    913 
    914 <template name="BlendFuncSeparate">
    915 	<proto>
    916 		<return type="void"/>
    917 		<param name="srcRGB" type="GLenum"/>
    918 		<param name="dstRGB" type="GLenum"/>
    919 		<param name="srcAlpha" type="GLenum"/>
    920 		<param name="dstAlpha" type="GLenum"/>
    921 	</proto>
    922 </template>
    923 
    924 <template name="PointParameter">
    925 	<proto>
    926 		<return type="void"/>
    927 		<param name="pname" type="GLenum"/>
    928 		<vector name="params" type="const GLtype *" size="dynamic">
    929 			<param name="param" type="GLtype"/>
    930 		</vector>
    931 	</proto>
    932 </template>
    933 
    934 <template name="VertexAttrib">
    935 	<proto>
    936 		<return type="void"/>
    937 		<param name="index" type="GLuint"/>
    938 		<vector name="v" type="const GLtype *" size="dynamic">
    939 			<param name="x" type="GLtype"/>
    940 			<param name="y" type="GLtype"/>
    941 			<param name="z" type="GLtype"/>
    942 			<param name="w" type="GLtype"/>
    943 		</vector>
    944 	</proto>
    945 </template>
    946 
    947 <template name="VertexAttribPointer">
    948 	<proto>
    949 		<return type="void"/>
    950 		<param name="index" type="GLuint"/>
    951 		<param name="size" type="GLint"/>
    952 		<param name="type" type="GLenum"/>
    953 		<param name="normalized" type="GLboolean"/>
    954 		<param name="stride" type="GLsizei"/>
    955 		<param name="pointer" type="const GLvoid *"/>
    956 	</proto>
    957 </template>
    958 
    959 <template name="EnableVertexAttribArray">
    960 	<proto>
    961 		<return type="void"/>
    962 		<param name="index" type="GLuint"/>
    963 	</proto>
    964 </template>
    965 
    966 <template name="DisableVertexAttribArray">
    967 	<proto>
    968 		<return type="void"/>
    969 		<param name="index" type="GLuint"/>
    970 	</proto>
    971 </template>
    972 
    973 <template name="IsProgram" direction="get">
    974 	<proto>
    975 		<return type="GLboolean"/>
    976 		<param name="program" type="GLuint"/>
    977 	</proto>
    978 </template>
    979 
    980 <template name="GetProgram" direction="get">
    981 	<proto>
    982 		<return type="void"/>
    983 		<param name="program" type="GLuint"/>
    984 		<param name="pname" type="GLenum"/>
    985 		<vector name="params" type="GLtype *" size="dynamic"/>
    986 	</proto>
    987 </template>
    988 
    989 <template name="GetVertexAttrib" direction="get">
    990 	<proto>
    991 		<return type="void"/>
    992 		<param name="index" type="GLuint"/>
    993 		<param name="pname" type="GLenum"/>
    994 		<vector name="params" type="GLtype *" size="dynamic"/>
    995 	</proto>
    996 </template>
    997 
    998 <template name="GetVertexAttribPointer" direction="get">
    999 	<proto>
   1000 		<return type="void"/>
   1001 		<param name="index" type="GLuint"/>
   1002 		<param name="pname" type="GLenum"/>
   1003 		<vector name="pointer" type="GLvoid **" size="dynamic"/>
   1004 	</proto>
   1005 </template>
   1006 
   1007 <template name="GetBufferPointer" direction="get">
   1008 	<proto>
   1009 		<return type="void"/>
   1010 		<param name="target" type="GLenum"/>
   1011 		<param name="pname" type="GLenum"/>
   1012 		<vector name="params" type="GLvoid **" size="dynamic"/>
   1013 	</proto>
   1014 </template>
   1015 
   1016 <template name="MapBuffer" direction="get">
   1017 	<proto>
   1018 		<return type="void *"/>
   1019 		<param name="target" type="GLenum"/>
   1020 		<param name="access" type="GLenum"/>
   1021 	</proto>
   1022 </template>
   1023 
   1024 <template name="UnmapBuffer" direction="get">
   1025 	<proto>
   1026 		<return type="GLboolean"/>
   1027 		<param name="target" type="GLenum"/>
   1028 	</proto>
   1029 </template>
   1030 
   1031 <template name="BindBuffer">
   1032 	<proto>
   1033 		<return type="void"/>
   1034 		<param name="target" type="GLenum"/>
   1035 		<param name="buffer" type="GLuint"/>
   1036 	</proto>
   1037 </template>
   1038 
   1039 <template name="BufferData">
   1040 	<proto>
   1041 		<return type="void"/>
   1042 		<param name="target" type="GLenum"/>
   1043 		<param name="size" type="GLsizeiptr"/>
   1044 		<param name="data" type="const GLvoid *"/>
   1045 		<param name="usage" type="GLenum"/>
   1046 	</proto>
   1047 </template>
   1048 
   1049 <template name="BufferSubData">
   1050 	<proto>
   1051 		<return type="void"/>
   1052 		<param name="target" type="GLenum"/>
   1053 		<param name="offset" type="GLintptr"/>
   1054 		<param name="size" type="GLsizeiptr"/>
   1055 		<param name="data" type="const GLvoid *"/>
   1056 	</proto>
   1057 </template>
   1058 
   1059 <template name="DeleteBuffers">
   1060 	<proto>
   1061 		<return type="void"/>
   1062 		<param name="n" type="GLsizei"/>
   1063 		<param name="buffer" type="const GLuint *"/>
   1064 	</proto>
   1065 </template>
   1066 
   1067 <template name="GenBuffers" direction="get">
   1068 	<proto>
   1069 		<return type="void"/>
   1070 		<param name="n" type="GLsizei"/>
   1071 		<param name="buffer" type="GLuint *"/>
   1072 	</proto>
   1073 </template>
   1074 
   1075 <template name="GetBufferParameter" direction="get">
   1076 	<proto>
   1077 		<return type="void"/>
   1078 		<param name="target" type="GLenum"/>
   1079 		<param name="pname" type="GLenum"/>
   1080 		<vector name="params" type="GLtype *" size="dynamic"/>
   1081 	</proto>
   1082 </template>
   1083 
   1084 <template name="IsBuffer" direction="get">
   1085 	<proto>
   1086 		<return type="GLboolean"/>
   1087 		<param name="buffer" type="GLuint"/>
   1088 	</proto>
   1089 </template>
   1090 
   1091 <template name="CreateShader">
   1092 	<proto>
   1093 		<return type="GLuint"/>
   1094 		<param name="type" type="GLenum"/>
   1095 	</proto>
   1096 </template>
   1097 
   1098 <template name="ShaderSource">
   1099 	<proto>
   1100 		<return type="void"/>
   1101 		<param name="shader" type="GLuint"/>
   1102 		<param name="count" type="GLsizei"/>
   1103 		<param name="string" type="const GLchar * const *"/>
   1104 		<param name="length" type="const int *"/>
   1105 	</proto>
   1106 </template>
   1107 
   1108 <template name="CompileShader">
   1109 	<proto>
   1110 		<return type="void"/>
   1111 		<param name="shader" type="GLuint"/>
   1112 	</proto>
   1113 </template>
   1114 
   1115 <template name="ReleaseShaderCompiler">
   1116 	<proto>
   1117 		<return type="void"/>
   1118 	</proto>
   1119 </template>
   1120 
   1121 <template name="DeleteShader">
   1122 	<proto>
   1123 		<return type="void"/>
   1124 		<param name="shader" type="GLuint"/>
   1125 	</proto>
   1126 </template>
   1127 
   1128 <template name="ShaderBinary">
   1129 	<proto>
   1130 		<return type="void"/>
   1131 		<param name="n" type="GLsizei"/>
   1132 		<param name="shaders" type="const GLuint *"/>
   1133 		<param name="binaryformat" type="GLenum"/>
   1134 		<param name="binary" type="const GLvoid *"/>
   1135 		<param name="length" type="GLsizei"/>
   1136 	</proto>
   1137 </template>
   1138 
   1139 <template name="CreateProgram">
   1140 	<proto>
   1141 		<return type="GLuint"/>
   1142 	</proto>
   1143 </template>
   1144 
   1145 <template name="AttachShader">
   1146 	<proto>
   1147 		<return type="void"/>
   1148 		<param name="program" type="GLuint"/>
   1149 		<param name="shader" type="GLuint"/>
   1150 	</proto>
   1151 </template>
   1152 
   1153 <template name="DetachShader">
   1154 	<proto>
   1155 		<return type="void"/>
   1156 		<param name="program" type="GLuint"/>
   1157 		<param name="shader" type="GLuint"/>
   1158 	</proto>
   1159 </template>
   1160 
   1161 <template name="LinkProgram">
   1162 	<proto>
   1163 		<return type="void"/>
   1164 		<param name="program" type="GLuint"/>
   1165 	</proto>
   1166 </template>
   1167 
   1168 <template name="UseProgram">
   1169 	<proto>
   1170 		<return type="void"/>
   1171 		<param name="program" type="GLuint"/>
   1172 	</proto>
   1173 </template>
   1174 
   1175 <template name="DeleteProgram">
   1176 	<proto>
   1177 		<return type="void"/>
   1178 		<param name="program" type="GLuint"/>
   1179 	</proto>
   1180 </template>
   1181 
   1182 <template name="GetActiveAttrib" direction="get">
   1183 	<proto>
   1184 		<return type="void"/>
   1185 		<param name="program" type="GLuint"/>
   1186 		<param name="index" type="GLuint"/>
   1187 		<param name="bufSize" type="GLsizei"/>
   1188 		<param name="length" type="GLsizei *"/>
   1189 		<param name="size" type="GLint *"/>
   1190 		<param name="type" type="GLenum *"/>
   1191 		<param name="name" type="GLchar *"/>
   1192 	</proto>
   1193 </template>
   1194 
   1195 <template name="GetAttribLocation" direction="get">
   1196 	<proto>
   1197 		<return type="GLint"/>
   1198 		<param name="program" type="GLuint"/>
   1199 		<param name="name" type="const char *"/>
   1200 	</proto>
   1201 </template>
   1202 
   1203 <template name="BindAttribLocation">
   1204 	<proto>
   1205 		<return type="void"/>
   1206 		<param name="program" type="GLuint"/>
   1207 		<param name="index" type="GLuint"/>
   1208 		<param name="name" type="const char *"/>
   1209 	</proto>
   1210 </template>
   1211 
   1212 <template name="GetUniformLocation" direction="get">
   1213 	<proto>
   1214 		<return type="GLint"/>
   1215 		<param name="program" type="GLuint"/>
   1216 		<param name="name" type="const char *"/>
   1217 	</proto>
   1218 </template>
   1219 
   1220 <template name="GetActiveUniform" direction="get">
   1221 	<proto>
   1222 		<return type="void"/>
   1223 		<param name="program" type="GLuint"/>
   1224 		<param name="index" type="GLuint"/>
   1225 		<param name="bufSize" type="GLsizei"/>
   1226 		<param name="length" type="GLsizei *"/>
   1227 		<param name="size" type="GLint *"/>
   1228 		<param name="type" type="GLenum *"/>
   1229 		<param name="name" type="GLchar *"/>
   1230 	</proto>
   1231 </template>
   1232 
   1233 <template name="Uniform">
   1234 	<proto>
   1235 		<return type="void"/>
   1236 		<param name="location" type="GLint"/>
   1237 		<param name="count" type="GLsizei" hide_if_expanded="true"/>
   1238 		<vector name="values" type="const GLtype *" size="dynamic">
   1239 			<param name="v0" type="GLtype"/>
   1240 			<param name="v1" type="GLtype"/>
   1241 			<param name="v2" type="GLtype"/>
   1242 			<param name="v3" type="GLtype"/>
   1243 		</vector>
   1244 	</proto>
   1245 </template>
   1246 
   1247 <template name="UniformMatrix">
   1248 	<proto>
   1249 		<return type="void"/>
   1250 		<param name="location" type="GLint"/>
   1251 		<param name="count" type="GLsizei"/>
   1252 		<param name="transpose" type="GLboolean"/>
   1253 		<vector name="value" type="const GLtype *" size="dynamic"/>
   1254 	</proto>
   1255 </template>
   1256 
   1257 <template name="ValidateProgram">
   1258 	<proto>
   1259 		<return type="void"/>
   1260 		<param name="program" type="GLuint"/>
   1261 	</proto>
   1262 </template>
   1263 
   1264 <template name="GenerateMipmap">
   1265 	<proto>
   1266 		<return type="void"/>
   1267 		<param name="target" type="GLenum"/>
   1268 	</proto>
   1269 </template>
   1270 
   1271 <template name="BindFramebuffer">
   1272 	<proto>
   1273 		<return type="void"/>
   1274 		<param name="target" type="GLenum"/>
   1275 		<param name="framebuffer" type="GLuint"/>
   1276 	</proto>
   1277 </template>
   1278 
   1279 <template name="DeleteFramebuffers">
   1280 	<proto>
   1281 		<return type="void"/>
   1282 		<param name="n" type="GLsizei"/>
   1283 		<param name="framebuffers" type="const GLuint *"/>
   1284 	</proto>
   1285 </template>
   1286 
   1287 <template name="GenFramebuffers">
   1288 	<proto>
   1289 		<return type="void"/>
   1290 		<param name="n" type="GLsizei"/>
   1291 		<param name="ids" type="GLuint *"/>
   1292 	</proto>
   1293 </template>
   1294 
   1295 <template name="BindRenderbuffer">
   1296 	<proto>
   1297 		<return type="void"/>
   1298 		<param name="target" type="GLenum"/>
   1299 		<param name="renderbuffer" type="GLuint"/>
   1300 	</proto>
   1301 </template>
   1302 
   1303 <template name="DeleteRenderbuffers">
   1304 	<proto>
   1305 		<return type="void"/>
   1306 		<param name="n" type="GLsizei"/>
   1307 		<param name="renderbuffers" type="const GLuint *"/>
   1308 	</proto>
   1309 </template>
   1310 
   1311 <template name="GenRenderbuffers">
   1312 	<proto>
   1313 		<return type="void"/>
   1314 		<param name="n" type="GLsizei"/>
   1315 		<param name="renderbuffers" type="GLuint *"/>
   1316 	</proto>
   1317 </template>
   1318 
   1319 <template name="RenderbufferStorage">
   1320 	<proto>
   1321 		<return type="void"/>
   1322 		<param name="target" type="GLenum"/>
   1323 		<param name="internalFormat" type="GLenum"/>
   1324 		<param name="width" type="GLsizei"/>
   1325 		<param name="height" type="GLsizei"/>
   1326 	</proto>
   1327 </template>
   1328 
   1329 <template name="FramebufferRenderbuffer">
   1330 	<proto>
   1331 		<return type="void"/>
   1332 		<param name="target" type="GLenum"/>
   1333 		<param name="attachment" type="GLenum"/>
   1334 		<param name="renderbuffertarget" type="GLenum"/>
   1335 		<param name="renderbuffer" type="GLuint"/>
   1336 	</proto>
   1337 </template>
   1338 
   1339 <template name="FramebufferTexture2D">
   1340 	<proto>
   1341 		<return type="void"/>
   1342 		<param name="target" type="GLenum"/>
   1343 		<param name="attachment" type="GLenum"/>
   1344 		<param name="textarget" type="GLenum"/>
   1345 		<param name="texture" type="GLuint"/>
   1346 		<param name="level" type="GLint"/>
   1347 	</proto>
   1348 	<!-- According to the base specification, "level" must be 0.  But
   1349 	     extension GL_OES_fbo_render_mipmap lifts that restriction,
   1350 	     so no restriction is placed here. -->
   1351 </template>
   1352 
   1353 <template name="FramebufferTexture3D">
   1354 	<proto>
   1355 		<return type="void"/>
   1356 		<param name="target" type="GLenum"/>
   1357 		<param name="attachment" type="GLenum"/>
   1358 		<param name="textarget" type="GLenum"/>
   1359 		<param name="texture" type="GLuint"/>
   1360 		<param name="level" type="GLint"/>
   1361 		<param name="zoffset" type="GLint"/>
   1362 	</proto>
   1363 </template>
   1364 
   1365 <template name="CheckFramebufferStatus" direction="get">
   1366 	<proto>
   1367 		<return type="GLenum"/>
   1368 		<param name="target" type="GLenum"/>
   1369 	</proto>
   1370 </template>
   1371 
   1372 <template name="GetFramebufferAttachmentParameter" direction="get">
   1373 	<proto>
   1374 		<return type="void"/>
   1375 		<param name="target" type="GLenum"/>
   1376 		<param name="attachment" type="GLenum"/>
   1377 		<param name="pname" type="GLenum"/>
   1378 		<vector name="params" type="GLtype *" size="dynamic"/>
   1379 	</proto>
   1380 </template>
   1381 
   1382 <template name="GetRenderbufferParameter" direction="get">
   1383 	<proto>
   1384 		<return type="void"/>
   1385 		<param name="target" type="GLenum"/>
   1386 		<param name="pname" type="GLenum"/>
   1387 		<vector name="params" type="GLtype *" size="dynamic"/>
   1388 	</proto>
   1389 </template>
   1390 
   1391 <template name="IsRenderbuffer" direction="get">
   1392 	<proto>
   1393 		<return type="GLboolean"/>
   1394 		<param name="renderbuffer" type="GLuint"/>
   1395 	</proto>
   1396 </template>
   1397 
   1398 <template name="IsFramebuffer" direction="get">
   1399 	<proto>
   1400 		<return type="GLboolean"/>
   1401 		<param name="framebuffer" type="GLuint"/>
   1402 	</proto>
   1403 </template>
   1404 
   1405 <template name="IsShader" direction="get">
   1406 	<proto>
   1407 		<return type="GLboolean"/>
   1408 		<param name="shader" type="GLuint"/>
   1409 	</proto>
   1410 </template>
   1411 
   1412 <template name="GetShader" direction="get">
   1413 	<proto>
   1414 		<return type="void"/>
   1415 		<param name="shader" type="GLuint"/>
   1416 		<param name="pname" type="GLenum"/>
   1417 		<vector name="params" type="GLtype *" size="dynamic"/>
   1418 	</proto>
   1419 </template>
   1420 
   1421 <template name="GetAttachedShaders" direction="get">
   1422 	<proto>
   1423 		<return type="void"/>
   1424 		<param name="program" type="GLuint"/>
   1425 		<param name="maxCount" type="GLsizei"/>
   1426 		<param name="count" type="GLsizei *"/>
   1427 		<param name="shaders" type="GLuint *"/>
   1428 	</proto>
   1429 </template>
   1430 
   1431 <template name="GetShaderInfoLog" direction="get">
   1432 	<proto>
   1433 		<return type="void"/>
   1434 		<param name="shader" type="GLuint"/>
   1435 		<param name="bufSize" type="GLsizei"/>
   1436 		<param name="length" type="GLsizei *"/>
   1437 		<param name="infoLog" type="GLchar *"/>
   1438 	</proto>
   1439 </template>
   1440 
   1441 <template name="GetProgramInfoLog" direction="get">
   1442 	<proto>
   1443 		<return type="void"/>
   1444 		<param name="program" type="GLuint"/>
   1445 		<param name="bufSize" type="GLsizei"/>
   1446 		<param name="length" type="GLsizei *"/>
   1447 		<param name="infoLog" type="GLchar *"/>
   1448 	</proto>
   1449 </template>
   1450 
   1451 <template name="GetShaderSource" direction="get">
   1452 	<proto>
   1453 		<return type="void"/>
   1454 		<param name="shader" type="GLuint"/>
   1455 		<param name="bufSize" type="GLsizei"/>
   1456 		<param name="length" type="GLsizei *"/>
   1457 		<param name="source" type="GLchar *"/>
   1458 	</proto>
   1459 </template>
   1460 
   1461 <template name="GetShaderPrecisionFormat" direction="get">
   1462 	<proto>
   1463 		<return type="void"/>
   1464 		<param name="shadertype" type="GLenum"/>
   1465 		<param name="precisiontype" type="GLenum"/>
   1466 		<param name="range" type="GLint *"/>
   1467 		<param name="precision" type="GLint *"/>
   1468 	</proto>
   1469 </template>
   1470 
   1471 <template name="GetUniform" direction="get">
   1472 	<proto>
   1473 		<return type="void"/>
   1474 		<param name="program" type="GLuint"/>
   1475 		<param name="location" type="GLint"/>
   1476 		<vector name="params" type="GLtype *" size="dynamic"/>
   1477 	</proto>
   1478 </template>
   1479 
   1480 <template name="QueryMatrix" direction="get">
   1481 	<proto>
   1482 		<return type="GLbitfield"/>
   1483 		<vector name="mantissa" type="GLtype *" size="16"/>
   1484 		<vector name="exponent" type="GLint *" size="16"/>
   1485 	</proto>
   1486 </template>
   1487 
   1488 <template name="DrawTex">
   1489 	<proto>
   1490 		<return type="void"/>
   1491 		<vector name="coords" type="const GLtype *" size="5">
   1492 			<param name="x" type="GLtype"/>
   1493 			<param name="y" type="GLtype"/>
   1494 			<param name="z" type="GLtype"/>
   1495 			<param name="w" type="GLtype"/>
   1496 			<param name="h" type="GLtype"/>
   1497 		</vector>
   1498 	</proto>
   1499 </template>
   1500 
   1501 <template name="MultiDrawArrays">
   1502 	<proto>
   1503 		<return type="void"/>
   1504 		<param name="mode" type="GLenum"/>
   1505 		<param name="first" type="const GLint *"/>
   1506 		<param name="count" type="const GLsizei *"/>
   1507 		<param name="primcount" type="GLsizei"/>
   1508 	</proto>
   1509 </template>
   1510 
   1511 <template name="MultiDrawElements">
   1512 	<proto>
   1513 		<return type="void"/>
   1514 		<param name="mode" type="GLenum"/>
   1515 		<param name="count" type="const GLsizei *"/>
   1516 		<param name="type" type="GLenum"/>
   1517 		<param name="indices" type="const GLvoid **"/>
   1518 		<param name="primcount" type="GLsizei"/>
   1519 	</proto>
   1520 </template>
   1521 
   1522 <template name="EGLImageTargetTexture2D">
   1523 	<proto>
   1524 		<return type="void"/>
   1525 		<param name="target" type="GLenum"/>
   1526 		<param name="image" type="GLeglImageOES"/>
   1527 	</proto>
   1528 </template>
   1529 
   1530 <template name="EGLImageTargetRenderbufferStorage">
   1531 	<proto>
   1532 		<return type="void"/>
   1533 		<param name="target" type="GLenum"/>
   1534 		<param name="image" type="GLeglImageOES"/>
   1535 	</proto>
   1536 </template>
   1537 
   1538 <template name="DrawBuffers">
   1539 	<proto>
   1540 		<return type="void"/>
   1541 		<param name="n" type="GLsizei"/>
   1542 		<param name="bufs" type="const GLenum *"/>
   1543 	</proto>
   1544 </template>
   1545 
   1546 <template name="ReadBuffer">
   1547 	<proto>
   1548 		<return type="void"/>
   1549 		<param name="mode" type="GLenum"/>
   1550 	</proto>
   1551 </template>
   1552 
   1553 <api name="mesa" implementation="true">
   1554 	<category name="MESA"/>
   1555 
   1556 	<function name="Color4f"  default_prefix="_es_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   1557 	<function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/>
   1558 	<function name="CullFace" template="CullFace"/>
   1559 
   1560 	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
   1561 	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
   1562 
   1563 	<function name="FrontFace" template="FrontFace"/>
   1564 	<function name="Hint" template="Hint"/>
   1565 
   1566 	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
   1567 	<function name="Lightfv" template="Light" gltype="GLfloat"/>
   1568 
   1569 	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
   1570 	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
   1571 
   1572 	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
   1573 
   1574 	<function name="Materialf" default_prefix="_es_" template="Material" gltype="GLfloat" expand_vector="true"/>
   1575 	<function name="Materialfv" default_prefix="_es_" template="Material" gltype="GLfloat"/>
   1576 
   1577 	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
   1578 	<function name="PointSizePointer" template="PointSizePointer"/>
   1579 
   1580 	<function name="Scissor" template="Scissor"/>
   1581 	<function name="ShadeModel" template="ShadeModel"/>
   1582 
   1583 	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
   1584 	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
   1585 	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
   1586 	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
   1587 
   1588 	<function name="TexImage2D" template="TexImage2D"/>
   1589 
   1590 	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
   1591 	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
   1592 	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
   1593 	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
   1594 
   1595 	<function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/>
   1596 	<function name="TexGenfv" template="TexGen" gltype="GLfloat"/>
   1597 
   1598 	<function name="Clear" template="Clear"/>
   1599 	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
   1600 	<function name="ClearStencil" template="ClearStencil"/>
   1601 	<function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/>
   1602 	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
   1603 
   1604 	<function name="StencilMask" template="StencilMask"/>
   1605 	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
   1606 	<function name="ColorMask" template="ColorMask"/>
   1607 	<function name="DepthMask" template="DepthMask"/>
   1608 	<function name="Disable" template="Disable"/>
   1609 	<function name="Enable" template="Enable"/>
   1610 	<function name="Finish" template="Finish"/>
   1611 	<function name="Flush" template="Flush"/>
   1612 
   1613 	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
   1614 
   1615 	<function name="BlendFunc" template="BlendFunc"/>
   1616 	<function name="LogicOp" template="LogicOp"/>
   1617 	<function name="StencilFunc" template="StencilFunc"/>
   1618 	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
   1619 	<function name="StencilOp" template="StencilOp"/>
   1620 	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
   1621 	<function name="DepthFunc" template="DepthFunc"/>
   1622 	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
   1623 
   1624 	<function name="ReadPixels" template="ReadPixels"/>
   1625 	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
   1626 	<function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/>
   1627 	<function name="GetError" template="GetError"/>
   1628 	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
   1629 	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
   1630 	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
   1631 
   1632 	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
   1633 	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
   1634 	<function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/>
   1635 
   1636 	<function name="GetString" template="GetString"/>
   1637 
   1638 	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
   1639 	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
   1640 	<function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/>
   1641 	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
   1642 	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
   1643 
   1644 	<function name="IsEnabled" template="IsEnabled"/>
   1645 
   1646 	<function name="DepthRange" template="DepthRange" gltype="GLclampd"/>
   1647 	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
   1648 	<function name="Frustum" template="Frustum" gltype="GLdouble"/>
   1649 
   1650 	<function name="LoadIdentity" template="LoadIdentity"/>
   1651 	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
   1652 	<function name="MatrixMode" template="MatrixMode"/>
   1653 
   1654 	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
   1655 	<function name="Ortho" template="Ortho" gltype="GLdouble"/>
   1656 	<function name="PopMatrix" template="PopMatrix"/>
   1657 	<function name="PushMatrix" template="PushMatrix"/>
   1658 
   1659 	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
   1660 	<function name="Scalef" template="Scale" gltype="GLfloat"/>
   1661 	<function name="Translatef" template="Translate" gltype="GLfloat"/>
   1662 
   1663 	<function name="Viewport" template="Viewport"/>
   1664 
   1665 	<function name="ColorPointer" template="ColorPointer"/>
   1666 	<function name="DisableClientState" template="DisableClientState"/>
   1667 	<function name="DrawArrays" template="DrawArrays"/>
   1668 	<function name="DrawElements" template="DrawElements"/>
   1669 	<function name="EnableClientState" template="EnableClientState"/>
   1670 
   1671 	<function name="GetPointerv" template="GetPointer"/>
   1672 	<function name="Normal3f" default_prefix="_es_" template="Normal" gltype="GLfloat" expand_vector="true"/>
   1673 	<function name="NormalPointer" template="NormalPointer"/>
   1674 	<function name="TexCoordPointer" template="TexCoordPointer"/>
   1675 	<function name="VertexPointer" template="VertexPointer"/>
   1676 
   1677 	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
   1678 	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
   1679 	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
   1680 	<function name="TexSubImage2D" template="TexSubImage2D"/>
   1681 
   1682 	<function name="BindTexture" template="BindTexture"/>
   1683 	<function name="DeleteTextures" template="DeleteTextures"/>
   1684 	<function name="GenTextures" template="GenTextures"/>
   1685 	<function name="IsTexture" template="IsTexture"/>
   1686 
   1687 	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
   1688 	<function name="BlendEquation" template="BlendEquation"/>
   1689 	<function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/>
   1690 
   1691 	<function name="TexImage3D" template="TexImage3D"/>
   1692 	<function name="TexSubImage3D" template="TexSubImage3D"/>
   1693 	<function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/>
   1694 
   1695 	<function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/>
   1696 	<function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/>
   1697 
   1698 	<function name="ActiveTextureARB" template="ActiveTexture"/>
   1699 	<function name="ClientActiveTextureARB" template="ClientActiveTexture"/>
   1700 
   1701 	<function name="MultiTexCoord4f" default_prefix="_es_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   1702 
   1703 	<function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/>
   1704 
   1705 	<function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/>
   1706 	<function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/>
   1707 
   1708 	<function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/>
   1709 
   1710 	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
   1711 	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
   1712 
   1713 	<function name="VertexAttrib1f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
   1714 	<function name="VertexAttrib2f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
   1715 	<function name="VertexAttrib3f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
   1716 	<function name="VertexAttrib4f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   1717 	<function name="VertexAttrib1fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
   1718 	<function name="VertexAttrib2fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
   1719 	<function name="VertexAttrib3fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
   1720 	<function name="VertexAttrib4fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
   1721 
   1722 	<function name="VertexAttribPointerARB" template="VertexAttribPointer"/>
   1723 	<function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/>
   1724 	<function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/>
   1725 
   1726 	<function name="IsProgram" template="IsProgram"/>
   1727 	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
   1728 
   1729 	<function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/>
   1730 	<function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/>
   1731 	<function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/>
   1732 
   1733 	<function name="GetBufferPointervARB" template="GetBufferPointer"/>
   1734 	<function name="MapBufferARB" template="MapBuffer"/>
   1735 	<function name="UnmapBufferARB" template="UnmapBuffer"/>
   1736 	<function name="BindBufferARB" template="BindBuffer"/>
   1737 	<function name="BufferDataARB" template="BufferData"/>
   1738 	<function name="BufferSubDataARB" template="BufferSubData"/>
   1739 	<function name="DeleteBuffersARB" template="DeleteBuffers"/>
   1740 	<function name="GenBuffersARB" template="GenBuffers"/>
   1741 	<function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/>
   1742 	<function name="IsBufferARB" template="IsBuffer"/>
   1743 
   1744 	<function name="CreateShader" template="CreateShader"/>
   1745 	<function name="ShaderSourceARB" template="ShaderSource"/>
   1746 	<function name="CompileShaderARB" template="CompileShader"/>
   1747 	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
   1748 	<function name="DeleteShader" template="DeleteShader"/>
   1749 	<function name="ShaderBinary" template="ShaderBinary"/>
   1750 	<function name="CreateProgram" template="CreateProgram"/>
   1751 	<function name="AttachShader" template="AttachShader"/>
   1752 	<function name="DetachShader" template="DetachShader"/>
   1753 	<function name="LinkProgramARB" template="LinkProgram"/>
   1754 	<function name="UseProgramObjectARB" template="UseProgram"/>
   1755 	<function name="DeleteProgram" template="DeleteProgram"/>
   1756 
   1757 	<function name="GetActiveAttribARB" template="GetActiveAttrib"/>
   1758 	<function name="GetAttribLocationARB" template="GetAttribLocation"/>
   1759 	<function name="BindAttribLocationARB" template="BindAttribLocation"/>
   1760 	<function name="GetUniformLocationARB" template="GetUniformLocation"/>
   1761 	<function name="GetActiveUniformARB" template="GetActiveUniform"/>
   1762 
   1763 	<function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
   1764 	<function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
   1765 	<function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
   1766 	<function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   1767 	<function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
   1768 	<function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
   1769 	<function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
   1770 	<function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
   1771 	<function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/>
   1772 	<function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/>
   1773 	<function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/>
   1774 	<function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/>
   1775 	<function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/>
   1776 	<function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/>
   1777 	<function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/>
   1778 	<function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/>
   1779 
   1780 	<function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
   1781 	<function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
   1782 	<function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
   1783 
   1784 	<function name="ValidateProgramARB" template="ValidateProgram"/>
   1785 
   1786 	<function name="GenerateMipmapEXT" template="GenerateMipmap"/>
   1787 	<function name="BindFramebufferEXT" template="BindFramebuffer"/>
   1788 	<function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/>
   1789 	<function name="GenFramebuffersEXT" template="GenFramebuffers"/>
   1790 	<function name="BindRenderbufferEXT" template="BindRenderbuffer"/>
   1791 	<function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/>
   1792 	<function name="GenRenderbuffersEXT" template="GenRenderbuffers"/>
   1793 	<function name="RenderbufferStorageEXT" template="RenderbufferStorage"/>
   1794 	<function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/>
   1795 	<function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/>
   1796 	<function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/>
   1797 	<function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/>
   1798 	<function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
   1799 	<function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/>
   1800 	<function name="IsRenderbufferEXT" template="IsRenderbuffer"/>
   1801 	<function name="IsFramebufferEXT" template="IsFramebuffer"/>
   1802 
   1803 	<function name="IsShader" template="IsShader"/>
   1804 	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
   1805 	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
   1806 	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
   1807 	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
   1808 	<function name="GetShaderSourceARB" template="GetShaderSource"/>
   1809 	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
   1810 	<function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/>
   1811 	<function name="GetUniformivARB" template="GetUniform" gltype="GLint"/>
   1812 
   1813 	<function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
   1814 	<function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/>
   1815 	<function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/>
   1816 	<function name="DrawTexiv" template="DrawTex" gltype="GLint"/>
   1817 	<function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/>
   1818 	<function name="DrawTexsv" template="DrawTex" gltype="GLshort"/>
   1819 
   1820         <!-- EXT_multi_draw_arrays -->
   1821         <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
   1822         <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
   1823 
   1824         <!-- OES_EGL_image -->
   1825         <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
   1826         <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
   1827 
   1828 	<function name="DrawBuffersARB" template="DrawBuffers"/>
   1829 
   1830 	<function name="ReadBuffer" template="ReadBuffer"/>
   1831 
   1832 </api>
   1833 
   1834 <api name="GLES1.1">
   1835 	<category name="GLES1.1"/>
   1836 
   1837 	<category name="OES_byte_coordinates"/>
   1838 	<category name="OES_fixed_point"/>
   1839 	<category name="OES_single_precision"/>
   1840 	<category name="OES_matrix_get"/>
   1841 	<category name="OES_read_format"/>
   1842 	<category name="OES_compressed_paletted_texture"/>
   1843 	<category name="OES_compressed_ETC1_RGB8_texture"/>
   1844 	<category name="OES_point_size_array"/>
   1845 	<category name="OES_point_sprite"/>
   1846 	<category name="OES_query_matrix"/>
   1847 	<category name="OES_draw_texture"/>
   1848 	<category name="OES_blend_equation_separate"/>
   1849 	<category name="OES_blend_func_separate"/>
   1850 	<category name="OES_blend_subtract"/>
   1851 	<category name="OES_stencil_wrap"/>
   1852 	<category name="OES_texture_cube_map"/>
   1853 	<category name="OES_texture_env_crossbar"/>
   1854 	<category name="OES_texture_mirrored_repeat"/>
   1855 	<category name="OES_framebuffer_object"/>
   1856 	<category name="OES_depth24"/>
   1857 	<category name="OES_depth32"/>
   1858 	<category name="OES_fbo_render_mipmap"/>
   1859 	<category name="OES_rgb8_rgba8"/>
   1860 	<category name="OES_stencil1"/>
   1861 	<category name="OES_stencil4"/>
   1862 	<category name="OES_stencil8"/>
   1863 	<category name="OES_element_index_uint"/>
   1864 	<category name="OES_mapbuffer"/>
   1865 	<category name="EXT_texture_filter_anisotropic"/>
   1866 	<category name="EXT_texture_format_BGRA8888"/>
   1867 	<category name="EXT_read_format_bgra"/>
   1868 
   1869 	<category name="ARB_texture_non_power_of_two"/>
   1870 	<!-- disabled due to missing enums
   1871 	<category name="EXT_texture_compression_dxt1"/>
   1872 	-->
   1873 	<category name="EXT_texture_lod_bias"/>
   1874 	<category name="EXT_blend_minmax"/>
   1875 	<category name="EXT_multi_draw_arrays"/>
   1876 	<category name="OES_EGL_image"/>
   1877 	<category name="OES_EGL_image_external"/>
   1878 
   1879 	<category name="OES_matrix_palette"/>
   1880 
   1881 	<function name="Color4f" external="true" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   1882 	<function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/>
   1883 	<function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/>
   1884 
   1885 	<function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/>
   1886 	<function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/>
   1887 
   1888 	<function name="CullFace" template="CullFace"/>
   1889 
   1890 	<function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
   1891 	<function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/>
   1892 	<function name="Fogfv" template="Fog" gltype="GLfloat"/>
   1893 	<function name="Fogxv" template="Fog" gltype="GLfixed"/>
   1894 
   1895 	<function name="FrontFace" template="FrontFace"/>
   1896 	<function name="Hint" template="Hint"/>
   1897 
   1898 	<function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
   1899 	<function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/>
   1900 	<function name="Lightfv" template="Light" gltype="GLfloat"/>
   1901 	<function name="Lightxv" template="Light" gltype="GLfixed"/>
   1902 
   1903 	<function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
   1904 	<function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/>
   1905 	<function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
   1906 	<function name="LightModelxv" template="LightModel" gltype="GLfixed"/>
   1907 
   1908 	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
   1909 	<function name="LineWidthx" template="LineWidth" gltype="GLfixed"/>
   1910 
   1911 	<function name="Materialf" external="true" template="Material" gltype="GLfloat" expand_vector="true"/>
   1912 	<function name="Materialfv" external="true" template="Material" gltype="GLfloat"/>
   1913 	<function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/>
   1914 	<function name="Materialxv" template="Material" gltype="GLfixed"/>
   1915 
   1916 	<function name="PointSize" template="PointSize" gltype="GLfloat"/>
   1917 	<function name="PointSizex" template="PointSize" gltype="GLfixed"/>
   1918 	<function name="PointSizePointerOES" template="PointSizePointer"/>
   1919 
   1920 	<function name="Scissor" template="Scissor"/>
   1921 	<function name="ShadeModel" template="ShadeModel"/>
   1922 
   1923 	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
   1924 	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
   1925 	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
   1926 	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
   1927 	<function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/>
   1928 	<function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/>
   1929 
   1930 	<function name="TexImage2D" template="TexImage2D"/>
   1931 
   1932 	<function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
   1933 	<function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
   1934 	<function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
   1935 	<function name="TexEnviv" template="TexEnv" gltype="GLint"/>
   1936 	<function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/>
   1937 	<function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/>
   1938 
   1939 	<function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/>
   1940 	<function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/>
   1941 	<function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/>
   1942 	<function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/>
   1943 	<function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/>
   1944 	<function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/>
   1945 
   1946 	<function name="Clear" template="Clear"/>
   1947 	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
   1948 	<function name="ClearColorx" template="ClearColor" gltype="GLclampx"/>
   1949 
   1950 	<function name="ClearStencil" template="ClearStencil"/>
   1951 	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
   1952 	<function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/>
   1953 
   1954 	<function name="StencilMask" template="StencilMask"/>
   1955 	<function name="ColorMask" template="ColorMask"/>
   1956 	<function name="DepthMask" template="DepthMask"/>
   1957 
   1958 	<function name="Disable" template="Disable"/>
   1959 	<function name="Enable" template="Enable"/>
   1960 	<function name="Finish" template="Finish"/>
   1961 	<function name="Flush" template="Flush"/>
   1962 
   1963 	<function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
   1964 	<function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/>
   1965 
   1966 	<function name="BlendFunc" template="BlendFunc"/>
   1967 	<function name="LogicOp" template="LogicOp"/>
   1968 	<function name="StencilFunc" template="StencilFunc"/>
   1969 
   1970 	<function name="StencilOp" template="StencilOp"/>
   1971 	<function name="DepthFunc" template="DepthFunc"/>
   1972 
   1973 	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
   1974 	<function name="ReadPixels" template="ReadPixels"/>
   1975 
   1976 	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
   1977 
   1978 	<function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
   1979 	<function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
   1980 
   1981 	<function name="GetError" template="GetError"/>
   1982 	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
   1983 	<function name="GetFixedv" template="GetState" gltype="GLfixed"/>
   1984 	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
   1985 
   1986 	<function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
   1987 	<function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
   1988 
   1989 	<function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
   1990 	<function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/>
   1991 
   1992 	<function name="GetString" template="GetString"/>
   1993 
   1994 	<function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
   1995 	<function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
   1996 	<function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/>
   1997 
   1998 	<function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/>
   1999 	<function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/>
   2000 	<function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/>
   2001 
   2002 	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
   2003 	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
   2004 	<function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/>
   2005 
   2006 	<function name="IsEnabled" template="IsEnabled"/>
   2007 
   2008 	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
   2009 	<function name="DepthRangex" template="DepthRange" gltype="GLclampx"/>
   2010 
   2011 	<function name="Frustumf" template="Frustum" gltype="GLfloat"/>
   2012 	<function name="Frustumx" template="Frustum" gltype="GLfixed"/>
   2013 
   2014 	<function name="LoadIdentity" template="LoadIdentity"/>
   2015 	<function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
   2016 	<function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/>
   2017 	<function name="MatrixMode" template="MatrixMode"/>
   2018 
   2019 	<function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
   2020 	<function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/>
   2021 	<function name="Orthof" template="Ortho" gltype="GLfloat"/>
   2022 	<function name="Orthox" template="Ortho" gltype="GLfixed"/>
   2023 
   2024 	<function name="PopMatrix" template="PopMatrix"/>
   2025 	<function name="PushMatrix" template="PushMatrix"/>
   2026 
   2027 	<function name="Rotatef" template="Rotate" gltype="GLfloat"/>
   2028 	<function name="Rotatex" template="Rotate" gltype="GLfixed"/>
   2029 	<function name="Scalef" template="Scale" gltype="GLfloat"/>
   2030 	<function name="Scalex" template="Scale" gltype="GLfixed"/>
   2031 	<function name="Translatef" template="Translate" gltype="GLfloat"/>
   2032 	<function name="Translatex" template="Translate" gltype="GLfixed"/>
   2033 
   2034 	<function name="Viewport" template="Viewport"/>
   2035 	<function name="ColorPointer" template="ColorPointer"/>
   2036 	<function name="DisableClientState" template="DisableClientState"/>
   2037 	<function name="DrawArrays" template="DrawArrays"/>
   2038 	<function name="DrawElements" template="DrawElements"/>
   2039 	<function name="EnableClientState" template="EnableClientState"/>
   2040 
   2041 	<function name="GetPointerv" template="GetPointer"/>
   2042 
   2043 	<function name="Normal3f" external="true" template="Normal" gltype="GLfloat" expand_vector="true"/>
   2044 	<function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/>
   2045 	<function name="NormalPointer" template="NormalPointer"/>
   2046 	<function name="TexCoordPointer" template="TexCoordPointer"/>
   2047 	<function name="VertexPointer" template="VertexPointer"/>
   2048 
   2049 	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
   2050 	<function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/>
   2051 
   2052 	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
   2053 	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
   2054 
   2055 	<function name="TexSubImage2D" template="TexSubImage2D"/>
   2056 
   2057 	<function name="BindTexture" template="BindTexture"/>
   2058 	<function name="DeleteTextures" template="DeleteTextures"/>
   2059 	<function name="GenTextures" template="GenTextures"/>
   2060 	<function name="IsTexture" template="IsTexture"/>
   2061 
   2062 	<function name="BlendEquationOES" template="BlendEquation"/>
   2063 	<function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/>
   2064 
   2065 	<function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/>
   2066 
   2067 	<function name="ActiveTexture" template="ActiveTexture"/>
   2068 	<function name="ClientActiveTexture" template="ClientActiveTexture"/>
   2069 
   2070 	<function name="MultiTexCoord4f" external="true" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   2071 
   2072 	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
   2073 	<function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/>
   2074 
   2075 	<!-- CompressedTexImage2D calls out to two different functions based on
   2076 	     whether the image is a paletted image or not -->
   2077 	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
   2078 	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
   2079 
   2080 	<function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/>
   2081 
   2082 	<function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
   2083 	<function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
   2084 	<function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/>
   2085 	<function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/>
   2086 
   2087 	<!-- OES_mapbuffer -->
   2088 	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
   2089 	<function name="MapBufferOES" template="MapBuffer"/>
   2090 	<function name="UnmapBufferOES" template="UnmapBuffer"/>
   2091 
   2092 	<function name="BindBuffer" template="BindBuffer"/>
   2093 	<function name="BufferData" template="BufferData"/>
   2094 	<function name="BufferSubData" template="BufferSubData"/>
   2095 	<function name="DeleteBuffers" template="DeleteBuffers"/>
   2096 	<function name="GenBuffers" template="GenBuffers"/>
   2097 	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
   2098 	<function name="IsBuffer" template="IsBuffer"/>
   2099 
   2100 	<!-- OES_framebuffer_object -->
   2101 	<function name="GenerateMipmapOES" template="GenerateMipmap"/>
   2102 	<function name="BindFramebufferOES" template="BindFramebuffer"/>
   2103 	<function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/>
   2104 	<function name="GenFramebuffersOES" template="GenFramebuffers"/>
   2105 	<function name="BindRenderbufferOES" template="BindRenderbuffer"/>
   2106 	<function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
   2107 	<function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
   2108 	<function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
   2109 	<function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
   2110 	<function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
   2111 	<function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
   2112 	<function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
   2113 	<function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/>
   2114 	<function name="IsRenderbufferOES" template="IsRenderbuffer"/>
   2115 	<function name="IsFramebufferOES" template="IsFramebuffer"/>
   2116 
   2117 	<!-- OES_query_matrix -->
   2118 	<!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value
   2119 	     form; it has its own code for this -->
   2120 	<function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/>
   2121 
   2122 	<!-- OES_draw_texture -->
   2123 	<function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
   2124 	<function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/>
   2125 	<function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/>
   2126 	<function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/>
   2127 	<function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/>
   2128 	<function name="DrawTexivOES" template="DrawTex" gltype="GLint"/>
   2129 	<function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/>
   2130 	<function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/>
   2131 
   2132         <!-- EXT_multi_draw_arrays -->
   2133         <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
   2134         <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
   2135 
   2136         <!-- OES_EGL_image -->
   2137         <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
   2138         <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
   2139 </api>
   2140 
   2141 <api name="GLES2.0">
   2142 	<category name="GLES2.0"/>
   2143 
   2144 	<category name="OES_compressed_paletted_texture"/>
   2145 	<category name="OES_compressed_ETC1_RGB8_texture"/>
   2146 	<category name="OES_depth24"/>
   2147 	<category name="OES_depth32"/>
   2148 	<category name="OES_fbo_render_mipmap"/>
   2149 	<category name="OES_rgb8_rgba8"/>
   2150 	<category name="OES_stencil1"/>
   2151 	<category name="OES_stencil4"/>
   2152 	<category name="OES_element_index_uint"/>
   2153 	<category name="OES_mapbuffer"/>
   2154 	<category name="OES_texture_3D"/>
   2155 	<category name="OES_texture_npot"/>
   2156 	<category name="EXT_texture_filter_anisotropic"/>
   2157 	<category name="EXT_texture_type_2_10_10_10_REV"/>
   2158 	<category name="OES_depth_texture"/>
   2159 	<category name="OES_packed_depth_stencil"/>
   2160 	<category name="OES_standard_derivatives"/>
   2161 	<category name="EXT_texture_format_BGRA8888"/>
   2162 	<category name="EXT_texture_rg"/>
   2163 	<category name="EXT_read_format_bgra"/>
   2164 
   2165 	<category name="EXT_texture_compression_dxt1"/>
   2166 	<category name="EXT_blend_minmax"/>
   2167 	<category name="EXT_multi_draw_arrays"/>
   2168 	<category name="OES_EGL_image"/>
   2169 	<category name="OES_EGL_image_external"/>
   2170         <category name="EXT_unpack_subimage"/>
   2171 
   2172 	<category name="NV_draw_buffers"/>
   2173 	<category name="NV_read_buffer"/>
   2174 
   2175 	<function name="DrawBuffersNV" template="DrawBuffers"/>
   2176 	<function name="ReadBufferNV" template="ReadBuffer"/> 
   2177 
   2178 	<function name="CullFace" template="CullFace"/>
   2179 
   2180 	<function name="FrontFace" template="FrontFace"/>
   2181 	<function name="Hint" template="Hint"/>
   2182 
   2183 	<function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
   2184 
   2185 	<function name="Scissor" template="Scissor"/>
   2186 
   2187 	<function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
   2188 	<function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
   2189 	<function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
   2190 	<function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
   2191 
   2192 	<function name="TexImage2D" template="TexImage2D"/>
   2193 
   2194 	<function name="Clear" template="Clear"/>
   2195 	<function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
   2196 	<function name="ClearStencil" template="ClearStencil"/>
   2197 	<function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
   2198 
   2199 	<function name="StencilMask" template="StencilMask"/>
   2200 	<function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
   2201 	<function name="ColorMask" template="ColorMask"/>
   2202 	<function name="DepthMask" template="DepthMask"/>
   2203 	<function name="Disable" template="Disable"/>
   2204 	<function name="Enable" template="Enable"/>
   2205 	<function name="Finish" template="Finish"/>
   2206 	<function name="Flush" template="Flush"/>
   2207 
   2208 	<function name="BlendFunc" template="BlendFunc"/>
   2209 
   2210 	<function name="StencilFunc" template="StencilFunc"/>
   2211 	<function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
   2212 	<function name="StencilOp" template="StencilOp"/>
   2213 	<function name="StencilOpSeparate" template="StencilOpSeparate"/>
   2214 
   2215 	<function name="DepthFunc" template="DepthFunc"/>
   2216 
   2217 	<function name="PixelStorei" template="PixelStore" gltype="GLint"/>
   2218 	<function name="ReadPixels" template="ReadPixels"/>
   2219 
   2220 	<function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
   2221 	<function name="GetError" template="GetError"/>
   2222 	<function name="GetFloatv" template="GetState" gltype="GLfloat"/>
   2223 	<function name="GetIntegerv" template="GetState" gltype="GLint"/>
   2224 
   2225 	<function name="GetString" template="GetString"/>
   2226 
   2227 	<function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
   2228 	<function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
   2229 
   2230 	<function name="IsEnabled" template="IsEnabled"/>
   2231 
   2232 	<function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
   2233 
   2234 	<function name="Viewport" template="Viewport"/>
   2235 
   2236 	<function name="DrawArrays" template="DrawArrays"/>
   2237 	<function name="DrawElements" template="DrawElements"/>
   2238 
   2239 	<function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
   2240 	<function name="CopyTexImage2D" template="CopyTexImage2D"/>
   2241 	<function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
   2242 	<function name="TexSubImage2D" template="TexSubImage2D"/>
   2243 
   2244 	<function name="BindTexture" template="BindTexture"/>
   2245 	<function name="DeleteTextures" template="DeleteTextures"/>
   2246 	<function name="GenTextures" template="GenTextures"/>
   2247 	<function name="IsTexture" template="IsTexture"/>
   2248 
   2249 	<function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
   2250 	<function name="BlendEquation" template="BlendEquation"/>
   2251 	<function name="BlendEquationSeparate" template="BlendEquationSeparate"/>
   2252 
   2253 	<function name="TexImage3DOES" template="TexImage3D"/>
   2254 	<function name="TexSubImage3DOES" template="TexSubImage3D"/>
   2255 	<function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/>
   2256 
   2257 	<function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/>
   2258 	<function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/>
   2259 
   2260 	<function name="ActiveTexture" template="ActiveTexture"/>
   2261 
   2262 	<function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
   2263 
   2264 	<function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
   2265 	<function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
   2266 
   2267 	<function name="BlendFuncSeparate" template="BlendFuncSeparate"/>
   2268 
   2269 	<function name="VertexAttrib1f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
   2270 	<function name="VertexAttrib2f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
   2271 	<function name="VertexAttrib3f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
   2272 	<function name="VertexAttrib4f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   2273 	<function name="VertexAttrib1fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
   2274 	<function name="VertexAttrib2fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
   2275 	<function name="VertexAttrib3fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
   2276 	<function name="VertexAttrib4fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
   2277 
   2278 	<function name="VertexAttribPointer" template="VertexAttribPointer"/>
   2279 
   2280 	<function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/>
   2281 	<function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/>
   2282 
   2283 	<function name="IsProgram" template="IsProgram"/>
   2284 	<function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
   2285 
   2286 	<function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/>
   2287 	<function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/>
   2288 	<function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/>
   2289 
   2290 	<function name="GetBufferPointervOES" template="GetBufferPointer"/>
   2291 	<function name="MapBufferOES" template="MapBuffer"/>
   2292 	<function name="UnmapBufferOES" template="UnmapBuffer"/>
   2293 	<function name="BindBuffer" template="BindBuffer"/>
   2294 	<function name="BufferData" template="BufferData"/>
   2295 	<function name="BufferSubData" template="BufferSubData"/>
   2296 	<function name="DeleteBuffers" template="DeleteBuffers"/>
   2297 	<function name="GenBuffers" template="GenBuffers"/>
   2298 	<function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
   2299 	<function name="IsBuffer" template="IsBuffer"/>
   2300 
   2301 	<function name="CreateShader" template="CreateShader"/>
   2302 	<function name="ShaderSource" template="ShaderSource"/>
   2303 	<function name="CompileShader" template="CompileShader"/>
   2304 	<function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
   2305 	<function name="DeleteShader" template="DeleteShader"/>
   2306 	<function name="ShaderBinary" template="ShaderBinary"/>
   2307 	<function name="CreateProgram" template="CreateProgram"/>
   2308 	<function name="AttachShader" template="AttachShader"/>
   2309 	<function name="DetachShader" template="DetachShader"/>
   2310 	<function name="LinkProgram" template="LinkProgram"/>
   2311 	<function name="UseProgram" template="UseProgram"/>
   2312 	<function name="DeleteProgram" template="DeleteProgram"/>
   2313 
   2314 	<function name="GetActiveAttrib" template="GetActiveAttrib"/>
   2315 	<function name="GetAttribLocation" template="GetAttribLocation"/>
   2316 	<function name="BindAttribLocation" template="BindAttribLocation"/>
   2317 	<function name="GetUniformLocation" template="GetUniformLocation"/>
   2318 	<function name="GetActiveUniform" template="GetActiveUniform"/>
   2319 
   2320 	<function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
   2321 	<function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
   2322 	<function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
   2323 	<function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
   2324 	<function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
   2325 	<function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
   2326 	<function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
   2327 	<function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
   2328 
   2329 	<function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/>
   2330 	<function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/>
   2331 	<function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/>
   2332 	<function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/>
   2333 	<function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/>
   2334 	<function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/>
   2335 	<function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/>
   2336 	<function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/>
   2337 
   2338 	<function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
   2339 	<function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
   2340 	<function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
   2341 
   2342 	<function name="ValidateProgram" template="ValidateProgram"/>
   2343 
   2344 	<function name="GenerateMipmap" template="GenerateMipmap"/>
   2345 	<function name="BindFramebuffer" template="BindFramebuffer"/>
   2346 	<function name="DeleteFramebuffers" template="DeleteFramebuffers"/>
   2347 	<function name="GenFramebuffers" template="GenFramebuffers"/>
   2348 	<function name="BindRenderbuffer" template="BindRenderbuffer"/>
   2349 	<function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/>
   2350 	<function name="GenRenderbuffers" template="GenRenderbuffers"/>
   2351 	<function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/>
   2352 	<function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/>
   2353 	<function name="FramebufferTexture2D" template="FramebufferTexture2D"/>
   2354 	<function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/>
   2355 	<function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/>
   2356 	<function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
   2357 	<function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/>
   2358 	<function name="IsRenderbuffer" template="IsRenderbuffer"/>
   2359 	<function name="IsFramebuffer" template="IsFramebuffer"/>
   2360 
   2361 	<function name="IsShader" template="IsShader"/>
   2362 	<function name="GetShaderiv" template="GetShader" gltype="GLint"/>
   2363 	<function name="GetAttachedShaders" template="GetAttachedShaders"/>
   2364 	<function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
   2365 	<function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
   2366 	<function name="GetShaderSource" template="GetShaderSource"/>
   2367 	<function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
   2368 	<function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/>
   2369 	<function name="GetUniformiv" template="GetUniform" gltype="GLint"/>
   2370 
   2371         <!-- EXT_multi_draw_arrays -->
   2372         <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
   2373         <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
   2374 
   2375         <!-- OES_EGL_image -->
   2376         <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
   2377         <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
   2378 </api>
   2379 
   2380 </apispec>
   2381