Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

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