diff options
author | marha <marha@users.sourceforge.net> | 2010-12-29 12:20:21 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-12-29 12:20:21 +0000 |
commit | 053f5dfd42ade05252e586a282e34906db10828d (patch) | |
tree | de215580ce205409a6d810a005c6c5909f3145d1 /mesalib/src/mesa/main/APIspec.xml | |
parent | 04ceb8c4a0cca3d8682f094d1d6faed8f693afb5 (diff) | |
parent | 807c6931fe683fd844ceec1b023232181e6aae03 (diff) | |
download | vcxsrv-053f5dfd42ade05252e586a282e34906db10828d.tar.gz vcxsrv-053f5dfd42ade05252e586a282e34906db10828d.tar.bz2 vcxsrv-053f5dfd42ade05252e586a282e34906db10828d.zip |
svn merge ^/branches/released .
Diffstat (limited to 'mesalib/src/mesa/main/APIspec.xml')
-rw-r--r-- | mesalib/src/mesa/main/APIspec.xml | 8673 |
1 files changed, 4341 insertions, 4332 deletions
diff --git a/mesalib/src/mesa/main/APIspec.xml b/mesalib/src/mesa/main/APIspec.xml index 4c5fd59d4..280e93a90 100644 --- a/mesalib/src/mesa/main/APIspec.xml +++ b/mesalib/src/mesa/main/APIspec.xml @@ -1,4332 +1,4341 @@ -<?xml version="1.0"?> -<!DOCTYPE apispec SYSTEM "APIspec.dtd"> - -<!-- A function is generated from a template. Multiple functions can be - generated from a single template with different arguments. For example, - glColor3f can be generated from - - <function name="Color3f" template="Color" gltype="GLfloat" vector_size="3" expand_vector="true"/> - - and glColor4iv can be generated from - - <function name="Color4iv" template="Color" gltype="GLint" vector_size="4"/> - - In a template, there are <desc>s that describe the properties of - parameters. A <desc> can enumerate the valid values of a parameter. It - can also specify the error code when an invalid value is given, and etc. - By nesting <desc>s, they can create dependency between parameters. - - A function can be marked as external. It means that the function cannot - be dispatched to the corresponding mesa function, if one exists, directly, - and requires an external implementation. ---> - -<apispec> - -<template name="Color"> - <proto> - <return type="void"/> - <vector name="v" type="const GLtype *" size="dynamic"> - <param name="red" type="GLtype"/> - <param name="green" type="GLtype"/> - <param name="blue" type="GLtype"/> - <param name="alpha" type="GLtype"/> - </vector> - </proto> -</template> - -<template name="ClipPlane"> - <proto> - <return type="void"/> - <param name="plane" type="GLenum"/> - <vector name="equation" type="const GLtype *" size="4"/> - </proto> - - <desc name="plane"> - <range base="GL_CLIP_PLANE" from="0" to="5"/> - </desc> -</template> - -<template name="CullFace"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - </proto> - - <desc name="mode"> - <value name="GL_FRONT"/> - <value name="GL_BACK"/> - <value name="GL_FRONT_AND_BACK"/> - </desc> -</template> - -<template name="Fog"> - <proto> - <return type="void"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="pname"> - <value name="GL_FOG_MODE"/> - <desc name="param"> - <value name="GL_EXP"/> - <value name="GL_EXP2"/> - <value name="GL_LINEAR"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_FOG_COLOR"/> - - <desc name="params" vector_size="4"/> - </desc> - - <desc name="pname"> - <value name="GL_FOG_DENSITY"/> - <value name="GL_FOG_START"/> - <value name="GL_FOG_END"/> - - <desc name="params" vector_size="1"/> - </desc> -</template> - -<template name="FrontFace"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - </proto> - - <desc name="mode"> - <value name="GL_CW"/> - <value name="GL_CCW"/> - </desc> -</template> - -<template name="Hint"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="mode" type="GLenum"/> - </proto> - - <desc name="target" category="GLES1.1"> - <value name="GL_FOG_HINT"/> - <value name="GL_LINE_SMOOTH_HINT"/> - <value name="GL_PERSPECTIVE_CORRECTION_HINT"/> - <value name="GL_POINT_SMOOTH_HINT"/> - </desc> - <desc name="target" category="OES_standard_derivatives"> - <value name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/> - </desc> - <desc name="target"> - <value name="GL_GENERATE_MIPMAP_HINT"/> - </desc> - - <desc name="mode"> - <value name="GL_FASTEST"/> - <value name="GL_NICEST"/> - <value name="GL_DONT_CARE"/> - </desc> -</template> - -<template name="Light"> - <proto> - <return type="void"/> - <param name="light" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="light"> - <range base="GL_LIGHT" from="0" to="7"/> - </desc> - - <desc name="pname"> - <value name="GL_AMBIENT"/> - <value name="GL_DIFFUSE"/> - <value name="GL_SPECULAR"/> - <value name="GL_POSITION"/> - - <desc name="params" vector_size="4"/> - </desc> - - <desc name="pname"> - <value name="GL_SPOT_DIRECTION"/> - - <desc name="params" vector_size="3"/> - </desc> - - <desc name="pname"> - <value name="GL_SPOT_EXPONENT"/> - <value name="GL_SPOT_CUTOFF"/> - <value name="GL_CONSTANT_ATTENUATION"/> - <value name="GL_LINEAR_ATTENUATION"/> - <value name="GL_QUADRATIC_ATTENUATION"/> - - <desc name="params" vector_size="1"/> - </desc> -</template> - -<template name="LightModel"> - <proto> - <return type="void"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="pname"> - <value name="GL_LIGHT_MODEL_AMBIENT"/> - - <desc name="params" vector_size="4"/> - </desc> - - <desc name="pname"> - <value name="GL_LIGHT_MODEL_TWO_SIDE"/> - <desc name="param"> - <value name="GL_TRUE"/> - <value name="GL_FALSE"/> - </desc> - </desc> -</template> - -<template name="LineWidth"> - <proto> - <return type="void"/> - <param name="width" type="GLtype"/> - </proto> -</template> - -<template name="Material"> - <proto> - <return type="void"/> - <param name="face" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="face"> - <value name="GL_FRONT_AND_BACK"/> - </desc> - - <desc name="pname"> - <value name="GL_AMBIENT"/> - <value name="GL_DIFFUSE"/> - <value name="GL_AMBIENT_AND_DIFFUSE"/> - <value name="GL_SPECULAR"/> - <value name="GL_EMISSION"/> - - <desc name="params" vector_size="4"/> - </desc> - - <desc name="pname"> - <value name="GL_SHININESS"/> - - <desc name="params" vector_size="1"/> - </desc> -</template> - -<template name="PointSize"> - <proto> - <return type="void"/> - <param name="size" type="GLtype"/> - </proto> -</template> - -<template name="PointSizePointer"> - <proto> - <return type="void"/> - <param name="type" type="GLenum"/> - <param name="stride" type="GLsizei"/> - <param name="pointer" type="const GLvoid *"/> - </proto> - - <desc name="type"> - <value name="GL_FLOAT"/> - <value name="GL_FIXED"/> - </desc> -</template> - -<template name="Scissor"> - <proto> - <return type="void"/> - <param name="x" type="GLint"/> - <param name="y" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - </proto> -</template> - -<template name="ShadeModel"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - </proto> - - <desc name="mode"> - <value name="GL_FLAT"/> - <value name="GL_SMOOTH"/> - </desc> -</template> - -<template name="TexParameter"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_WRAP_S"/> - <value name="GL_TEXTURE_WRAP_T"/> - <value name="GL_TEXTURE_WRAP_R_OES" category="OES_texture_3D"/> - - <desc name="param"> - <value name="GL_CLAMP_TO_EDGE"/> - <value name="GL_REPEAT"/> - <value name="GL_MIRRORED_REPEAT" category="GLES2.0"/> - <value name="GL_MIRRORED_REPEAT_OES" category="OES_texture_mirrored_repeat"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_MIN_FILTER"/> - - <desc name="param"> - <value name="GL_NEAREST"/> - <value name="GL_LINEAR"/> - <value name="GL_NEAREST_MIPMAP_NEAREST"/> - <value name="GL_NEAREST_MIPMAP_LINEAR"/> - <value name="GL_LINEAR_MIPMAP_NEAREST"/> - <value name="GL_LINEAR_MIPMAP_LINEAR"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_MAG_FILTER"/> - - <desc name="param"> - <value name="GL_NEAREST"/> - <value name="GL_LINEAR"/> - </desc> - </desc> - - <desc name="pname" category="GLES1.1"> - <value name="GL_GENERATE_MIPMAP"/> - - <desc name="param"> - <value name="GL_TRUE"/> - <value name="GL_FALSE"/> - </desc> - </desc> - - <desc name="pname" category="EXT_texture_filter_anisotropic"> - <value name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/> - <desc name="params" vector_size="1"/> - </desc> - - <desc name="pname" category="OES_draw_texture"> - <value name="GL_TEXTURE_CROP_RECT_OES"/> - <desc name="params" vector_size="4"/> - </desc> -</template> - -<template name="TexImage2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="internalFormat" type="GLint"/> <!-- should be GLenum --> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="border" type="GLint"/> - <param name="format" type="GLenum"/> - <param name="type" type="GLenum"/> - <param name="pixels" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> - </desc> - - <desc name="internalFormat" error="GL_INVALID_VALUE"> - <value name="GL_ALPHA"/> - <value name="GL_RGB"/> - <value name="GL_RGBA"/> - <value name="GL_LUMINANCE"/> - <value name="GL_LUMINANCE_ALPHA"/> - <value name="GL_DEPTH_COMPONENT" category="OES_depth_texture"/> - <value name="GL_DEPTH_STENCIL_OES" category="OES_packed_depth_stencil"/> - </desc> - - <desc name="border" error="GL_INVALID_VALUE"> - <value name="0"/> - </desc> - - <desc name="format"> - <value name="GL_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGB"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_5_6_5"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGBA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> - <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format" category="OES_depth_texture"> - <value name="GL_DEPTH_COMPONENT"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_SHORT"/> - <value name="GL_UNSIGNED_INT"/> - </desc> - </desc> - - <desc name="format" category="OES_packed_depth_stencil"> - <value name="GL_DEPTH_STENCIL_OES"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_INT_24_8_OES"/> - </desc> - </desc> -</template> - -<template name="TexEnv"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="target" category="OES_point_sprite"> - <value name="GL_POINT_SPRITE_OES"/> - - <desc name="pname"> - <value name="GL_COORD_REPLACE_OES"/> - </desc> - </desc> - - <desc name="pname" category="OES_point_sprite"> - <value name="GL_COORD_REPLACE_OES"/> - - <desc name="param"> - <value name="GL_TRUE"/> - <value name="GL_FALSE"/> - </desc> - </desc> - - <desc name="target" category="EXT_texture_lod_bias"> - <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/> - - <desc name="pname"> - <value name="GL_TEXTURE_LOD_BIAS_EXT"/> - </desc> - </desc> - - <desc name="pname" category="EXT_texture_lod_bias"> - <value name="GL_TEXTURE_LOD_BIAS_EXT"/> - <desc name="params" vector_size="1"/> - </desc> - - <desc name="target"> - <value name="GL_TEXTURE_ENV"/> - - <desc name="pname"> - <value name="GL_TEXTURE_ENV_MODE"/> - <value name="GL_COMBINE_RGB"/> - <value name="GL_COMBINE_ALPHA"/> - <value name="GL_RGB_SCALE"/> - <value name="GL_ALPHA_SCALE"/> - <value name="GL_SRC0_RGB"/> - <value name="GL_SRC1_RGB"/> - <value name="GL_SRC2_RGB"/> - <value name="GL_SRC0_ALPHA"/> - <value name="GL_SRC1_ALPHA"/> - <value name="GL_SRC2_ALPHA"/> - <value name="GL_OPERAND0_RGB"/> - <value name="GL_OPERAND1_RGB"/> - <value name="GL_OPERAND2_RGB"/> - <value name="GL_OPERAND0_ALPHA"/> - <value name="GL_OPERAND1_ALPHA"/> - <value name="GL_OPERAND2_ALPHA"/> - <value name="GL_TEXTURE_ENV_COLOR"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_ENV_MODE"/> - - <desc name="param"> - <value name="GL_REPLACE"/> - <value name="GL_MODULATE"/> - <value name="GL_DECAL"/> - <value name="GL_BLEND"/> - <value name="GL_ADD"/> - <value name="GL_COMBINE"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_COMBINE_RGB"/> - - <desc name="param"> - <value name="GL_REPLACE"/> - <value name="GL_MODULATE"/> - <value name="GL_ADD"/> - <value name="GL_ADD_SIGNED"/> - <value name="GL_INTERPOLATE"/> - <value name="GL_SUBTRACT"/> - <value name="GL_DOT3_RGB"/> - <value name="GL_DOT3_RGBA"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_COMBINE_ALPHA"/> - - <desc name="param"> - <value name="GL_REPLACE"/> - <value name="GL_MODULATE"/> - <value name="GL_ADD"/> - <value name="GL_ADD_SIGNED"/> - <value name="GL_INTERPOLATE"/> - <value name="GL_SUBTRACT"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_RGB_SCALE"/> - <value name="GL_ALPHA_SCALE"/> - - <desc name="param" convert="true" error="GL_INVALID_VALUE"> - <value name="1.0"/> - <value name="2.0"/> - <value name="4.0"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_SRC0_RGB"/> - <value name="GL_SRC1_RGB"/> - <value name="GL_SRC2_RGB"/> - <value name="GL_SRC0_ALPHA"/> - <value name="GL_SRC1_ALPHA"/> - <value name="GL_SRC2_ALPHA"/> - - <desc name="param"> - <value name="GL_TEXTURE"/> - <value name="GL_CONSTANT"/> - <value name="GL_PRIMARY_COLOR"/> - <value name="GL_PREVIOUS"/> - - <range base="GL_TEXTURE" from="0" to="31" category="OES_texture_env_crossbar"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_OPERAND0_RGB"/> - <value name="GL_OPERAND1_RGB"/> - <value name="GL_OPERAND2_RGB"/> - - <desc name="param"> - <value name="GL_SRC_COLOR"/> - <value name="GL_ONE_MINUS_SRC_COLOR"/> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_OPERAND0_ALPHA"/> - <value name="GL_OPERAND1_ALPHA"/> - <value name="GL_OPERAND2_ALPHA"/> - - <desc name="param"> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_ENV_COLOR"/> - - <desc name="params" vector_size="4"/> - </desc> -</template> - -<template name="TexGen"> - <proto> - <return type="void"/> - <param name="coord" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="coord" category="OES_texture_cube_map"> - <value name="GL_TEXTURE_GEN_STR_OES"/> - </desc> - - <desc name="pname" category="OES_texture_cube_map"> - <value name="GL_TEXTURE_GEN_MODE_OES"/> - - <desc name="param"> - <value name="GL_NORMAL_MAP_OES"/> - <value name="GL_REFLECTION_MAP_OES"/> - </desc> - </desc> -</template> - -<template name="Clear"> - <proto> - <return type="void"/> - <param name="mask" type="GLbitfield"/> - </proto> - - <desc name="mask" error="GL_INVALID_VALUE"> - <value name="0"/> - <value name="(GL_COLOR_BUFFER_BIT)"/> - <value name="(GL_DEPTH_BUFFER_BIT)"/> - <value name="(GL_STENCIL_BUFFER_BIT)"/> - <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)"/> - <value name="(GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> - <value name="(GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> - <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/> - </desc> -</template> - -<template name="ClearColor"> - <proto> - <return type="void"/> - <param name="red" type="GLtype"/> - <param name="green" type="GLtype"/> - <param name="blue" type="GLtype"/> - <param name="alpha" type="GLtype"/> - </proto> -</template> - -<template name="ClearStencil"> - <proto> - <return type="void"/> - <param name="s" type="GLint"/> - </proto> -</template> - -<template name="ClearDepth"> - <proto> - <return type="void"/> - <param name="depth" type="GLtype"/> - </proto> -</template> - -<template name="StencilMask"> - <proto> - <return type="void"/> - <param name="mask" type="GLuint"/> - </proto> -</template> - -<template name="StencilMaskSeparate"> - <proto> - <return type="void"/> - <param name="face" type="GLenum"/> - <param name="mask" type="GLuint"/> - </proto> - - <desc name="face"> - <value name="GL_FRONT"/> - <value name="GL_BACK"/> - <value name="GL_FRONT_AND_BACK"/> - </desc> -</template> - -<template name="ColorMask"> - <proto> - <return type="void"/> - <param name="red" type="GLboolean"/> - <param name="green" type="GLboolean"/> - <param name="blue" type="GLboolean"/> - <param name="alpha" type="GLboolean"/> - </proto> -</template> - -<template name="DepthMask"> - <proto> - <return type="void"/> - <param name="flag" type="GLboolean"/> - </proto> -</template> - -<template name="Disable"> - <proto> - <return type="void"/> - <param name="cap" type="GLenum"/> - </proto> - - <desc name="cap" category="GLES1.1"> - <value name="GL_NORMALIZE"/> - <value name="GL_RESCALE_NORMAL"/> - - <range base="GL_CLIP_PLANE" from="0" to="5"/> - - <value name="GL_FOG"/> - <value name="GL_LIGHTING"/> - <value name="GL_COLOR_MATERIAL"/> - - <range base="GL_LIGHT" from="0" to="7"/> - - <value name="GL_POINT_SMOOTH"/> - <value name="GL_LINE_SMOOTH"/> - <value name="GL_CULL_FACE"/> - <value name="GL_POLYGON_OFFSET_FILL"/> - <value name="GL_MULTISAMPLE"/> - <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> - <value name="GL_SAMPLE_ALPHA_TO_ONE"/> - <value name="GL_SAMPLE_COVERAGE"/> - <value name="GL_TEXTURE_2D"/> - <value name="GL_SCISSOR_TEST"/> - <value name="GL_ALPHA_TEST"/> - <value name="GL_STENCIL_TEST"/> - <value name="GL_DEPTH_TEST"/> - <value name="GL_BLEND"/> - <value name="GL_DITHER"/> - <value name="GL_COLOR_LOGIC_OP"/> - - <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/> - <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> - <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> - </desc> - - <desc name="cap" category="GLES2.0"> - <value name="GL_CULL_FACE"/> - <value name="GL_SCISSOR_TEST"/> - <value name="GL_POLYGON_OFFSET_FILL"/> - <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> - <value name="GL_SAMPLE_COVERAGE"/> - <value name="GL_STENCIL_TEST"/> - <value name="GL_DEPTH_TEST"/> - <value name="GL_DITHER"/> - <value name="GL_BLEND"/> - </desc> -</template> - -<!-- it is exactly the same as Disable --> -<template name="Enable"> - <proto> - <return type="void"/> - <param name="cap" type="GLenum"/> - </proto> - - <desc name="cap" category="GLES1.1"> - <value name="GL_NORMALIZE"/> - <value name="GL_RESCALE_NORMAL"/> - - <range base="GL_CLIP_PLANE" from="0" to="5"/> - - <value name="GL_FOG"/> - <value name="GL_LIGHTING"/> - <value name="GL_COLOR_MATERIAL"/> - - <range base="GL_LIGHT" from="0" to="7"/> - - <value name="GL_POINT_SMOOTH"/> - <value name="GL_LINE_SMOOTH"/> - <value name="GL_CULL_FACE"/> - <value name="GL_POLYGON_OFFSET_FILL"/> - <value name="GL_MULTISAMPLE"/> - <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> - <value name="GL_SAMPLE_ALPHA_TO_ONE"/> - <value name="GL_SAMPLE_COVERAGE"/> - <value name="GL_TEXTURE_2D"/> - <value name="GL_SCISSOR_TEST"/> - <value name="GL_ALPHA_TEST"/> - <value name="GL_STENCIL_TEST"/> - <value name="GL_DEPTH_TEST"/> - <value name="GL_BLEND"/> - <value name="GL_DITHER"/> - <value name="GL_COLOR_LOGIC_OP"/> - - <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/> - <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> - <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> - </desc> - - <desc name="cap" category="GLES2.0"> - <value name="GL_CULL_FACE"/> - <value name="GL_SCISSOR_TEST"/> - <value name="GL_POLYGON_OFFSET_FILL"/> - <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> - <value name="GL_SAMPLE_COVERAGE"/> - <value name="GL_STENCIL_TEST"/> - <value name="GL_DEPTH_TEST"/> - <value name="GL_DITHER"/> - <value name="GL_BLEND"/> - </desc> -</template> - -<template name="Finish"> - <proto> - <return type="void"/> - </proto> -</template> - -<template name="Flush"> - <proto> - <return type="void"/> - </proto> -</template> - -<template name="AlphaFunc"> - <proto> - <return type="void"/> - <param name="func" type="GLenum"/> - <param name="ref" type="GLtype"/> - </proto> - <desc name="func"> - <value name="GL_NEVER"/> - <value name="GL_LESS"/> - <value name="GL_EQUAL"/> - <value name="GL_LEQUAL"/> - <value name="GL_GREATER"/> - <value name="GL_NOTEQUAL"/> - <value name="GL_GEQUAL"/> - <value name="GL_ALWAYS"/> - </desc> -</template> - -<template name="BlendFunc"> - <proto> - <return type="void"/> - <param name="sfactor" type="GLenum"/> - <param name="dfactor" type="GLenum"/> - </proto> - - <desc name="sfactor"> - <value name="GL_ZERO"/> - <value name="GL_ONE"/> - <value name="GL_SRC_COLOR"/> - <value name="GL_ONE_MINUS_SRC_COLOR"/> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - <value name="GL_DST_ALPHA"/> - <value name="GL_ONE_MINUS_DST_ALPHA"/> - <value name="GL_DST_COLOR"/> - <value name="GL_ONE_MINUS_DST_COLOR"/> - <value name="GL_SRC_ALPHA_SATURATE"/> - - <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> - </desc> - - <desc name="dfactor"> - <value name="GL_ZERO"/> - <value name="GL_ONE"/> - <value name="GL_SRC_COLOR"/> - <value name="GL_ONE_MINUS_SRC_COLOR"/> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - <value name="GL_DST_ALPHA"/> - <value name="GL_ONE_MINUS_DST_ALPHA"/> - <value name="GL_DST_COLOR"/> - <value name="GL_ONE_MINUS_DST_COLOR"/> - - <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> - </desc> -</template> - -<template name="LogicOp"> - <proto> - <return type="void"/> - <param name="opcode" type="GLenum"/> - </proto> - - <desc name="opcode"> - <value name="GL_CLEAR"/> - <value name="GL_SET"/> - <value name="GL_COPY"/> - <value name="GL_COPY_INVERTED"/> - <value name="GL_NOOP"/> - <value name="GL_INVERT"/> - <value name="GL_AND"/> - <value name="GL_NAND"/> - <value name="GL_OR"/> - <value name="GL_NOR"/> - <value name="GL_XOR"/> - <value name="GL_EQUIV"/> - <value name="GL_AND_REVERSE"/> - <value name="GL_AND_INVERTED"/> - <value name="GL_OR_REVERSE"/> - <value name="GL_OR_INVERTED"/> - </desc> -</template> - -<template name="StencilFunc"> - <proto> - <return type="void"/> - <param name="func" type="GLenum"/> - <param name="ref" type="GLint"/> - <param name="mask" type="GLuint"/> - </proto> - - <desc name="func"> - <value name="GL_NEVER"/> - <value name="GL_LESS"/> - <value name="GL_LEQUAL"/> - <value name="GL_GREATER"/> - <value name="GL_GEQUAL"/> - <value name="GL_EQUAL"/> - <value name="GL_NOTEQUAL"/> - <value name="GL_ALWAYS"/> - </desc> -</template> - -<template name="StencilFuncSeparate"> - <proto> - <return type="void"/> - <param name="face" type="GLenum"/> - <param name="func" type="GLenum"/> - <param name="ref" type="GLint"/> - <param name="mask" type="GLuint"/> - </proto> - - <desc name="face"> - <value name="GL_FRONT"/> - <value name="GL_BACK"/> - <value name="GL_FRONT_AND_BACK"/> - </desc> - - <desc name="func"> - <value name="GL_NEVER"/> - <value name="GL_LESS"/> - <value name="GL_LEQUAL"/> - <value name="GL_GREATER"/> - <value name="GL_GEQUAL"/> - <value name="GL_EQUAL"/> - <value name="GL_NOTEQUAL"/> - <value name="GL_ALWAYS"/> - </desc> -</template> - -<template name="StencilOp"> - <proto> - <return type="void"/> - <param name="fail" type="GLenum"/> - <param name="zfail" type="GLenum"/> - <param name="zpass" type="GLenum"/> - </proto> - - <desc name="fail"> - <value name="GL_KEEP"/> - <value name="GL_ZERO"/> - <value name="GL_REPLACE"/> - <value name="GL_INCR"/> - <value name="GL_DECR"/> - <value name="GL_INVERT"/> - <value name="GL_INCR_WRAP" category="GLES2.0"/> - <value name="GL_DECR_WRAP" category="GLES2.0"/> - <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/> - <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/> - </desc> - - <desc name="zfail"> - <value name="GL_KEEP"/> - <value name="GL_ZERO"/> - <value name="GL_REPLACE"/> - <value name="GL_INCR"/> - <value name="GL_DECR"/> - <value name="GL_INVERT"/> - <value name="GL_INCR_WRAP" category="GLES2.0"/> - <value name="GL_DECR_WRAP" category="GLES2.0"/> - <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/> - <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/> - </desc> - - <desc name="zpass"> - <value name="GL_KEEP"/> - <value name="GL_ZERO"/> - <value name="GL_REPLACE"/> - <value name="GL_INCR"/> - <value name="GL_DECR"/> - <value name="GL_INVERT"/> - <value name="GL_INCR_WRAP" category="GLES2.0"/> - <value name="GL_DECR_WRAP" category="GLES2.0"/> - <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/> - <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/> - </desc> -</template> - -<template name="StencilOpSeparate"> - <proto> - <return type="void"/> - <param name="face" type="GLenum"/> - <param name="fail" type="GLenum"/> - <param name="zfail" type="GLenum"/> - <param name="zpass" type="GLenum"/> - </proto> - - <desc name="face"> - <value name="GL_FRONT"/> - <value name="GL_BACK"/> - <value name="GL_FRONT_AND_BACK"/> - </desc> - - <desc name="fail"> - <value name="GL_KEEP"/> - <value name="GL_ZERO"/> - <value name="GL_REPLACE"/> - <value name="GL_INCR"/> - <value name="GL_DECR"/> - <value name="GL_INVERT"/> - <value name="GL_INCR_WRAP"/> - <value name="GL_DECR_WRAP"/> - </desc> - - <desc name="zfail"> - <value name="GL_KEEP"/> - <value name="GL_ZERO"/> - <value name="GL_REPLACE"/> - <value name="GL_INCR"/> - <value name="GL_DECR"/> - <value name="GL_INVERT"/> - <value name="GL_INCR_WRAP"/> - <value name="GL_DECR_WRAP"/> - </desc> - - <desc name="zpass"> - <value name="GL_KEEP"/> - <value name="GL_ZERO"/> - <value name="GL_REPLACE"/> - <value name="GL_INCR"/> - <value name="GL_DECR"/> - <value name="GL_INVERT"/> - <value name="GL_INCR_WRAP"/> - <value name="GL_DECR_WRAP"/> - </desc> -</template> - -<template name="DepthFunc"> - <proto> - <return type="void"/> - <param name="func" type="GLenum"/> - </proto> - - <desc name="func"> - <value name="GL_NEVER"/> - <value name="GL_LESS"/> - <value name="GL_EQUAL"/> - <value name="GL_LEQUAL"/> - <value name="GL_GREATER"/> - <value name="GL_NOTEQUAL"/> - <value name="GL_GEQUAL"/> - <value name="GL_ALWAYS"/> - </desc> -</template> - -<template name="PixelStore"> - <proto> - <return type="void"/> - <param name="pname" type="GLenum"/> - <param name="param" type="GLtype"/> - </proto> - - <desc name="pname"> - <value name="GL_PACK_ALIGNMENT"/> - <value name="GL_UNPACK_ALIGNMENT"/> - </desc> - - <desc name="param" error="GL_INVALID_VALUE"> - <value name="1"/> - <value name="2"/> - <value name="4"/> - <value name="8"/> - </desc> -</template> - -<template name="ReadPixels" direction="get"> - <proto> - <return type="void"/> - <param name="x" type="GLint"/> - <param name="y" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="format" type="GLenum"/> - <param name="type" type="GLenum"/> - <param name="pixels" type="GLvoid *"/> - </proto> - - <!-- Technically, only two combinations are actually allowed: - GL_RGBA/GL_UNSIGNED_BYTE, and some implementation-specific - internal preferred combination. I don't know what that is, so I'm - allowing any valid combination for now; the underlying support - should fail when necessary.--> - <desc name="format"> - <value name="GL_ALPHA"/> - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGB"/> - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_5_6_5"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGBA"/> - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> - <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE"/> - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE_ALPHA"/> - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - </desc> - </desc> - - <desc name="format" category="EXT_read_format_bgra"> - <value name="GL_BGRA_EXT"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/> - <value name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/> - </desc> - </desc> -</template> - -<template name="GetClipPlane" direction="get"> - <proto> - <return type="void"/> - <param name="plane" type="GLenum"/> - <vector name="equation" type="GLtype *" size="4"/> - </proto> - - <desc name="plane"> - <range base="GL_CLIP_PLANE" from="0" to="5"/> - </desc> -</template> - -<template name="GetError" direction="get"> - <proto> - <return type="GLenum"/> - </proto> -</template> - -<!-- template for GetFloatv, GetIntegerv, GetBoolean, and GetFixedv --> -<template name="GetState" direction="get"> - <proto> - <return type="void"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - <!-- param checking is done in mesa --> -</template> - -<template name="GetLight" direction="get"> - <proto> - <return type="void"/> - <param name="light" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="light"> - <range base="GL_LIGHT" from="0" to="7"/> - </desc> - - <desc name="pname"> - <value name="GL_AMBIENT"/> - <value name="GL_DIFFUSE"/> - <value name="GL_SPECULAR"/> - <value name="GL_POSITION"/> - - <desc name="params" vector_size="4"/> - </desc> - - <desc name="pname"> - <value name="GL_SPOT_DIRECTION"/> - - <desc name="params" vector_size="3"/> - </desc> - - <desc name="pname"> - <value name="GL_SPOT_EXPONENT"/> - <value name="GL_SPOT_CUTOFF"/> - <value name="GL_CONSTANT_ATTENUATION"/> - <value name="GL_LINEAR_ATTENUATION"/> - <value name="GL_QUADRATIC_ATTENUATION"/> - - <desc name="params" vector_size="1"/> - </desc> -</template> - -<template name="GetMaterial" direction="get"> - <proto> - <return type="void"/> - <param name="face" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="face"> - <value name="GL_FRONT"/> - <value name="GL_BACK"/> - </desc> - - <desc name="pname"> - <value name="GL_SHININESS"/> - <desc name="params" vector_size="1"/> - </desc> - - <desc name="pname"> - <value name="GL_AMBIENT"/> - <value name="GL_DIFFUSE"/> - <value name="GL_AMBIENT_AND_DIFFUSE"/> - <value name="GL_SPECULAR"/> - <value name="GL_EMISSION"/> - - <desc name="params" vector_size="4"/> - </desc> -</template> - -<template name="GetString" direction="get"> - <proto> - <return type="const GLubyte *"/> - <param name="name" type="GLenum"/> - </proto> - - <desc name="name"> - <value name="GL_VENDOR"/> - <value name="GL_RENDERER"/> - <value name="GL_VERSION"/> - <value name="GL_EXTENSIONS"/> - <value name="GL_SHADING_LANGUAGE_VERSION" category="GLES2.0"/> - </desc> -</template> - -<template name="GetTexEnv" direction="get"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="target" category="OES_point_sprite"> - <value name="GL_POINT_SPRITE_OES"/> - <desc name="pname"> - <value name="GL_COORD_REPLACE_OES"/> - </desc> - </desc> - - <desc name="pname" category="OES_point_sprite"> - <value name="GL_COORD_REPLACE_OES"/> - <desc name="params" vector_size="1" convert="false"/> - </desc> - - <desc name="target" category="EXT_texture_lod_bias"> - <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/> - - <desc name="pname"> - <value name="GL_TEXTURE_LOD_BIAS_EXT"/> - </desc> - </desc> - - <desc name="pname" category="EXT_texture_lod_bias"> - <value name="GL_TEXTURE_LOD_BIAS_EXT"/> - <desc name="params" vector_size="1"/> - </desc> - - <desc name="target"> - <value name="GL_TEXTURE_ENV"/> - - <desc name="pname"> - <value name="GL_TEXTURE_ENV_COLOR"/> - <value name="GL_RGB_SCALE"/> - <value name="GL_ALPHA_SCALE"/> - <value name="GL_TEXTURE_ENV_MODE"/> - <value name="GL_COMBINE_RGB"/> - <value name="GL_COMBINE_ALPHA"/> - <value name="GL_SRC0_RGB"/> - <value name="GL_SRC1_RGB"/> - <value name="GL_SRC2_RGB"/> - <value name="GL_SRC0_ALPHA"/> - <value name="GL_SRC1_ALPHA"/> - <value name="GL_SRC2_ALPHA"/> - <value name="GL_OPERAND0_RGB"/> - <value name="GL_OPERAND1_RGB"/> - <value name="GL_OPERAND2_RGB"/> - <value name="GL_OPERAND0_ALPHA"/> - <value name="GL_OPERAND1_ALPHA"/> - <value name="GL_OPERAND2_ALPHA"/> - </desc> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_ENV_COLOR"/> - <desc name="params" vector_size="4"/> - </desc> - - <desc name="pname"> - <value name="GL_RGB_SCALE"/> - <value name="GL_ALPHA_SCALE"/> - - <desc name="params" vector_size="1"/> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_ENV_MODE"/> - <value name="GL_COMBINE_RGB"/> - <value name="GL_COMBINE_ALPHA"/> - <value name="GL_SRC0_RGB"/> - <value name="GL_SRC1_RGB"/> - <value name="GL_SRC2_RGB"/> - <value name="GL_SRC0_ALPHA"/> - <value name="GL_SRC1_ALPHA"/> - <value name="GL_SRC2_ALPHA"/> - <value name="GL_OPERAND0_RGB"/> - <value name="GL_OPERAND1_RGB"/> - <value name="GL_OPERAND2_RGB"/> - <value name="GL_OPERAND0_ALPHA"/> - <value name="GL_OPERAND1_ALPHA"/> - <value name="GL_OPERAND2_ALPHA"/> - - <desc name="params" vector_size="1" convert="false"/> - </desc> -</template> - -<template name="GetTexGen" direction="get"> - <proto> - <return type="void"/> - <param name="coord" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="coord"> - <value name="GL_TEXTURE_GEN_STR_OES"/> - </desc> - <desc name="pname"> - <value name="GL_TEXTURE_GEN_MODE_OES"/> - <desc name="params" vector_size="1" convert="false"/> - </desc> -</template> - -<template name="GetTexParameter" direction="get"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> - </desc> - - <desc name="pname"> - <value name="GL_TEXTURE_WRAP_S"/> - <value name="GL_TEXTURE_WRAP_T"/> - <value name="GL_TEXTURE_WRAP_R_OES" category="OES_texture_3D"/> - <value name="GL_TEXTURE_MIN_FILTER"/> - <value name="GL_TEXTURE_MAG_FILTER"/> - <value name="GL_GENERATE_MIPMAP" category="GLES1.1"/> - - <desc name="params" vector_size="1" convert="false"/> - </desc> - - <desc name="pname" category="OES_draw_texture"> - <value name="GL_TEXTURE_CROP_RECT_OES"/> - <desc name="params" vector_size="4"/> - </desc> -</template> - -<template name="IsEnabled" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="cap" type="GLenum"/> - </proto> - - <desc name="cap" category="GLES1.1"> - <value name="GL_NORMALIZE"/> - <value name="GL_RESCALE_NORMAL"/> - - <range base="GL_CLIP_PLANE" from="0" to="5"/> - - <value name="GL_FOG"/> - <value name="GL_LIGHTING"/> - <value name="GL_COLOR_MATERIAL"/> - - <range base="GL_LIGHT" from="0" to="7"/> - - <value name="GL_POINT_SMOOTH"/> - <value name="GL_LINE_SMOOTH"/> - <value name="GL_CULL_FACE"/> - <value name="GL_POLYGON_OFFSET_FILL"/> - <value name="GL_MULTISAMPLE"/> - <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> - <value name="GL_SAMPLE_ALPHA_TO_ONE"/> - <value name="GL_SAMPLE_COVERAGE"/> - <value name="GL_TEXTURE_2D"/> - <value name="GL_SCISSOR_TEST"/> - <value name="GL_ALPHA_TEST"/> - <value name="GL_STENCIL_TEST"/> - <value name="GL_DEPTH_TEST"/> - <value name="GL_BLEND"/> - <value name="GL_DITHER"/> - <value name="GL_COLOR_LOGIC_OP"/> - - <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/> - <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> - - <value name="GL_VERTEX_ARRAY"/> - <value name="GL_NORMAL_ARRAY"/> - <value name="GL_COLOR_ARRAY"/> - <value name="GL_TEXTURE_COORD_ARRAY"/> - <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> - <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> - <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> - </desc> - - <desc name="cap" category="GLES2.0"> - <value name="GL_CULL_FACE"/> - <value name="GL_SCISSOR_TEST"/> - <value name="GL_POLYGON_OFFSET_FILL"/> - <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/> - <value name="GL_SAMPLE_COVERAGE"/> - <value name="GL_STENCIL_TEST"/> - <value name="GL_DEPTH_TEST"/> - <value name="GL_DITHER"/> - <value name="GL_BLEND"/> - </desc> -</template> - -<template name="DepthRange"> - <proto> - <return type="void"/> - <param name="zNear" type="GLtype"/> - <param name="zFar" type="GLtype"/> - </proto> -</template> - -<template name="Frustum"> - <proto> - <return type="void"/> - <param name="left" type="GLtype"/> - <param name="right" type="GLtype"/> - <param name="bottom" type="GLtype"/> - <param name="top" type="GLtype"/> - <param name="zNear" type="GLtype"/> - <param name="zFar" type="GLtype"/> - </proto> -</template> - -<template name="LoadIdentity"> - <proto> - <return type="void"/> - </proto> -</template> - -<template name="LoadMatrix"> - <proto> - <return type="void"/> - <vector name="m" type="const GLtype *" size="16"/> - </proto> -</template> - -<template name="MatrixMode"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - </proto> - - <desc name="mode"> - <value name="GL_MODELVIEW"/> - <value name="GL_PROJECTION"/> - <value name="GL_TEXTURE"/> - <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> - </desc> -</template> - -<template name="MultMatrix"> - <proto> - <return type="void"/> - <vector name="m" type="const GLtype *" size="16"/> - </proto> -</template> - -<template name="Ortho"> - <proto> - <return type="void"/> - <param name="left" type="GLtype"/> - <param name="right" type="GLtype"/> - <param name="bottom" type="GLtype"/> - <param name="top" type="GLtype"/> - <param name="zNear" type="GLtype"/> - <param name="zFar" type="GLtype"/> - </proto> -</template> - -<template name="PopMatrix"> - <proto> - <return type="void"/> - </proto> -</template> - -<template name="PushMatrix"> - <proto> - <return type="void"/> - </proto> -</template> - -<template name="Rotate"> - <proto> - <return type="void"/> - <param name="angle" type="GLtype"/> - <param name="x" type="GLtype"/> - <param name="y" type="GLtype"/> - <param name="z" type="GLtype"/> - </proto> -</template> - -<template name="Scale"> - <proto> - <return type="void"/> - <param name="x" type="GLtype"/> - <param name="y" type="GLtype"/> - <param name="z" type="GLtype"/> - </proto> -</template> - -<template name="Translate"> - <proto> - <return type="void"/> - <param name="x" type="GLtype"/> - <param name="y" type="GLtype"/> - <param name="z" type="GLtype"/> - </proto> -</template> - -<template name="Viewport"> - <proto> - <return type="void"/> - <param name="x" type="GLint"/> - <param name="y" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - </proto> -</template> - -<template name="ColorPointer"> - <proto> - <return type="void"/> - <param name="size" type="GLint"/> - <param name="type" type="GLenum"/> - <param name="stride" type="GLsizei"/> - <param name="pointer" type="const GLvoid *"/> - </proto> - - <desc name="size" error="GL_INVALID_VALUE"> - <value name="4"/> - </desc> - - <desc name="type"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT"/> - <value name="GL_FIXED"/> - <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> - </desc> -</template> - -<template name="DisableClientState"> - <proto> - <return type="void"/> - <param name="array" type="GLenum"/> - </proto> - - <desc name="array"> - <value name="GL_VERTEX_ARRAY"/> - <value name="GL_NORMAL_ARRAY"/> - <value name="GL_COLOR_ARRAY"/> - <value name="GL_TEXTURE_COORD_ARRAY"/> - <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> - <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> - <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> - </desc> -</template> - -<template name="DrawArrays"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - <param name="first" type="GLint"/> - <param name="count" type="GLsizei"/> - </proto> - - <desc name="mode"> - <value name="GL_POINTS"/> - <value name="GL_LINES"/> - <value name="GL_LINE_LOOP"/> - <value name="GL_LINE_STRIP"/> - <value name="GL_TRIANGLES"/> - <value name="GL_TRIANGLE_STRIP"/> - <value name="GL_TRIANGLE_FAN"/> - </desc> -</template> - -<template name="DrawElements"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - <param name="count" type="GLsizei"/> - <param name="type" type="GLenum"/> - <param name="indices" type="const GLvoid *"/> - </proto> - - <desc name="mode"> - <value name="GL_POINTS"/> - <value name="GL_LINES"/> - <value name="GL_LINE_LOOP"/> - <value name="GL_LINE_STRIP"/> - <value name="GL_TRIANGLES"/> - <value name="GL_TRIANGLE_STRIP"/> - <value name="GL_TRIANGLE_FAN"/> - </desc> - - <desc name="type"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT"/> - <value name="GL_UNSIGNED_INT" category="OES_element_index_uint"/> - </desc> -</template> - -<template name="EnableClientState"> - <proto> - <return type="void"/> - <param name="array" type="GLenum"/> - </proto> - - <desc name="array"> - <value name="GL_VERTEX_ARRAY"/> - <value name="GL_NORMAL_ARRAY"/> - <value name="GL_COLOR_ARRAY"/> - <value name="GL_TEXTURE_COORD_ARRAY"/> - <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> - <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> - <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> - </desc> -</template> - -<template name="GetPointer" direction="get"> - <proto> - <return type="void"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLvoid **" size="dynamic"/> - </proto> - - <desc name="pname"> - <value name="GL_VERTEX_ARRAY_POINTER"/> - <value name="GL_NORMAL_ARRAY_POINTER"/> - <value name="GL_COLOR_ARRAY_POINTER"/> - <value name="GL_TEXTURE_COORD_ARRAY_POINTER"/> - <value name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" category="OES_matrix_palette"/> - <value name="GL_WEIGHT_ARRAY_POINTER_OES" category="OES_matrix_palette"/> - <value name="GL_POINT_SIZE_ARRAY_POINTER_OES" category="OES_point_size_array"/> - </desc> -</template> - -<template name="Normal"> - <proto> - <return type="void"/> - <vector name="v" type="const GLtype *" size="3"> - <param name="nx" type="GLtype"/> - <param name="ny" type="GLtype"/> - <param name="nz" type="GLtype"/> - </vector> - </proto> -</template> - -<template name="NormalPointer"> - <proto> - <return type="void"/> - <param name="type" type="GLenum"/> - <param name="stride" type="GLsizei"/> - <param name="pointer" type="const GLvoid *"/> - </proto> - - <desc name="type"> - <value name="GL_BYTE"/> - <value name="GL_SHORT"/> - <value name="GL_FLOAT"/> - <value name="GL_FIXED"/> - <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> - </desc> -</template> - -<template name="TexCoordPointer"> - <proto> - <return type="void"/> - <param name="size" type="GLint"/> - <param name="type" type="GLenum"/> - <param name="stride" type="GLsizei"/> - <param name="pointer" type="const GLvoid *"/> - </proto> - - <desc name="size" error="GL_INVALID_VALUE"> - <value name="2"/> - <value name="3"/> - <value name="4"/> - </desc> - - <desc name="type"> - <value name="GL_BYTE"/> - <value name="GL_SHORT"/> - <value name="GL_FLOAT"/> - <value name="GL_FIXED"/> - <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> - </desc> -</template> - -<template name="VertexPointer"> - <proto> - <return type="void"/> - <param name="size" type="GLint"/> - <param name="type" type="GLenum"/> - <param name="stride" type="GLsizei"/> - <param name="pointer" type="const GLvoid *"/> - </proto> - - <desc name="size" error="GL_INVALID_VALUE"> - <value name="2"/> - <value name="3"/> - <value name="4"/> - </desc> - - <desc name="type"> - <value name="GL_BYTE"/> - <value name="GL_SHORT"/> - <value name="GL_FLOAT"/> - <value name="GL_FIXED"/> - <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> - </desc> -</template> - -<template name="PolygonOffset"> - <proto> - <return type="void"/> - <param name="factor" type="GLtype"/> - <param name="units" type="GLtype"/> - </proto> -</template> - -<template name="CopyTexImage2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="internalFormat" type="GLenum"/> - <param name="x" type="GLint"/> - <param name="y" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="border" type="GLint"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> - </desc> - - <desc name="internalFormat" error="GL_INVALID_VALUE"> - <value name="GL_ALPHA"/> - <value name="GL_RGB"/> - <value name="GL_RGBA"/> - <value name="GL_LUMINANCE"/> - <value name="GL_LUMINANCE_ALPHA"/> - </desc> - - <desc name="border" error="GL_INVALID_VALUE"> - <value name="0"/> - </desc> -</template> - -<template name="CopyTexSubImage2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="xoffset" type="GLint"/> - <param name="yoffset" type="GLint"/> - <param name="x" type="GLint"/> - <param name="y" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> - </desc> -</template> - -<template name="TexSubImage2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="xoffset" type="GLint"/> - <param name="yoffset" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="format" type="GLenum"/> - <param name="type" type="GLenum"/> - <param name="pixels" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> - </desc> - - <desc name="format"> - <value name="GL_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGB"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_5_6_5"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGBA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> - <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format" category="OES_depth_texture"> - <value name="GL_DEPTH_COMPONENT"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_SHORT"/> - <value name="GL_UNSIGNED_INT"/> - </desc> - </desc> - - <desc name="format" category="OES_packed_depth_stencil"> - <value name="GL_DEPTH_STENCIL_OES"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_INT_24_8_OES"/> - </desc> - </desc> -</template> - -<template name="BindTexture"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="texture" type="GLuint"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> - </desc> -</template> - -<template name="DeleteTextures"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="textures" type="const GLuint *"/> - </proto> -</template> - -<template name="GenTextures" direction="get"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="textures" type="GLuint *"/> - </proto> -</template> - -<template name="IsTexture" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="texture" type="GLuint"/> - </proto> -</template> - -<template name="BlendColor"> - <proto> - <return type="void"/> - <param name="red" type="GLtype"/> - <param name="green" type="GLtype"/> - <param name="blue" type="GLtype"/> - <param name="alpha" type="GLtype"/> - </proto> -</template> - -<template name="BlendEquation"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - </proto> - - <desc name="mode"> - <value name="GL_FUNC_ADD" category="GLES2.0"/> - <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/> - <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/> - <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/> - <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/> - <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/> - - <value name="GL_MIN_EXT" category="EXT_blend_minmax"/> - <value name="GL_MAX_EXT" category="EXT_blend_minmax"/> - </desc> -</template> - -<template name="BlendEquationSeparate"> - <proto> - <return type="void"/> - <param name="modeRGB" type="GLenum"/> - <param name="modeAlpha" type="GLenum"/> - </proto> - - <desc name="modeRGB"> - <value name="GL_FUNC_ADD" category="GLES2.0"/> - <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/> - <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/> - <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/> - <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/> - <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/> - - <value name="GL_MIN_EXT" category="EXT_blend_minmax"/> - <value name="GL_MAX_EXT" category="EXT_blend_minmax"/> - </desc> - - <desc name="modeAlpha"> - <value name="GL_FUNC_ADD" category="GLES2.0"/> - <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/> - <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/> - <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/> - <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/> - <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/> - - <value name="GL_MIN_EXT" category="EXT_blend_minmax"/> - <value name="GL_MAX_EXT" category="EXT_blend_minmax"/> - </desc> -</template> - -<template name="TexImage3D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="internalFormat" type="GLenum"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="depth" type="GLsizei"/> - <param name="border" type="GLint"/> - <param name="format" type="GLenum"/> - <param name="type" type="GLenum"/> - <param name="pixels" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_3D_OES"/> - </desc> - - <desc name="internalFormat"> - <value name="GL_ALPHA"/> - <value name="GL_RGB"/> - <value name="GL_RGBA"/> - <value name="GL_LUMINANCE"/> - <value name="GL_LUMINANCE_ALPHA"/> - </desc> - - <desc name="format"> - <value name="GL_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGB"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_5_6_5"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGBA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> - <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> -</template> - -<template name="TexSubImage3D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="xoffset" type="GLint"/> - <param name="yoffset" type="GLint"/> - <param name="zoffset" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="depth" type="GLsizei"/> - <param name="format" type="GLenum"/> - <param name="type" type="GLenum"/> - <param name="pixels" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_3D_OES"/> - </desc> - - <desc name="format"> - <value name="GL_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGB"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_5_6_5"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_RGBA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT_4_4_4_4"/> - <value name="GL_UNSIGNED_SHORT_5_5_5_1"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> - - <desc name="format"> - <value name="GL_LUMINANCE_ALPHA"/> - - <desc name="type" error="GL_INVALID_OPERATION"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_FLOAT" category="OES_texture_float"/> - <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/> - </desc> - </desc> -</template> - -<template name="CopyTexSubImage3D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="xoffset" type="GLint"/> - <param name="yoffset" type="GLint"/> - <param name="zoffset" type="GLint"/> - <param name="x" type="GLint"/> - <param name="y" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_3D_OES"/> - </desc> -</template> - -<template name="MultiTexCoord"> - <proto> - <return type="void"/> - <param name="texture" type="GLenum"/> - <vector name="v" type="const GLtype *" size="dynamic"> - <param name="s" type="GLtype"/> - <param name="t" type="GLtype"/> - <param name="r" type="GLtype"/> - <param name="q" type="GLtype"/> - </vector> - </proto> - - <desc name="texture"> - <range base="GL_TEXTURE" from="0" to="31"/> - </desc> -</template> - -<template name="CompressedTexImage3D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="internalFormat" type="GLenum"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="depth" type="GLsizei"/> - <param name="border" type="GLint"/> - <param name="imagesize" type="GLsizei"/> - <param name="data" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_3D_OES"/> - </desc> - - <desc name="internalFormat"> - <value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/> - <value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/> - <value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/> - <value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> - <value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> - </desc> -</template> - -<template name="CompressedTexSubImage3D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="xoffset" type="GLint"/> - <param name="yoffset" type="GLint"/> - <param name="zoffset" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="depth" type="GLsizei"/> - <param name="format" type="GLenum"/> - <param name="imagesize" type="GLsizei"/> - <param name="data" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_3D_OES"/> - </desc> -</template> - -<template name="ActiveTexture"> - <proto> - <return type="void"/> - <param name="texture" type="GLenum"/> - </proto> - - <desc name="texture"> - <range base="GL_TEXTURE" from="0" to="31"/> - </desc> -</template> - -<template name="ClientActiveTexture"> - <proto> - <return type="void"/> - <param name="texture" type="GLenum"/> - </proto> - - <desc name="texture"> - <range base="GL_TEXTURE" from="0" to="31"/> - </desc> -</template> - -<template name="SampleCoverage"> - <proto> - <return type="void"/> - <param name="value" type="GLtype"/> - <param name="invert" type="GLboolean"/> - </proto> -</template> - -<template name="CompressedTexImage2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="internalFormat" type="GLenum"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="border" type="GLint"/> - <param name="imageSize" type="GLsizei"/> - <param name="data" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> - </desc> - - <desc name="internalFormat"> - <value name="GL_ETC1_RGB8_OES" category="OES_compressed_ETC1_RGB8_texture"/> - - <value name="GL_PALETTE4_RGB8_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE4_RGBA8_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE4_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE4_RGBA4_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE4_RGB5_A1_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE8_RGB8_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE8_RGBA8_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE8_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE8_RGBA4_OES" category="OES_compressed_paletted_texture"/> - <value name="GL_PALETTE8_RGB5_A1_OES" category="OES_compressed_paletted_texture"/> - - <value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/> - <value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/> - - <value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/> - <value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> - <value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/> - - <value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> - <value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> - </desc> - - <desc name="border" error="GL_INVALID_VALUE"> - <value name="0"/> - </desc> -</template> - -<template name="CompressedTexSubImage2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="level" type="GLint"/> - <param name="xoffset" type="GLint"/> - <param name="yoffset" type="GLint"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - <param name="format" type="GLenum"/> - <param name="imageSize" type="GLsizei"/> - <param name="data" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> - </desc> - - <desc name="format"> - <value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> - <value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/> - </desc> -</template> - -<template name="BlendFuncSeparate"> - <proto> - <return type="void"/> - <param name="srcRGB" type="GLenum"/> - <param name="dstRGB" type="GLenum"/> - <param name="srcAlpha" type="GLenum"/> - <param name="dstAlpha" type="GLenum"/> - </proto> - - <desc name="srcRGB"> - <value name="GL_ZERO"/> - <value name="GL_ONE"/> - <value name="GL_SRC_COLOR"/> - <value name="GL_ONE_MINUS_SRC_COLOR"/> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - <value name="GL_DST_ALPHA"/> - <value name="GL_ONE_MINUS_DST_ALPHA"/> - <value name="GL_DST_COLOR"/> - <value name="GL_ONE_MINUS_DST_COLOR"/> - <value name="GL_SRC_ALPHA_SATURATE"/> - - <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> - </desc> - - <desc name="dstRGB"> - <value name="GL_ZERO"/> - <value name="GL_ONE"/> - <value name="GL_SRC_COLOR"/> - <value name="GL_ONE_MINUS_SRC_COLOR"/> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - <value name="GL_DST_ALPHA"/> - <value name="GL_ONE_MINUS_DST_ALPHA"/> - <value name="GL_DST_COLOR"/> - <value name="GL_ONE_MINUS_DST_COLOR"/> - - <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> - </desc> - - <desc name="srcAlpha"> - <value name="GL_ZERO"/> - <value name="GL_ONE"/> - <value name="GL_SRC_COLOR"/> - <value name="GL_ONE_MINUS_SRC_COLOR"/> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - <value name="GL_DST_ALPHA"/> - <value name="GL_ONE_MINUS_DST_ALPHA"/> - <value name="GL_DST_COLOR"/> - <value name="GL_ONE_MINUS_DST_COLOR"/> - <value name="GL_SRC_ALPHA_SATURATE"/> - - <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> - </desc> - - <desc name="dstAlpha"> - <value name="GL_ZERO"/> - <value name="GL_ONE"/> - <value name="GL_SRC_COLOR"/> - <value name="GL_ONE_MINUS_SRC_COLOR"/> - <value name="GL_SRC_ALPHA"/> - <value name="GL_ONE_MINUS_SRC_ALPHA"/> - <value name="GL_DST_ALPHA"/> - <value name="GL_ONE_MINUS_DST_ALPHA"/> - <value name="GL_DST_COLOR"/> - <value name="GL_ONE_MINUS_DST_COLOR"/> - - <value name="GL_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/> - <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/> - <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/> - </desc> -</template> - -<template name="PointParameter"> - <proto> - <return type="void"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="const GLtype *" size="dynamic"> - <param name="param" type="GLtype"/> - </vector> - </proto> - - <desc name="pname"> - <value name="GL_POINT_SIZE_MIN"/> - <value name="GL_POINT_SIZE_MAX"/> - <value name="GL_POINT_FADE_THRESHOLD_SIZE"/> - - <desc name="params" vector_size="1"/> - </desc> - - <desc name="pname"> - <value name="GL_POINT_DISTANCE_ATTENUATION"/> - <desc name="params" vector_size="3"/> - </desc> -</template> - -<template name="VertexAttrib"> - <proto> - <return type="void"/> - <param name="index" type="GLuint"/> - <vector name="v" type="const GLtype *" size="dynamic"> - <param name="x" type="GLtype"/> - <param name="y" type="GLtype"/> - <param name="z" type="GLtype"/> - <param name="w" type="GLtype"/> - </vector> - </proto> -</template> - -<template name="VertexAttribPointer"> - <proto> - <return type="void"/> - <param name="index" type="GLuint"/> - <param name="size" type="GLint"/> - <param name="type" type="GLenum"/> - <param name="normalized" type="GLboolean"/> - <param name="stride" type="GLsizei"/> - <param name="pointer" type="const GLvoid *"/> - </proto> - - <desc name="size" error="GL_INVALID_VALUE"> - <value name="1"/> - <value name="2"/> - <value name="3"/> - <value name="4"/> - </desc> - - <desc name="type" error="GL_INVALID_VALUE"> - <value name="GL_BYTE"/> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_SHORT"/> - <value name="GL_UNSIGNED_SHORT"/> - <value name="GL_FLOAT"/> - <value name="GL_FIXED"/> - <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/> - <value name="GL_UNSIGNED_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/> - <value name="GL_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/> - </desc> - - <desc name="type" category="OES_vertex_type_10_10_10_2"> - <value name="GL_UNSIGNED_INT_10_10_10_2_OES"/> - <value name="GL_INT_10_10_10_2_OES"/> - - <desc name="size"> - <value name="3"/> - <value name="4"/> - </desc> - </desc> -</template> - -<template name="EnableVertexAttribArray"> - <proto> - <return type="void"/> - <param name="index" type="GLuint"/> - </proto> -</template> - -<template name="DisableVertexAttribArray"> - <proto> - <return type="void"/> - <param name="index" type="GLuint"/> - </proto> -</template> - -<template name="IsProgram" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="program" type="GLuint"/> - </proto> -</template> - -<template name="GetProgram" direction="get"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="pname"> - <value name="GL_DELETE_STATUS"/> - <value name="GL_LINK_STATUS"/> - <value name="GL_VALIDATE_STATUS"/> - <value name="GL_INFO_LOG_LENGTH"/> - <value name="GL_ATTACHED_SHADERS"/> - <value name="GL_ACTIVE_ATTRIBUTES"/> - <value name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/> - <value name="GL_ACTIVE_UNIFORMS"/> - <value name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/> - <value name="GL_PROGRAM_BINARY_LENGTH_OES" category="OES_get_program_binary"/> - - <desc name="params" convert="false"/> - </desc> -</template> - -<template name="GetVertexAttrib" direction="get"> - <proto> - <return type="void"/> - <param name="index" type="GLuint"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="pname"> - <value name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/> - <value name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/> - <value name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/> - <value name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/> - <value name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/> - <value name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/> - - <desc name="params" vector_size="1" convert="false"/> - </desc> - - <desc name="pname"> - <value name="GL_CURRENT_VERTEX_ATTRIB"/> - <desc name="params" vector_size="16?" convert="false"/> - </desc> -</template> - -<template name="GetVertexAttribPointer" direction="get"> - <proto> - <return type="void"/> - <param name="index" type="GLuint"/> - <param name="pname" type="GLenum"/> - <vector name="pointer" type="GLvoid **" size="dynamic"/> - </proto> - - <desc name="pname"> - <value name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/> - </desc> -</template> - -<template name="GetBufferPointer" direction="get"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLvoid **" size="dynamic"/> - </proto> - - <desc name="target"> - <value name="GL_ARRAY_BUFFER"/> - <value name="GL_ELEMENT_ARRAY_BUFFER"/> - </desc> - - <desc name="pname"> - <value name="GL_BUFFER_MAP_POINTER_OES"/> - </desc> -</template> - -<template name="MapBuffer" direction="get"> - <proto> - <return type="void *"/> - <param name="target" type="GLenum"/> - <param name="access" type="GLenum"/> - </proto> - - <desc name="target"> - <value name="GL_ARRAY_BUFFER"/> - <value name="GL_ELEMENT_ARRAY_BUFFER"/> - </desc> - - <desc name="access"> - <value name="GL_WRITE_ONLY_OES"/> - </desc> -</template> - -<template name="UnmapBuffer" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="target" type="GLenum"/> - </proto> - - <desc name="target"> - <value name="GL_ARRAY_BUFFER"/> - <value name="GL_ELEMENT_ARRAY_BUFFER"/> - </desc> -</template> - -<template name="BindBuffer"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="buffer" type="GLuint"/> - </proto> - - <desc name="target"> - <value name="GL_ARRAY_BUFFER"/> - <value name="GL_ELEMENT_ARRAY_BUFFER"/> - </desc> -</template> - -<template name="BufferData"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="size" type="GLsizeiptr"/> - <param name="data" type="const GLvoid *"/> - <param name="usage" type="GLenum"/> - </proto> - - <desc name="target"> - <value name="GL_ARRAY_BUFFER"/> - <value name="GL_ELEMENT_ARRAY_BUFFER"/> - </desc> - - <desc name="usage"> - <value name="GL_STATIC_DRAW"/> - <value name="GL_DYNAMIC_DRAW"/> - <value name="GL_STREAM_DRAW" category="GLES2.0"/> - </desc> -</template> - -<template name="BufferSubData"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="offset" type="GLintptr"/> - <param name="size" type="GLsizeiptr"/> - <param name="data" type="const GLvoid *"/> - </proto> - - <desc name="target"> - <value name="GL_ARRAY_BUFFER"/> - <value name="GL_ELEMENT_ARRAY_BUFFER"/> - </desc> -</template> - -<template name="DeleteBuffers"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="buffer" type="const GLuint *"/> - </proto> -</template> - -<template name="GenBuffers" direction="get"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="buffer" type="GLuint *"/> - </proto> -</template> - -<template name="GetBufferParameter" direction="get"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="target"> - <value name="GL_ARRAY_BUFFER"/> - <value name="GL_ELEMENT_ARRAY_BUFFER"/> - </desc> - - <desc name="pname"> - <value name="GL_BUFFER_SIZE"/> - <value name="GL_BUFFER_USAGE"/> - <value name="GL_BUFFER_ACCESS_OES" category="OES_mapbuffer"/> - <value name="GL_BUFFER_MAPPED_OES" category="OES_mapbuffer"/> - </desc> -</template> - -<template name="IsBuffer" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="buffer" type="GLuint"/> - </proto> -</template> - -<template name="CreateShader"> - <proto> - <return type="GLuint"/> - <param name="type" type="GLenum"/> - </proto> - - <desc name="type"> - <value name="GL_VERTEX_SHADER"/> - <value name="GL_FRAGMENT_SHADER"/> - </desc> -</template> - -<template name="ShaderSource"> - <proto> - <return type="void"/> - <param name="shader" type="GLuint"/> - <param name="count" type="GLsizei"/> - <param name="string" type="const GLchar **"/> - <param name="length" type="const int *"/> - </proto> -</template> - -<template name="CompileShader"> - <proto> - <return type="void"/> - <param name="shader" type="GLuint"/> - </proto> -</template> - -<template name="ReleaseShaderCompiler"> - <proto> - <return type="void"/> - </proto> -</template> - -<template name="DeleteShader"> - <proto> - <return type="void"/> - <param name="shader" type="GLuint"/> - </proto> -</template> - -<template name="ShaderBinary"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="shaders" type="const GLuint *"/> - <param name="binaryformat" type="GLenum"/> - <param name="binary" type="const GLvoid *"/> - <param name="length" type="GLsizei"/> - </proto> -</template> - -<template name="CreateProgram"> - <proto> - <return type="GLuint"/> - </proto> -</template> - -<template name="AttachShader"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="shader" type="GLuint"/> - </proto> -</template> - -<template name="DetachShader"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="shader" type="GLuint"/> - </proto> -</template> - -<template name="LinkProgram"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - </proto> -</template> - -<template name="UseProgram"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - </proto> -</template> - -<template name="DeleteProgram"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - </proto> -</template> - -<template name="GetActiveAttrib" direction="get"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="index" type="GLuint"/> - <param name="bufSize" type="GLsizei"/> - <param name="length" type="GLsizei *"/> - <param name="size" type="GLint *"/> - <param name="type" type="GLenum *"/> - <param name="name" type="GLchar *"/> - </proto> -</template> - -<template name="GetAttribLocation" direction="get"> - <proto> - <return type="GLint"/> - <param name="program" type="GLuint"/> - <param name="name" type="const char *"/> - </proto> -</template> - -<template name="BindAttribLocation"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="index" type="GLuint"/> - <param name="name" type="const char *"/> - </proto> -</template> - -<template name="GetUniformLocation" direction="get"> - <proto> - <return type="GLint"/> - <param name="program" type="GLuint"/> - <param name="name" type="const char *"/> - </proto> -</template> - -<template name="GetActiveUniform" direction="get"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="index" type="GLuint"/> - <param name="bufSize" type="GLsizei"/> - <param name="length" type="GLsizei *"/> - <param name="size" type="GLint *"/> - <param name="type" type="GLenum *"/> - <param name="name" type="GLchar *"/> - </proto> -</template> - -<template name="Uniform"> - <proto> - <return type="void"/> - <param name="location" type="GLint"/> - <param name="count" type="GLsizei" hide_if_expanded="true"/> - <vector name="values" type="const GLtype *" size="dynamic"> - <param name="v0" type="GLtype"/> - <param name="v1" type="GLtype"/> - <param name="v2" type="GLtype"/> - <param name="v3" type="GLtype"/> - </vector> - </proto> -</template> - -<template name="UniformMatrix"> - <proto> - <return type="void"/> - <param name="location" type="GLint"/> - <param name="count" type="GLsizei"/> - <param name="transpose" type="GLboolean"/> - <vector name="value" type="const GLtype *" size="dynamic"/> - </proto> -</template> - -<template name="ValidateProgram"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - </proto> -</template> - -<template name="GenerateMipmap"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> - </desc> -</template> - -<template name="BindFramebuffer"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="framebuffer" type="GLuint"/> - </proto> - - <desc name="target"> - <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER" category="GLES2.0"/> - </desc> -</template> - -<template name="DeleteFramebuffers"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="framebuffers" type="const GLuint *"/> - </proto> -</template> - -<template name="GenFramebuffers"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="ids" type="GLuint *"/> - </proto> -</template> - -<template name="BindRenderbuffer"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="renderbuffer" type="GLuint"/> - </proto> - - <desc name="target"> - <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_RENDERBUFFER" category="GLES2.0"/> - </desc> -</template> - -<template name="DeleteRenderbuffers"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="renderbuffers" type="const GLuint *"/> - </proto> -</template> - -<template name="GenRenderbuffers"> - <proto> - <return type="void"/> - <param name="n" type="GLsizei"/> - <param name="renderbuffers" type="GLuint *"/> - </proto> -</template> - -<template name="RenderbufferStorage"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="internalFormat" type="GLenum"/> - <param name="width" type="GLsizei"/> - <param name="height" type="GLsizei"/> - </proto> - - <desc name="target"> - <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_RENDERBUFFER" category="GLES2.0"/> - </desc> - - <desc name="internalFormat"> - <value name="GL_DEPTH_COMPONENT16_OES" category="OES_framebuffer_object"/> - <value name="GL_RGBA4_OES" category="OES_framebuffer_object"/> - <value name="GL_RGB5_A1_OES" category="OES_framebuffer_object"/> - <value name="GL_RGB565_OES" category="OES_framebuffer_object"/> - <value name="GL_STENCIL_INDEX8_OES" category="OES_stencil8"/> - - <value name="GL_DEPTH_COMPONENT16" category="GLES2.0"/> - <value name="GL_RGBA4" category="GLES2.0"/> - <value name="GL_RGB5_A1" category="GLES2.0"/> - <value name="GL_RGB565" category="GLES2.0"/> - <value name="GL_STENCIL_INDEX8" category="GLES2.0"/> - - <value name="GL_DEPTH_COMPONENT24_OES" category="OES_depth24"/> - <value name="GL_DEPTH_COMPONENT32_OES" category="OES_depth32"/> - <value name="GL_RGB8_OES" category="OES_rgb8_rgba8"/> - <value name="GL_RGBA8_OES" category="OES_rgb8_rgba8"/> - <value name="GL_STENCIL_INDEX1_OES" category="OES_stencil1"/> - <value name="GL_STENCIL_INDEX4_OES" category="OES_stencil4"/> - <value name="GL_DEPTH24_STENCIL8_OES" category="OES_packed_depth_stencil"/> - </desc> -</template> - -<template name="FramebufferRenderbuffer"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="attachment" type="GLenum"/> - <param name="renderbuffertarget" type="GLenum"/> - <param name="renderbuffer" type="GLuint"/> - </proto> - - <desc name="target"> - <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER" category="GLES2.0"/> - </desc> - - <desc name="attachment"> - <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/> - <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/> - <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/> - <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/> - <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/> - <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/> - </desc> - - <desc name="renderbuffertarget"> - <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_RENDERBUFFER" category="GLES2.0"/> - </desc> -</template> - -<template name="FramebufferTexture2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="attachment" type="GLenum"/> - <param name="textarget" type="GLenum"/> - <param name="texture" type="GLuint"/> - <param name="level" type="GLint"/> - </proto> - - <desc name="target"> - <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER" category="GLES2.0"/> - </desc> - - <desc name="attachment"> - <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/> - <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/> - <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/> - <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/> - <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/> - <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/> - </desc> - - <desc name="textarget" error="GL_INVALID_OPERATION"> - <value name="GL_TEXTURE_2D"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/> - <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/> - </desc> - <!-- According to the base specification, "level" must be 0. But - extension GL_OES_fbo_render_mipmap lifts that restriction, - so no restriction is placed here. --> -</template> - -<template name="FramebufferTexture3D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="attachment" type="GLenum"/> - <param name="textarget" type="GLenum"/> - <param name="texture" type="GLuint"/> - <param name="level" type="GLint"/> - <param name="zoffset" type="GLint"/> - </proto> - - <desc name="target"> - <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER" category="GLES2.0"/> - </desc> - - <desc name="attachment"> - <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/> - <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/> - <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/> - <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/> - <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/> - <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/> - </desc> - - <desc name="textarget" error="GL_INVALID_OPERATION"> - <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> - </desc> -</template> - -<template name="CheckFramebufferStatus" direction="get"> - <proto> - <return type="GLenum"/> - <param name="target" type="GLenum"/> - </proto> - - <desc name="target"> - <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER" category="GLES2.0"/> - </desc> -</template> - -<template name="GetFramebufferAttachmentParameter" direction="get"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="attachment" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="target"> - <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER" category="GLES2.0"/> - </desc> - - <desc name="pname"> - <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" category="OES_framebuffer_object"/> - <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" category="OES_framebuffer_object"/> - - <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" category="GLES2.0"/> - <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" category="GLES2.0"/> - <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" category="GLES2.0"/> - <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" category="GLES2.0"/> - <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" category="OES_texture_3D"/> - - <desc name="params" vector_size="1" convert="false"/> - </desc> -</template> - -<template name="GetRenderbufferParameter" direction="get"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="target"> - <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_RENDERBUFFER" category="GLES2.0"/> - </desc> - - <desc name="pname" category="OES_framebuffer_object"> - <value name="GL_RENDERBUFFER_WIDTH_OES"/> - <value name="GL_RENDERBUFFER_HEIGHT_OES"/> - <value name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/> - <value name="GL_RENDERBUFFER_RED_SIZE_OES"/> - <value name="GL_RENDERBUFFER_GREEN_SIZE_OES"/> - <value name="GL_RENDERBUFFER_BLUE_SIZE_OES"/> - <value name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/> - <value name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/> - <value name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/> - - <desc name="params" vector_size="1" convert="false"/> - </desc> - - <desc name="pname" category="GLES2.0"> - <value name="GL_RENDERBUFFER_WIDTH"/> - <value name="GL_RENDERBUFFER_HEIGHT"/> - <value name="GL_RENDERBUFFER_INTERNAL_FORMAT"/> - <value name="GL_RENDERBUFFER_RED_SIZE"/> - <value name="GL_RENDERBUFFER_GREEN_SIZE"/> - <value name="GL_RENDERBUFFER_BLUE_SIZE"/> - <value name="GL_RENDERBUFFER_ALPHA_SIZE"/> - <value name="GL_RENDERBUFFER_DEPTH_SIZE"/> - <value name="GL_RENDERBUFFER_STENCIL_SIZE"/> - - <desc name="params" vector_size="1" convert="false"/> - </desc> -</template> - -<template name="IsRenderbuffer" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="renderbuffer" type="GLuint"/> - </proto> -</template> - -<template name="IsFramebuffer" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="framebuffer" type="GLuint"/> - </proto> -</template> - -<template name="IsShader" direction="get"> - <proto> - <return type="GLboolean"/> - <param name="shader" type="GLuint"/> - </proto> -</template> - -<template name="GetShader" direction="get"> - <proto> - <return type="void"/> - <param name="shader" type="GLuint"/> - <param name="pname" type="GLenum"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> - - <desc name="pname"> - <value name="GL_SHADER_TYPE"/> - <value name="GL_COMPILE_STATUS"/> - <value name="GL_DELETE_STATUS"/> - <value name="GL_INFO_LOG_LENGTH"/> - <value name="GL_SHADER_SOURCE_LENGTH"/> - </desc> -</template> - -<template name="GetAttachedShaders" direction="get"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="maxCount" type="GLsizei"/> - <param name="count" type="GLsizei *"/> - <param name="shaders" type="GLuint *"/> - </proto> -</template> - -<template name="GetShaderInfoLog" direction="get"> - <proto> - <return type="void"/> - <param name="shader" type="GLuint"/> - <param name="bufSize" type="GLsizei"/> - <param name="length" type="GLsizei *"/> - <param name="infoLog" type="GLchar *"/> - </proto> -</template> - -<template name="GetProgramInfoLog" direction="get"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="bufSize" type="GLsizei"/> - <param name="length" type="GLsizei *"/> - <param name="infoLog" type="GLchar *"/> - </proto> -</template> - -<template name="GetShaderSource" direction="get"> - <proto> - <return type="void"/> - <param name="shader" type="GLuint"/> - <param name="bufSize" type="GLsizei"/> - <param name="length" type="GLsizei *"/> - <param name="source" type="GLchar *"/> - </proto> -</template> - -<template name="GetShaderPrecisionFormat" direction="get"> - <proto> - <return type="void"/> - <param name="shadertype" type="GLenum"/> - <param name="precisiontype" type="GLenum"/> - <param name="range" type="GLint *"/> - <param name="precision" type="GLint *"/> - </proto> - - <desc name="shadertype"> - <value name="GL_VERTEX_SHADER"/> - <value name="GL_FRAGMENT_SHADER"/> - </desc> - - <desc name="precisiontype"> - <value name="GL_LOW_FLOAT"/> - <value name="GL_MEDIUM_FLOAT"/> - <value name="GL_HIGH_FLOAT"/> - <value name="GL_LOW_INT"/> - <value name="GL_MEDIUM_INT"/> - <value name="GL_HIGH_INT"/> - </desc> -</template> - -<template name="GetUniform" direction="get"> - <proto> - <return type="void"/> - <param name="program" type="GLuint"/> - <param name="location" type="GLint"/> - <vector name="params" type="GLtype *" size="dynamic"/> - </proto> -</template> - -<template name="QueryMatrix" direction="get"> - <proto> - <return type="GLbitfield"/> - <vector name="mantissa" type="GLtype *" size="16"/> - <vector name="exponent" type="GLint *" size="16"/> - </proto> -</template> - -<template name="DrawTex"> - <proto> - <return type="void"/> - <vector name="coords" type="const GLtype *" size="5"> - <param name="x" type="GLtype"/> - <param name="y" type="GLtype"/> - <param name="z" type="GLtype"/> - <param name="w" type="GLtype"/> - <param name="h" type="GLtype"/> - </vector> - </proto> -</template> - -<template name="MultiDrawArrays"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - <param name="first" type="const GLint *"/> - <param name="count" type="const GLsizei *"/> - <param name="primcount" type="GLsizei"/> - </proto> - - <desc name="mode"> - <value name="GL_POINTS"/> - <value name="GL_LINES"/> - <value name="GL_LINE_LOOP"/> - <value name="GL_LINE_STRIP"/> - <value name="GL_TRIANGLES"/> - <value name="GL_TRIANGLE_STRIP"/> - <value name="GL_TRIANGLE_FAN"/> - </desc> -</template> - -<template name="MultiDrawElements"> - <proto> - <return type="void"/> - <param name="mode" type="GLenum"/> - <param name="count" type="const GLsizei *"/> - <param name="type" type="GLenum"/> - <param name="indices" type="const GLvoid **"/> - <param name="primcount" type="GLsizei"/> - </proto> - - <desc name="mode"> - <value name="GL_POINTS"/> - <value name="GL_LINES"/> - <value name="GL_LINE_LOOP"/> - <value name="GL_LINE_STRIP"/> - <value name="GL_TRIANGLES"/> - <value name="GL_TRIANGLE_STRIP"/> - <value name="GL_TRIANGLE_FAN"/> - </desc> - - <desc name="type"> - <value name="GL_UNSIGNED_BYTE"/> - <value name="GL_UNSIGNED_SHORT"/> - <value name="GL_UNSIGNED_INT" category="OES_element_index_uint"/> - </desc> -</template> - -<template name="EGLImageTargetTexture2D"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="image" type="GLeglImageOES"/> - </proto> - - <desc name="target"> - <value name="GL_TEXTURE_2D"/> - </desc> -</template> - -<template name="EGLImageTargetRenderbufferStorage"> - <proto> - <return type="void"/> - <param name="target" type="GLenum"/> - <param name="image" type="GLeglImageOES"/> - </proto> - - <desc name="target"> - <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/> - <value name="GL_RENDERBUFFER" category="GLES2.0"/> - </desc> -</template> - -<api name="mesa" implementation="true"> - <category name="MESA"/> - - <function name="Color4f" default_prefix="_vbo_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/> - <function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/> - <function name="CullFace" template="CullFace"/> - - <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/> - <function name="Fogfv" template="Fog" gltype="GLfloat"/> - - <function name="FrontFace" template="FrontFace"/> - <function name="Hint" template="Hint"/> - - <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/> - <function name="Lightfv" template="Light" gltype="GLfloat"/> - - <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/> - <function name="LightModelfv" template="LightModel" gltype="GLfloat"/> - - <function name="LineWidth" template="LineWidth" gltype="GLfloat"/> - - <function name="Materialf" default_prefix="_vbo_" template="Material" gltype="GLfloat" expand_vector="true"/> - <function name="Materialfv" default_prefix="_vbo_" template="Material" gltype="GLfloat"/> - - <function name="PointSize" template="PointSize" gltype="GLfloat"/> - <function name="PointSizePointer" template="PointSizePointer"/> - - <function name="Scissor" template="Scissor"/> - <function name="ShadeModel" template="ShadeModel"/> - - <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/> - <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/> - <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/> - <function name="TexParameteriv" template="TexParameter" gltype="GLint"/> - - <function name="TexImage2D" template="TexImage2D"/> - - <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/> - <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/> - <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/> - <function name="TexEnviv" template="TexEnv" gltype="GLint"/> - - <function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/> - <function name="TexGenfv" template="TexGen" gltype="GLfloat"/> - - <function name="Clear" template="Clear"/> - <function name="ClearColor" template="ClearColor" gltype="GLclampf"/> - <function name="ClearStencil" template="ClearStencil"/> - <function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/> - - <function name="StencilMask" template="StencilMask"/> - <function name="StencilMaskSeparate" template="StencilMaskSeparate"/> - <function name="ColorMask" template="ColorMask"/> - <function name="DepthMask" template="DepthMask"/> - <function name="Disable" template="Disable"/> - <function name="Enable" template="Enable"/> - <function name="Finish" template="Finish"/> - <function name="Flush" template="Flush"/> - - <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/> - - <function name="BlendFunc" template="BlendFunc"/> - <function name="LogicOp" template="LogicOp"/> - <function name="StencilFunc" template="StencilFunc"/> - <function name="StencilFuncSeparate" template="StencilFuncSeparate"/> - <function name="StencilOp" template="StencilOp"/> - <function name="StencilOpSeparate" template="StencilOpSeparate"/> - <function name="DepthFunc" template="DepthFunc"/> - <function name="PixelStorei" template="PixelStore" gltype="GLint"/> - - <function name="ReadPixels" template="ReadPixels"/> - <function name="GetBooleanv" template="GetState" gltype="GLboolean"/> - <function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/> - <function name="GetError" template="GetError"/> - <function name="GetFloatv" template="GetState" gltype="GLfloat"/> - <function name="GetFixedv" template="GetState" gltype="GLfixed"/> - <function name="GetIntegerv" template="GetState" gltype="GLint"/> - - <function name="GetLightfv" template="GetLight" gltype="GLfloat"/> - <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/> - <function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/> - - <function name="GetString" template="GetString"/> - - <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/> - <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/> - <function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/> - <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/> - <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/> - - <function name="IsEnabled" template="IsEnabled"/> - - <function name="DepthRange" template="DepthRange" gltype="GLclampd"/> - <function name="Frustum" template="Frustum" gltype="GLdouble"/> - - <function name="LoadIdentity" template="LoadIdentity"/> - <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/> - <function name="MatrixMode" template="MatrixMode"/> - - <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/> - <function name="Ortho" template="Ortho" gltype="GLdouble"/> - <function name="PopMatrix" template="PopMatrix"/> - <function name="PushMatrix" template="PushMatrix"/> - - <function name="Rotatef" template="Rotate" gltype="GLfloat"/> - <function name="Scalef" template="Scale" gltype="GLfloat"/> - <function name="Translatef" template="Translate" gltype="GLfloat"/> - - <function name="Viewport" template="Viewport"/> - - <function name="ColorPointer" template="ColorPointer"/> - <function name="DisableClientState" template="DisableClientState"/> - <function name="DrawArrays" template="DrawArrays"/> - <function name="DrawElements" template="DrawElements"/> - <function name="EnableClientState" template="EnableClientState"/> - - <function name="GetPointerv" template="GetPointer"/> - <function name="Normal3f" default_prefix="_vbo_" template="Normal" gltype="GLfloat" expand_vector="true"/> - <function name="NormalPointer" template="NormalPointer"/> - <function name="TexCoordPointer" template="TexCoordPointer"/> - <function name="VertexPointer" template="VertexPointer"/> - - <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/> - <function name="CopyTexImage2D" template="CopyTexImage2D"/> - <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/> - <function name="TexSubImage2D" template="TexSubImage2D"/> - - <function name="BindTexture" template="BindTexture"/> - <function name="DeleteTextures" template="DeleteTextures"/> - <function name="GenTextures" template="GenTextures"/> - <function name="IsTexture" template="IsTexture"/> - - <function name="BlendColor" template="BlendColor" gltype="GLclampf"/> - <function name="BlendEquation" template="BlendEquation"/> - <function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/> - - <function name="TexImage3D" template="TexImage3D"/> - <function name="TexSubImage3D" template="TexSubImage3D"/> - <function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/> - - <function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/> - <function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/> - - <function name="ActiveTextureARB" template="ActiveTexture"/> - <function name="ClientActiveTextureARB" template="ClientActiveTexture"/> - - <function name="MultiTexCoord4f" default_prefix="_vbo_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/> - - <function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/> - - <function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/> - <function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/> - - <function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/> - - <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/> - <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/> - - <function name="VertexAttrib1f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/> - <function name="VertexAttrib2f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/> - <function name="VertexAttrib3f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/> - <function name="VertexAttrib4f" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/> - <function name="VertexAttrib1fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/> - <function name="VertexAttrib2fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/> - <function name="VertexAttrib3fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/> - <function name="VertexAttrib4fv" default_prefix="_vbo_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/> - - <function name="VertexAttribPointerARB" template="VertexAttribPointer"/> - <function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/> - <function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/> - - <function name="IsProgram" template="IsProgram"/> - <function name="GetProgramiv" template="GetProgram" gltype="GLint"/> - - <function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/> - <function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/> - <function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/> - - <function name="GetBufferPointervARB" template="GetBufferPointer"/> - <function name="MapBufferARB" template="MapBuffer"/> - <function name="UnmapBufferARB" template="UnmapBuffer"/> - <function name="BindBufferARB" template="BindBuffer"/> - <function name="BufferDataARB" template="BufferData"/> - <function name="BufferSubDataARB" template="BufferSubData"/> - <function name="DeleteBuffersARB" template="DeleteBuffers"/> - <function name="GenBuffersARB" template="GenBuffers"/> - <function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/> - <function name="IsBufferARB" template="IsBuffer"/> - - <function name="CreateShader" template="CreateShader"/> - <function name="ShaderSourceARB" template="ShaderSource"/> - <function name="CompileShaderARB" template="CompileShader"/> - <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/> - <function name="DeleteShader" template="DeleteShader"/> - <function name="ShaderBinary" template="ShaderBinary"/> - <function name="CreateProgram" template="CreateProgram"/> - <function name="AttachShader" template="AttachShader"/> - <function name="DetachShader" template="DetachShader"/> - <function name="LinkProgramARB" template="LinkProgram"/> - <function name="UseProgramObjectARB" template="UseProgram"/> - <function name="DeleteProgram" template="DeleteProgram"/> - - <function name="GetActiveAttribARB" template="GetActiveAttrib"/> - <function name="GetAttribLocationARB" template="GetAttribLocation"/> - <function name="BindAttribLocationARB" template="BindAttribLocation"/> - <function name="GetUniformLocationARB" template="GetUniformLocation"/> - <function name="GetActiveUniformARB" template="GetActiveUniform"/> - - <function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/> - <function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/> - <function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/> - <function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/> - <function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/> - <function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/> - <function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/> - <function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/> - <function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/> - <function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/> - <function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/> - <function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/> - <function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/> - <function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/> - <function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/> - <function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/> - - <function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/> - <function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/> - <function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/> - - <function name="ValidateProgramARB" template="ValidateProgram"/> - - <function name="GenerateMipmapEXT" template="GenerateMipmap"/> - <function name="BindFramebufferEXT" template="BindFramebuffer"/> - <function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/> - <function name="GenFramebuffersEXT" template="GenFramebuffers"/> - <function name="BindRenderbufferEXT" template="BindRenderbuffer"/> - <function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/> - <function name="GenRenderbuffersEXT" template="GenRenderbuffers"/> - <function name="RenderbufferStorageEXT" template="RenderbufferStorage"/> - <function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/> - <function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/> - <function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/> - <function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/> - <function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/> - <function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/> - <function name="IsRenderbufferEXT" template="IsRenderbuffer"/> - <function name="IsFramebufferEXT" template="IsFramebuffer"/> - - <function name="IsShader" template="IsShader"/> - <function name="GetShaderiv" template="GetShader" gltype="GLint"/> - <function name="GetAttachedShaders" template="GetAttachedShaders"/> - <function name="GetShaderInfoLog" template="GetShaderInfoLog"/> - <function name="GetProgramInfoLog" template="GetProgramInfoLog"/> - <function name="GetShaderSourceARB" template="GetShaderSource"/> - <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/> - <function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/> - <function name="GetUniformivARB" template="GetUniform" gltype="GLint"/> - - <function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/> - <function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/> - <function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/> - <function name="DrawTexiv" template="DrawTex" gltype="GLint"/> - <function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/> - <function name="DrawTexsv" template="DrawTex" gltype="GLshort"/> - - <!-- EXT_multi_draw_arrays --> - <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/> - <function name="MultiDrawElementsEXT" template="MultiDrawElements"/> - - <!-- OES_EGL_image --> - <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/> - <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/> -</api> - -<api name="GLES1.1"> - <category name="GLES1.1"/> - - <category name="OES_byte_coordinates"/> - <category name="OES_fixed_point"/> - <category name="OES_single_precision"/> - <category name="OES_matrix_get"/> - <category name="OES_read_format"/> - <category name="OES_compressed_paletted_texture"/> - <category name="OES_point_size_array"/> - <category name="OES_point_sprite"/> - <category name="OES_query_matrix"/> - <category name="OES_draw_texture"/> - <category name="OES_blend_equation_separate"/> - <category name="OES_blend_func_separate"/> - <category name="OES_blend_subtract"/> - <category name="OES_stencil_wrap"/> - <category name="OES_texture_cube_map"/> - <category name="OES_texture_env_crossbar"/> - <category name="OES_texture_mirrored_repeat"/> - <category name="OES_framebuffer_object"/> - <category name="OES_depth24"/> - <category name="OES_depth32"/> - <category name="OES_fbo_render_mipmap"/> - <category name="OES_rgb8_rgba8"/> - <category name="OES_stencil1"/> - <category name="OES_stencil4"/> - <category name="OES_stencil8"/> - <category name="OES_element_index_uint"/> - <category name="OES_mapbuffer"/> - <category name="EXT_texture_filter_anisotropic"/> - - <category name="ARB_texture_non_power_of_two"/> - <!-- disabled due to missing enums - <category name="EXT_texture_compression_dxt1"/> - --> - <category name="EXT_texture_lod_bias"/> - <category name="EXT_blend_minmax"/> - <category name="EXT_multi_draw_arrays"/> - <category name="OES_EGL_image"/> - - <category name="OES_matrix_palette"/> - - <function name="Color4f" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/> - <function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/> - <function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/> - - <function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/> - <function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/> - - <function name="CullFace" template="CullFace"/> - - <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/> - <function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/> - <function name="Fogfv" template="Fog" gltype="GLfloat"/> - <function name="Fogxv" template="Fog" gltype="GLfixed"/> - - <function name="FrontFace" template="FrontFace"/> - <function name="Hint" template="Hint"/> - - <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/> - <function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/> - <function name="Lightfv" template="Light" gltype="GLfloat"/> - <function name="Lightxv" template="Light" gltype="GLfixed"/> - - <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/> - <function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/> - <function name="LightModelfv" template="LightModel" gltype="GLfloat"/> - <function name="LightModelxv" template="LightModel" gltype="GLfixed"/> - - <function name="LineWidth" template="LineWidth" gltype="GLfloat"/> - <function name="LineWidthx" template="LineWidth" gltype="GLfixed"/> - - <function name="Materialf" template="Material" gltype="GLfloat" expand_vector="true"/> - <function name="Materialfv" template="Material" gltype="GLfloat"/> - <function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/> - <function name="Materialxv" template="Material" gltype="GLfixed"/> - - <function name="PointSize" template="PointSize" gltype="GLfloat"/> - <function name="PointSizex" template="PointSize" gltype="GLfixed"/> - <function name="PointSizePointerOES" template="PointSizePointer"/> - - <function name="Scissor" template="Scissor"/> - <function name="ShadeModel" template="ShadeModel"/> - - <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/> - <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/> - <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/> - <function name="TexParameteriv" template="TexParameter" gltype="GLint"/> - <function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/> - <function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/> - - <function name="TexImage2D" template="TexImage2D"/> - - <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/> - <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/> - <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/> - <function name="TexEnviv" template="TexEnv" gltype="GLint"/> - <function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/> - <function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/> - - <function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/> - <function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/> - <function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/> - <function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/> - <function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/> - <function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/> - - <function name="Clear" template="Clear"/> - <function name="ClearColor" template="ClearColor" gltype="GLclampf"/> - <function name="ClearColorx" template="ClearColor" gltype="GLclampx"/> - - <function name="ClearStencil" template="ClearStencil"/> - <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/> - <function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/> - - <function name="StencilMask" template="StencilMask"/> - <function name="ColorMask" template="ColorMask"/> - <function name="DepthMask" template="DepthMask"/> - - <function name="Disable" template="Disable"/> - <function name="Enable" template="Enable"/> - <function name="Finish" template="Finish"/> - <function name="Flush" template="Flush"/> - - <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/> - <function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/> - - <function name="BlendFunc" template="BlendFunc"/> - <function name="LogicOp" template="LogicOp"/> - <function name="StencilFunc" template="StencilFunc"/> - - <function name="StencilOp" template="StencilOp"/> - <function name="DepthFunc" template="DepthFunc"/> - - <function name="PixelStorei" template="PixelStore" gltype="GLint"/> - <function name="ReadPixels" template="ReadPixels"/> - - <function name="GetBooleanv" template="GetState" gltype="GLboolean"/> - - <function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/> - <function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/> - - <function name="GetError" template="GetError"/> - <function name="GetFloatv" template="GetState" gltype="GLfloat"/> - <function name="GetFixedv" template="GetState" gltype="GLfixed"/> - <function name="GetIntegerv" template="GetState" gltype="GLint"/> - - <function name="GetLightfv" template="GetLight" gltype="GLfloat"/> - <function name="GetLightxv" template="GetLight" gltype="GLfixed"/> - - <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/> - <function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/> - - <function name="GetString" template="GetString"/> - - <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/> - <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/> - <function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/> - - <function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/> - <function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/> - <function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/> - - <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/> - <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/> - <function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/> - - <function name="IsEnabled" template="IsEnabled"/> - - <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/> - <function name="DepthRangex" template="DepthRange" gltype="GLclampx"/> - - <function name="Frustumf" template="Frustum" gltype="GLfloat"/> - <function name="Frustumx" template="Frustum" gltype="GLfixed"/> - - <function name="LoadIdentity" template="LoadIdentity"/> - <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/> - <function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/> - <function name="MatrixMode" template="MatrixMode"/> - - <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/> - <function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/> - <function name="Orthof" template="Ortho" gltype="GLfloat"/> - <function name="Orthox" template="Ortho" gltype="GLfixed"/> - - <function name="PopMatrix" template="PopMatrix"/> - <function name="PushMatrix" template="PushMatrix"/> - - <function name="Rotatef" template="Rotate" gltype="GLfloat"/> - <function name="Rotatex" template="Rotate" gltype="GLfixed"/> - <function name="Scalef" template="Scale" gltype="GLfloat"/> - <function name="Scalex" template="Scale" gltype="GLfixed"/> - <function name="Translatef" template="Translate" gltype="GLfloat"/> - <function name="Translatex" template="Translate" gltype="GLfixed"/> - - <function name="Viewport" template="Viewport"/> - <function name="ColorPointer" template="ColorPointer"/> - <function name="DisableClientState" template="DisableClientState"/> - <function name="DrawArrays" template="DrawArrays"/> - <function name="DrawElements" template="DrawElements"/> - <function name="EnableClientState" template="EnableClientState"/> - - <function name="GetPointerv" template="GetPointer"/> - - <function name="Normal3f" template="Normal" gltype="GLfloat" expand_vector="true"/> - <function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/> - <function name="NormalPointer" template="NormalPointer"/> - <function name="TexCoordPointer" template="TexCoordPointer"/> - <function name="VertexPointer" template="VertexPointer"/> - - <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/> - <function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/> - - <function name="CopyTexImage2D" template="CopyTexImage2D"/> - <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/> - - <function name="TexSubImage2D" template="TexSubImage2D"/> - - <function name="BindTexture" template="BindTexture"/> - <function name="DeleteTextures" template="DeleteTextures"/> - <function name="GenTextures" template="GenTextures"/> - <function name="IsTexture" template="IsTexture"/> - - <function name="BlendEquationOES" template="BlendEquation"/> - <function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/> - - <function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/> - - <function name="ActiveTexture" template="ActiveTexture"/> - <function name="ClientActiveTexture" template="ClientActiveTexture"/> - - <function name="MultiTexCoord4f" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/> - - <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/> - <function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/> - - <!-- CompressedTexImage2D calls out to two different functions based on - whether the image is a paletted image or not --> - <function name="CompressedTexImage2D" template="CompressedTexImage2D"/> - <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/> - - <function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/> - - <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/> - <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/> - <function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/> - <function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/> - - <!-- OES_mapbuffer --> - <function name="GetBufferPointervOES" template="GetBufferPointer"/> - <function name="MapBufferOES" template="MapBuffer"/> - <function name="UnmapBufferOES" template="UnmapBuffer"/> - - <function name="BindBuffer" template="BindBuffer"/> - <function name="BufferData" template="BufferData"/> - <function name="BufferSubData" template="BufferSubData"/> - <function name="DeleteBuffers" template="DeleteBuffers"/> - <function name="GenBuffers" template="GenBuffers"/> - <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/> - <function name="IsBuffer" template="IsBuffer"/> - - <!-- OES_framebuffer_object --> - <function name="GenerateMipmapOES" template="GenerateMipmap"/> - <function name="BindFramebufferOES" template="BindFramebuffer"/> - <function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/> - <function name="GenFramebuffersOES" template="GenFramebuffers"/> - <function name="BindRenderbufferOES" template="BindRenderbuffer"/> - <function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/> - <function name="GenRenderbuffersOES" template="GenRenderbuffers"/> - <function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/> - <function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/> - <function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/> - <function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/> - <function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/> - <function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/> - <function name="IsRenderbufferOES" template="IsRenderbuffer"/> - <function name="IsFramebufferOES" template="IsFramebuffer"/> - - <!-- OES_query_matrix --> - <!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value - form; it has its own code for this --> - <function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/> - - <!-- OES_draw_texture --> - <function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/> - <function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/> - <function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/> - <function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/> - <function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/> - <function name="DrawTexivOES" template="DrawTex" gltype="GLint"/> - <function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/> - <function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/> - - <!-- EXT_multi_draw_arrays --> - <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/> - <function name="MultiDrawElementsEXT" template="MultiDrawElements"/> - - <!-- OES_EGL_image --> - <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/> - <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/> -</api> - -<api name="GLES2.0"> - <category name="GLES2.0"/> - - <category name="OES_compressed_paletted_texture"/> - <category name="OES_depth24"/> - <category name="OES_depth32"/> - <category name="OES_fbo_render_mipmap"/> - <category name="OES_rgb8_rgba8"/> - <category name="OES_stencil1"/> - <category name="OES_stencil4"/> - <category name="OES_element_index_uint"/> - <category name="OES_mapbuffer"/> - <category name="OES_texture_3D"/> - <category name="OES_texture_npot"/> - <category name="EXT_texture_filter_anisotropic"/> - <category name="EXT_texture_type_2_10_10_10_REV"/> - <category name="OES_depth_texture"/> - <category name="OES_packed_depth_stencil"/> - <category name="OES_standard_derivatives"/> - - <category name="EXT_texture_compression_dxt1"/> - <category name="EXT_blend_minmax"/> - <category name="EXT_multi_draw_arrays"/> - <category name="OES_EGL_image"/> - - <function name="CullFace" template="CullFace"/> - - <function name="FrontFace" template="FrontFace"/> - <function name="Hint" template="Hint"/> - - <function name="LineWidth" template="LineWidth" gltype="GLfloat"/> - - <function name="Scissor" template="Scissor"/> - - <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/> - <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/> - <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/> - <function name="TexParameteriv" template="TexParameter" gltype="GLint"/> - - <function name="TexImage2D" template="TexImage2D"/> - - <function name="Clear" template="Clear"/> - <function name="ClearColor" template="ClearColor" gltype="GLclampf"/> - <function name="ClearStencil" template="ClearStencil"/> - <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/> - - <function name="StencilMask" template="StencilMask"/> - <function name="StencilMaskSeparate" template="StencilMaskSeparate"/> - <function name="ColorMask" template="ColorMask"/> - <function name="DepthMask" template="DepthMask"/> - <function name="Disable" template="Disable"/> - <function name="Enable" template="Enable"/> - <function name="Finish" template="Finish"/> - <function name="Flush" template="Flush"/> - - <function name="BlendFunc" template="BlendFunc"/> - - <function name="StencilFunc" template="StencilFunc"/> - <function name="StencilFuncSeparate" template="StencilFuncSeparate"/> - <function name="StencilOp" template="StencilOp"/> - <function name="StencilOpSeparate" template="StencilOpSeparate"/> - - <function name="DepthFunc" template="DepthFunc"/> - - <function name="PixelStorei" template="PixelStore" gltype="GLint"/> - <function name="ReadPixels" template="ReadPixels"/> - - <function name="GetBooleanv" template="GetState" gltype="GLboolean"/> - <function name="GetError" template="GetError"/> - <function name="GetFloatv" template="GetState" gltype="GLfloat"/> - <function name="GetIntegerv" template="GetState" gltype="GLint"/> - - <function name="GetString" template="GetString"/> - - <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/> - <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/> - - <function name="IsEnabled" template="IsEnabled"/> - - <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/> - - <function name="Viewport" template="Viewport"/> - - <function name="DrawArrays" template="DrawArrays"/> - <function name="DrawElements" template="DrawElements"/> - - <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/> - <function name="CopyTexImage2D" template="CopyTexImage2D"/> - <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/> - <function name="TexSubImage2D" template="TexSubImage2D"/> - - <function name="BindTexture" template="BindTexture"/> - <function name="DeleteTextures" template="DeleteTextures"/> - <function name="GenTextures" template="GenTextures"/> - <function name="IsTexture" template="IsTexture"/> - - <function name="BlendColor" template="BlendColor" gltype="GLclampf"/> - <function name="BlendEquation" template="BlendEquation"/> - <function name="BlendEquationSeparate" template="BlendEquationSeparate"/> - - <function name="TexImage3DOES" template="TexImage3D"/> - <function name="TexSubImage3DOES" template="TexSubImage3D"/> - <function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/> - - <function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/> - <function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/> - - <function name="ActiveTexture" template="ActiveTexture"/> - - <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/> - - <function name="CompressedTexImage2D" template="CompressedTexImage2D"/> - <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/> - - <function name="BlendFuncSeparate" template="BlendFuncSeparate"/> - - <function name="VertexAttrib1f" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/> - <function name="VertexAttrib2f" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/> - <function name="VertexAttrib3f" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/> - <function name="VertexAttrib4f" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/> - <function name="VertexAttrib1fv" template="VertexAttrib" gltype="GLfloat" vector_size="1"/> - <function name="VertexAttrib2fv" template="VertexAttrib" gltype="GLfloat" vector_size="2"/> - <function name="VertexAttrib3fv" template="VertexAttrib" gltype="GLfloat" vector_size="3"/> - <function name="VertexAttrib4fv" template="VertexAttrib" gltype="GLfloat" vector_size="4"/> - - <function name="VertexAttribPointer" template="VertexAttribPointer"/> - - <function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/> - <function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/> - - <function name="IsProgram" template="IsProgram"/> - <function name="GetProgramiv" template="GetProgram" gltype="GLint"/> - - <function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/> - <function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/> - <function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/> - - <function name="GetBufferPointervOES" template="GetBufferPointer"/> - <function name="MapBufferOES" template="MapBuffer"/> - <function name="UnmapBufferOES" template="UnmapBuffer"/> - <function name="BindBuffer" template="BindBuffer"/> - <function name="BufferData" template="BufferData"/> - <function name="BufferSubData" template="BufferSubData"/> - <function name="DeleteBuffers" template="DeleteBuffers"/> - <function name="GenBuffers" template="GenBuffers"/> - <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/> - <function name="IsBuffer" template="IsBuffer"/> - - <function name="CreateShader" template="CreateShader"/> - <function name="ShaderSource" template="ShaderSource"/> - <function name="CompileShader" template="CompileShader"/> - <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/> - <function name="DeleteShader" template="DeleteShader"/> - <function name="ShaderBinary" template="ShaderBinary"/> - <function name="CreateProgram" template="CreateProgram"/> - <function name="AttachShader" template="AttachShader"/> - <function name="DetachShader" template="DetachShader"/> - <function name="LinkProgram" template="LinkProgram"/> - <function name="UseProgram" template="UseProgram"/> - <function name="DeleteProgram" template="DeleteProgram"/> - - <function name="GetActiveAttrib" template="GetActiveAttrib"/> - <function name="GetAttribLocation" template="GetAttribLocation"/> - <function name="BindAttribLocation" template="BindAttribLocation"/> - <function name="GetUniformLocation" template="GetUniformLocation"/> - <function name="GetActiveUniform" template="GetActiveUniform"/> - - <function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/> - <function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/> - <function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/> - <function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/> - <function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/> - <function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/> - <function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/> - <function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/> - - <function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/> - <function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/> - <function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/> - <function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/> - <function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/> - <function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/> - <function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/> - <function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/> - - <function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/> - <function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/> - <function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/> - - <function name="ValidateProgram" template="ValidateProgram"/> - - <function name="GenerateMipmap" template="GenerateMipmap"/> - <function name="BindFramebuffer" template="BindFramebuffer"/> - <function name="DeleteFramebuffers" template="DeleteFramebuffers"/> - <function name="GenFramebuffers" template="GenFramebuffers"/> - <function name="BindRenderbuffer" template="BindRenderbuffer"/> - <function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/> - <function name="GenRenderbuffers" template="GenRenderbuffers"/> - <function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/> - <function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/> - <function name="FramebufferTexture2D" template="FramebufferTexture2D"/> - <function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/> - <function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/> - <function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/> - <function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/> - <function name="IsRenderbuffer" template="IsRenderbuffer"/> - <function name="IsFramebuffer" template="IsFramebuffer"/> - - <function name="IsShader" template="IsShader"/> - <function name="GetShaderiv" template="GetShader" gltype="GLint"/> - <function name="GetAttachedShaders" template="GetAttachedShaders"/> - <function name="GetShaderInfoLog" template="GetShaderInfoLog"/> - <function name="GetProgramInfoLog" template="GetProgramInfoLog"/> - <function name="GetShaderSource" template="GetShaderSource"/> - <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/> - <function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/> - <function name="GetUniformiv" template="GetUniform" gltype="GLint"/> - - <!-- EXT_multi_draw_arrays --> - <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/> - <function name="MultiDrawElementsEXT" template="MultiDrawElements"/> - - <!-- OES_EGL_image --> - <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/> - <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/> -</api> - -</apispec> +<?xml version="1.0"?>
+<!DOCTYPE apispec SYSTEM "APIspec.dtd">
+
+<!-- A function is generated from a template. Multiple functions can be
+ generated from a single template with different arguments. For example,
+ glColor3f can be generated from
+
+ <function name="Color3f" template="Color" gltype="GLfloat" vector_size="3" expand_vector="true"/>
+
+ and glColor4iv can be generated from
+
+ <function name="Color4iv" template="Color" gltype="GLint" vector_size="4"/>
+
+ In a template, there are <desc>s that describe the properties of
+ parameters. A <desc> can enumerate the valid values of a parameter. It
+ can also specify the error code when an invalid value is given, and etc.
+ By nesting <desc>s, they can create dependency between parameters.
+
+ A function can be marked as external. It means that the function cannot
+ be dispatched to the corresponding mesa function, if one exists, directly,
+ and requires an external implementation.
+-->
+
+<apispec>
+
+<template name="Color">
+ <proto>
+ <return type="void"/>
+ <vector name="v" type="const GLtype *" size="dynamic">
+ <param name="red" type="GLtype"/>
+ <param name="green" type="GLtype"/>
+ <param name="blue" type="GLtype"/>
+ <param name="alpha" type="GLtype"/>
+ </vector>
+ </proto>
+</template>
+
+<template name="ClipPlane">
+ <proto>
+ <return type="void"/>
+ <param name="plane" type="GLenum"/>
+ <vector name="equation" type="const GLtype *" size="4"/>
+ </proto>
+
+ <desc name="plane">
+ <range base="GL_CLIP_PLANE" from="0" to="5"/>
+ </desc>
+</template>
+
+<template name="CullFace">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_FRONT"/>
+ <value name="GL_BACK"/>
+ <value name="GL_FRONT_AND_BACK"/>
+ </desc>
+</template>
+
+<template name="Fog">
+ <proto>
+ <return type="void"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_FOG_MODE"/>
+ <desc name="param">
+ <value name="GL_EXP"/>
+ <value name="GL_EXP2"/>
+ <value name="GL_LINEAR"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_FOG_COLOR"/>
+
+ <desc name="params" vector_size="4"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_FOG_DENSITY"/>
+ <value name="GL_FOG_START"/>
+ <value name="GL_FOG_END"/>
+
+ <desc name="params" vector_size="1"/>
+ </desc>
+</template>
+
+<template name="FrontFace">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_CW"/>
+ <value name="GL_CCW"/>
+ </desc>
+</template>
+
+<template name="Hint">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="mode" type="GLenum"/>
+ </proto>
+
+ <desc name="target" category="GLES1.1">
+ <value name="GL_FOG_HINT"/>
+ <value name="GL_LINE_SMOOTH_HINT"/>
+ <value name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+ <value name="GL_POINT_SMOOTH_HINT"/>
+ </desc>
+ <desc name="target" category="OES_standard_derivatives">
+ <value name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES"/>
+ </desc>
+ <desc name="target">
+ <value name="GL_GENERATE_MIPMAP_HINT"/>
+ </desc>
+
+ <desc name="mode">
+ <value name="GL_FASTEST"/>
+ <value name="GL_NICEST"/>
+ <value name="GL_DONT_CARE"/>
+ </desc>
+</template>
+
+<template name="Light">
+ <proto>
+ <return type="void"/>
+ <param name="light" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="light">
+ <range base="GL_LIGHT" from="0" to="7"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_AMBIENT"/>
+ <value name="GL_DIFFUSE"/>
+ <value name="GL_SPECULAR"/>
+ <value name="GL_POSITION"/>
+
+ <desc name="params" vector_size="4"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_SPOT_DIRECTION"/>
+
+ <desc name="params" vector_size="3"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_SPOT_EXPONENT"/>
+ <value name="GL_SPOT_CUTOFF"/>
+ <value name="GL_CONSTANT_ATTENUATION"/>
+ <value name="GL_LINEAR_ATTENUATION"/>
+ <value name="GL_QUADRATIC_ATTENUATION"/>
+
+ <desc name="params" vector_size="1"/>
+ </desc>
+</template>
+
+<template name="LightModel">
+ <proto>
+ <return type="void"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_LIGHT_MODEL_AMBIENT"/>
+
+ <desc name="params" vector_size="4"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_LIGHT_MODEL_TWO_SIDE"/>
+ <desc name="param">
+ <value name="GL_TRUE"/>
+ <value name="GL_FALSE"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="LineWidth">
+ <proto>
+ <return type="void"/>
+ <param name="width" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="Material">
+ <proto>
+ <return type="void"/>
+ <param name="face" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="face">
+ <value name="GL_FRONT_AND_BACK"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_AMBIENT"/>
+ <value name="GL_DIFFUSE"/>
+ <value name="GL_AMBIENT_AND_DIFFUSE"/>
+ <value name="GL_SPECULAR"/>
+ <value name="GL_EMISSION"/>
+
+ <desc name="params" vector_size="4"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_SHININESS"/>
+
+ <desc name="params" vector_size="1"/>
+ </desc>
+</template>
+
+<template name="PointSize">
+ <proto>
+ <return type="void"/>
+ <param name="size" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="PointSizePointer">
+ <proto>
+ <return type="void"/>
+ <param name="type" type="GLenum"/>
+ <param name="stride" type="GLsizei"/>
+ <param name="pointer" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="type">
+ <value name="GL_FLOAT"/>
+ <value name="GL_FIXED"/>
+ </desc>
+</template>
+
+<template name="Scissor">
+ <proto>
+ <return type="void"/>
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ </proto>
+</template>
+
+<template name="ShadeModel">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_FLAT"/>
+ <value name="GL_SMOOTH"/>
+ </desc>
+</template>
+
+<template name="TexParameter">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_WRAP_S"/>
+ <value name="GL_TEXTURE_WRAP_T"/>
+ <value name="GL_TEXTURE_WRAP_R_OES" category="OES_texture_3D"/>
+
+ <desc name="param">
+ <value name="GL_CLAMP_TO_EDGE"/>
+ <value name="GL_REPEAT"/>
+ <value name="GL_MIRRORED_REPEAT" category="GLES2.0"/>
+ <value name="GL_MIRRORED_REPEAT_OES" category="OES_texture_mirrored_repeat"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_MIN_FILTER"/>
+
+ <desc name="param">
+ <value name="GL_NEAREST"/>
+ <value name="GL_LINEAR"/>
+ <value name="GL_NEAREST_MIPMAP_NEAREST"/>
+ <value name="GL_NEAREST_MIPMAP_LINEAR"/>
+ <value name="GL_LINEAR_MIPMAP_NEAREST"/>
+ <value name="GL_LINEAR_MIPMAP_LINEAR"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_MAG_FILTER"/>
+
+ <desc name="param">
+ <value name="GL_NEAREST"/>
+ <value name="GL_LINEAR"/>
+ </desc>
+ </desc>
+
+ <desc name="pname" category="GLES1.1">
+ <value name="GL_GENERATE_MIPMAP"/>
+
+ <desc name="param">
+ <value name="GL_TRUE"/>
+ <value name="GL_FALSE"/>
+ </desc>
+ </desc>
+
+ <desc name="pname" category="EXT_texture_filter_anisotropic">
+ <value name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/>
+ <desc name="params" vector_size="1"/>
+ </desc>
+
+ <desc name="pname" category="OES_draw_texture">
+ <value name="GL_TEXTURE_CROP_RECT_OES"/>
+ <desc name="params" vector_size="4"/>
+ </desc>
+</template>
+
+<template name="TexImage2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="internalFormat" type="GLint"/> <!-- should be GLenum -->
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="border" type="GLint"/>
+ <param name="format" type="GLenum"/>
+ <param name="type" type="GLenum"/>
+ <param name="pixels" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
+ </desc>
+
+ <desc name="internalFormat" error="GL_INVALID_VALUE">
+ <value name="GL_ALPHA"/>
+ <value name="GL_RGB"/>
+ <value name="GL_RGBA"/>
+ <value name="GL_BGRA_EXT"/>
+ <value name="GL_LUMINANCE"/>
+ <value name="GL_LUMINANCE_ALPHA"/>
+ <value name="GL_DEPTH_COMPONENT" category="OES_depth_texture"/>
+ <value name="GL_DEPTH_STENCIL_OES" category="OES_packed_depth_stencil"/>
+ </desc>
+
+ <desc name="border" error="GL_INVALID_VALUE">
+ <value name="0"/>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGB"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGBA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format" category="OES_depth_texture">
+ <value name="GL_DEPTH_COMPONENT"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_SHORT"/>
+ <value name="GL_UNSIGNED_INT"/>
+ </desc>
+ </desc>
+
+ <desc name="format" category="OES_packed_depth_stencil">
+ <value name="GL_DEPTH_STENCIL_OES"/>
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_INT_24_8_OES"/>
+ </desc>
+ </desc>
+
+ <desc name="format" category="EXT_texture_format_BGRA8888">
+ <value name="GL_BGRA_EXT"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="TexEnv">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="target" category="OES_point_sprite">
+ <value name="GL_POINT_SPRITE_OES"/>
+
+ <desc name="pname">
+ <value name="GL_COORD_REPLACE_OES"/>
+ </desc>
+ </desc>
+
+ <desc name="pname" category="OES_point_sprite">
+ <value name="GL_COORD_REPLACE_OES"/>
+
+ <desc name="param">
+ <value name="GL_TRUE"/>
+ <value name="GL_FALSE"/>
+ </desc>
+ </desc>
+
+ <desc name="target" category="EXT_texture_lod_bias">
+ <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
+ </desc>
+ </desc>
+
+ <desc name="pname" category="EXT_texture_lod_bias">
+ <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
+ <desc name="params" vector_size="1"/>
+ </desc>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_ENV"/>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_ENV_MODE"/>
+ <value name="GL_COMBINE_RGB"/>
+ <value name="GL_COMBINE_ALPHA"/>
+ <value name="GL_RGB_SCALE"/>
+ <value name="GL_ALPHA_SCALE"/>
+ <value name="GL_SRC0_RGB"/>
+ <value name="GL_SRC1_RGB"/>
+ <value name="GL_SRC2_RGB"/>
+ <value name="GL_SRC0_ALPHA"/>
+ <value name="GL_SRC1_ALPHA"/>
+ <value name="GL_SRC2_ALPHA"/>
+ <value name="GL_OPERAND0_RGB"/>
+ <value name="GL_OPERAND1_RGB"/>
+ <value name="GL_OPERAND2_RGB"/>
+ <value name="GL_OPERAND0_ALPHA"/>
+ <value name="GL_OPERAND1_ALPHA"/>
+ <value name="GL_OPERAND2_ALPHA"/>
+ <value name="GL_TEXTURE_ENV_COLOR"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_ENV_MODE"/>
+
+ <desc name="param">
+ <value name="GL_REPLACE"/>
+ <value name="GL_MODULATE"/>
+ <value name="GL_DECAL"/>
+ <value name="GL_BLEND"/>
+ <value name="GL_ADD"/>
+ <value name="GL_COMBINE"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_COMBINE_RGB"/>
+
+ <desc name="param">
+ <value name="GL_REPLACE"/>
+ <value name="GL_MODULATE"/>
+ <value name="GL_ADD"/>
+ <value name="GL_ADD_SIGNED"/>
+ <value name="GL_INTERPOLATE"/>
+ <value name="GL_SUBTRACT"/>
+ <value name="GL_DOT3_RGB"/>
+ <value name="GL_DOT3_RGBA"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_COMBINE_ALPHA"/>
+
+ <desc name="param">
+ <value name="GL_REPLACE"/>
+ <value name="GL_MODULATE"/>
+ <value name="GL_ADD"/>
+ <value name="GL_ADD_SIGNED"/>
+ <value name="GL_INTERPOLATE"/>
+ <value name="GL_SUBTRACT"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_RGB_SCALE"/>
+ <value name="GL_ALPHA_SCALE"/>
+
+ <desc name="param" convert="true" error="GL_INVALID_VALUE">
+ <value name="1.0"/>
+ <value name="2.0"/>
+ <value name="4.0"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_SRC0_RGB"/>
+ <value name="GL_SRC1_RGB"/>
+ <value name="GL_SRC2_RGB"/>
+ <value name="GL_SRC0_ALPHA"/>
+ <value name="GL_SRC1_ALPHA"/>
+ <value name="GL_SRC2_ALPHA"/>
+
+ <desc name="param">
+ <value name="GL_TEXTURE"/>
+ <value name="GL_CONSTANT"/>
+ <value name="GL_PRIMARY_COLOR"/>
+ <value name="GL_PREVIOUS"/>
+
+ <range base="GL_TEXTURE" from="0" to="31" category="OES_texture_env_crossbar"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_OPERAND0_RGB"/>
+ <value name="GL_OPERAND1_RGB"/>
+ <value name="GL_OPERAND2_RGB"/>
+
+ <desc name="param">
+ <value name="GL_SRC_COLOR"/>
+ <value name="GL_ONE_MINUS_SRC_COLOR"/>
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_OPERAND0_ALPHA"/>
+ <value name="GL_OPERAND1_ALPHA"/>
+ <value name="GL_OPERAND2_ALPHA"/>
+
+ <desc name="param">
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_ENV_COLOR"/>
+
+ <desc name="params" vector_size="4"/>
+ </desc>
+</template>
+
+<template name="TexGen">
+ <proto>
+ <return type="void"/>
+ <param name="coord" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="coord" category="OES_texture_cube_map">
+ <value name="GL_TEXTURE_GEN_STR_OES"/>
+ </desc>
+
+ <desc name="pname" category="OES_texture_cube_map">
+ <value name="GL_TEXTURE_GEN_MODE_OES"/>
+
+ <desc name="param">
+ <value name="GL_NORMAL_MAP_OES"/>
+ <value name="GL_REFLECTION_MAP_OES"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="Clear">
+ <proto>
+ <return type="void"/>
+ <param name="mask" type="GLbitfield"/>
+ </proto>
+
+ <desc name="mask" error="GL_INVALID_VALUE">
+ <value name="0"/>
+ <value name="(GL_COLOR_BUFFER_BIT)"/>
+ <value name="(GL_DEPTH_BUFFER_BIT)"/>
+ <value name="(GL_STENCIL_BUFFER_BIT)"/>
+ <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)"/>
+ <value name="(GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/>
+ <value name="(GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/>
+ <value name="(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)"/>
+ </desc>
+</template>
+
+<template name="ClearColor">
+ <proto>
+ <return type="void"/>
+ <param name="red" type="GLtype"/>
+ <param name="green" type="GLtype"/>
+ <param name="blue" type="GLtype"/>
+ <param name="alpha" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="ClearStencil">
+ <proto>
+ <return type="void"/>
+ <param name="s" type="GLint"/>
+ </proto>
+</template>
+
+<template name="ClearDepth">
+ <proto>
+ <return type="void"/>
+ <param name="depth" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="StencilMask">
+ <proto>
+ <return type="void"/>
+ <param name="mask" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="StencilMaskSeparate">
+ <proto>
+ <return type="void"/>
+ <param name="face" type="GLenum"/>
+ <param name="mask" type="GLuint"/>
+ </proto>
+
+ <desc name="face">
+ <value name="GL_FRONT"/>
+ <value name="GL_BACK"/>
+ <value name="GL_FRONT_AND_BACK"/>
+ </desc>
+</template>
+
+<template name="ColorMask">
+ <proto>
+ <return type="void"/>
+ <param name="red" type="GLboolean"/>
+ <param name="green" type="GLboolean"/>
+ <param name="blue" type="GLboolean"/>
+ <param name="alpha" type="GLboolean"/>
+ </proto>
+</template>
+
+<template name="DepthMask">
+ <proto>
+ <return type="void"/>
+ <param name="flag" type="GLboolean"/>
+ </proto>
+</template>
+
+<template name="Disable">
+ <proto>
+ <return type="void"/>
+ <param name="cap" type="GLenum"/>
+ </proto>
+
+ <desc name="cap" category="GLES1.1">
+ <value name="GL_NORMALIZE"/>
+ <value name="GL_RESCALE_NORMAL"/>
+
+ <range base="GL_CLIP_PLANE" from="0" to="5"/>
+
+ <value name="GL_FOG"/>
+ <value name="GL_LIGHTING"/>
+ <value name="GL_COLOR_MATERIAL"/>
+
+ <range base="GL_LIGHT" from="0" to="7"/>
+
+ <value name="GL_POINT_SMOOTH"/>
+ <value name="GL_LINE_SMOOTH"/>
+ <value name="GL_CULL_FACE"/>
+ <value name="GL_POLYGON_OFFSET_FILL"/>
+ <value name="GL_MULTISAMPLE"/>
+ <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <value name="GL_SAMPLE_ALPHA_TO_ONE"/>
+ <value name="GL_SAMPLE_COVERAGE"/>
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_SCISSOR_TEST"/>
+ <value name="GL_ALPHA_TEST"/>
+ <value name="GL_STENCIL_TEST"/>
+ <value name="GL_DEPTH_TEST"/>
+ <value name="GL_BLEND"/>
+ <value name="GL_DITHER"/>
+ <value name="GL_COLOR_LOGIC_OP"/>
+
+ <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
+ <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
+ <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
+ </desc>
+
+ <desc name="cap" category="GLES2.0">
+ <value name="GL_CULL_FACE"/>
+ <value name="GL_SCISSOR_TEST"/>
+ <value name="GL_POLYGON_OFFSET_FILL"/>
+ <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <value name="GL_SAMPLE_COVERAGE"/>
+ <value name="GL_STENCIL_TEST"/>
+ <value name="GL_DEPTH_TEST"/>
+ <value name="GL_DITHER"/>
+ <value name="GL_BLEND"/>
+ </desc>
+</template>
+
+<!-- it is exactly the same as Disable -->
+<template name="Enable">
+ <proto>
+ <return type="void"/>
+ <param name="cap" type="GLenum"/>
+ </proto>
+
+ <desc name="cap" category="GLES1.1">
+ <value name="GL_NORMALIZE"/>
+ <value name="GL_RESCALE_NORMAL"/>
+
+ <range base="GL_CLIP_PLANE" from="0" to="5"/>
+
+ <value name="GL_FOG"/>
+ <value name="GL_LIGHTING"/>
+ <value name="GL_COLOR_MATERIAL"/>
+
+ <range base="GL_LIGHT" from="0" to="7"/>
+
+ <value name="GL_POINT_SMOOTH"/>
+ <value name="GL_LINE_SMOOTH"/>
+ <value name="GL_CULL_FACE"/>
+ <value name="GL_POLYGON_OFFSET_FILL"/>
+ <value name="GL_MULTISAMPLE"/>
+ <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <value name="GL_SAMPLE_ALPHA_TO_ONE"/>
+ <value name="GL_SAMPLE_COVERAGE"/>
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_SCISSOR_TEST"/>
+ <value name="GL_ALPHA_TEST"/>
+ <value name="GL_STENCIL_TEST"/>
+ <value name="GL_DEPTH_TEST"/>
+ <value name="GL_BLEND"/>
+ <value name="GL_DITHER"/>
+ <value name="GL_COLOR_LOGIC_OP"/>
+
+ <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
+ <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
+ <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
+ </desc>
+
+ <desc name="cap" category="GLES2.0">
+ <value name="GL_CULL_FACE"/>
+ <value name="GL_SCISSOR_TEST"/>
+ <value name="GL_POLYGON_OFFSET_FILL"/>
+ <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <value name="GL_SAMPLE_COVERAGE"/>
+ <value name="GL_STENCIL_TEST"/>
+ <value name="GL_DEPTH_TEST"/>
+ <value name="GL_DITHER"/>
+ <value name="GL_BLEND"/>
+ </desc>
+</template>
+
+<template name="Finish">
+ <proto>
+ <return type="void"/>
+ </proto>
+</template>
+
+<template name="Flush">
+ <proto>
+ <return type="void"/>
+ </proto>
+</template>
+
+<template name="AlphaFunc">
+ <proto>
+ <return type="void"/>
+ <param name="func" type="GLenum"/>
+ <param name="ref" type="GLtype"/>
+ </proto>
+ <desc name="func">
+ <value name="GL_NEVER"/>
+ <value name="GL_LESS"/>
+ <value name="GL_EQUAL"/>
+ <value name="GL_LEQUAL"/>
+ <value name="GL_GREATER"/>
+ <value name="GL_NOTEQUAL"/>
+ <value name="GL_GEQUAL"/>
+ <value name="GL_ALWAYS"/>
+ </desc>
+</template>
+
+<template name="BlendFunc">
+ <proto>
+ <return type="void"/>
+ <param name="sfactor" type="GLenum"/>
+ <param name="dfactor" type="GLenum"/>
+ </proto>
+
+ <desc name="sfactor">
+ <value name="GL_ZERO"/>
+ <value name="GL_ONE"/>
+ <value name="GL_SRC_COLOR"/>
+ <value name="GL_ONE_MINUS_SRC_COLOR"/>
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <value name="GL_DST_ALPHA"/>
+ <value name="GL_ONE_MINUS_DST_ALPHA"/>
+ <value name="GL_DST_COLOR"/>
+ <value name="GL_ONE_MINUS_DST_COLOR"/>
+ <value name="GL_SRC_ALPHA_SATURATE"/>
+
+ <value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
+ </desc>
+
+ <desc name="dfactor">
+ <value name="GL_ZERO"/>
+ <value name="GL_ONE"/>
+ <value name="GL_SRC_COLOR"/>
+ <value name="GL_ONE_MINUS_SRC_COLOR"/>
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <value name="GL_DST_ALPHA"/>
+ <value name="GL_ONE_MINUS_DST_ALPHA"/>
+ <value name="GL_DST_COLOR"/>
+ <value name="GL_ONE_MINUS_DST_COLOR"/>
+
+ <value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="LogicOp">
+ <proto>
+ <return type="void"/>
+ <param name="opcode" type="GLenum"/>
+ </proto>
+
+ <desc name="opcode">
+ <value name="GL_CLEAR"/>
+ <value name="GL_SET"/>
+ <value name="GL_COPY"/>
+ <value name="GL_COPY_INVERTED"/>
+ <value name="GL_NOOP"/>
+ <value name="GL_INVERT"/>
+ <value name="GL_AND"/>
+ <value name="GL_NAND"/>
+ <value name="GL_OR"/>
+ <value name="GL_NOR"/>
+ <value name="GL_XOR"/>
+ <value name="GL_EQUIV"/>
+ <value name="GL_AND_REVERSE"/>
+ <value name="GL_AND_INVERTED"/>
+ <value name="GL_OR_REVERSE"/>
+ <value name="GL_OR_INVERTED"/>
+ </desc>
+</template>
+
+<template name="StencilFunc">
+ <proto>
+ <return type="void"/>
+ <param name="func" type="GLenum"/>
+ <param name="ref" type="GLint"/>
+ <param name="mask" type="GLuint"/>
+ </proto>
+
+ <desc name="func">
+ <value name="GL_NEVER"/>
+ <value name="GL_LESS"/>
+ <value name="GL_LEQUAL"/>
+ <value name="GL_GREATER"/>
+ <value name="GL_GEQUAL"/>
+ <value name="GL_EQUAL"/>
+ <value name="GL_NOTEQUAL"/>
+ <value name="GL_ALWAYS"/>
+ </desc>
+</template>
+
+<template name="StencilFuncSeparate">
+ <proto>
+ <return type="void"/>
+ <param name="face" type="GLenum"/>
+ <param name="func" type="GLenum"/>
+ <param name="ref" type="GLint"/>
+ <param name="mask" type="GLuint"/>
+ </proto>
+
+ <desc name="face">
+ <value name="GL_FRONT"/>
+ <value name="GL_BACK"/>
+ <value name="GL_FRONT_AND_BACK"/>
+ </desc>
+
+ <desc name="func">
+ <value name="GL_NEVER"/>
+ <value name="GL_LESS"/>
+ <value name="GL_LEQUAL"/>
+ <value name="GL_GREATER"/>
+ <value name="GL_GEQUAL"/>
+ <value name="GL_EQUAL"/>
+ <value name="GL_NOTEQUAL"/>
+ <value name="GL_ALWAYS"/>
+ </desc>
+</template>
+
+<template name="StencilOp">
+ <proto>
+ <return type="void"/>
+ <param name="fail" type="GLenum"/>
+ <param name="zfail" type="GLenum"/>
+ <param name="zpass" type="GLenum"/>
+ </proto>
+
+ <desc name="fail">
+ <value name="GL_KEEP"/>
+ <value name="GL_ZERO"/>
+ <value name="GL_REPLACE"/>
+ <value name="GL_INCR"/>
+ <value name="GL_DECR"/>
+ <value name="GL_INVERT"/>
+ <value name="GL_INCR_WRAP" category="GLES2.0"/>
+ <value name="GL_DECR_WRAP" category="GLES2.0"/>
+ <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/>
+ <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/>
+ </desc>
+
+ <desc name="zfail">
+ <value name="GL_KEEP"/>
+ <value name="GL_ZERO"/>
+ <value name="GL_REPLACE"/>
+ <value name="GL_INCR"/>
+ <value name="GL_DECR"/>
+ <value name="GL_INVERT"/>
+ <value name="GL_INCR_WRAP" category="GLES2.0"/>
+ <value name="GL_DECR_WRAP" category="GLES2.0"/>
+ <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/>
+ <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/>
+ </desc>
+
+ <desc name="zpass">
+ <value name="GL_KEEP"/>
+ <value name="GL_ZERO"/>
+ <value name="GL_REPLACE"/>
+ <value name="GL_INCR"/>
+ <value name="GL_DECR"/>
+ <value name="GL_INVERT"/>
+ <value name="GL_INCR_WRAP" category="GLES2.0"/>
+ <value name="GL_DECR_WRAP" category="GLES2.0"/>
+ <value name="GL_INCR_WRAP_OES" category="OES_stencil_wrap"/>
+ <value name="GL_DECR_WRAP_OES" category="OES_stencil_wrap"/>
+ </desc>
+</template>
+
+<template name="StencilOpSeparate">
+ <proto>
+ <return type="void"/>
+ <param name="face" type="GLenum"/>
+ <param name="fail" type="GLenum"/>
+ <param name="zfail" type="GLenum"/>
+ <param name="zpass" type="GLenum"/>
+ </proto>
+
+ <desc name="face">
+ <value name="GL_FRONT"/>
+ <value name="GL_BACK"/>
+ <value name="GL_FRONT_AND_BACK"/>
+ </desc>
+
+ <desc name="fail">
+ <value name="GL_KEEP"/>
+ <value name="GL_ZERO"/>
+ <value name="GL_REPLACE"/>
+ <value name="GL_INCR"/>
+ <value name="GL_DECR"/>
+ <value name="GL_INVERT"/>
+ <value name="GL_INCR_WRAP"/>
+ <value name="GL_DECR_WRAP"/>
+ </desc>
+
+ <desc name="zfail">
+ <value name="GL_KEEP"/>
+ <value name="GL_ZERO"/>
+ <value name="GL_REPLACE"/>
+ <value name="GL_INCR"/>
+ <value name="GL_DECR"/>
+ <value name="GL_INVERT"/>
+ <value name="GL_INCR_WRAP"/>
+ <value name="GL_DECR_WRAP"/>
+ </desc>
+
+ <desc name="zpass">
+ <value name="GL_KEEP"/>
+ <value name="GL_ZERO"/>
+ <value name="GL_REPLACE"/>
+ <value name="GL_INCR"/>
+ <value name="GL_DECR"/>
+ <value name="GL_INVERT"/>
+ <value name="GL_INCR_WRAP"/>
+ <value name="GL_DECR_WRAP"/>
+ </desc>
+</template>
+
+<template name="DepthFunc">
+ <proto>
+ <return type="void"/>
+ <param name="func" type="GLenum"/>
+ </proto>
+
+ <desc name="func">
+ <value name="GL_NEVER"/>
+ <value name="GL_LESS"/>
+ <value name="GL_EQUAL"/>
+ <value name="GL_LEQUAL"/>
+ <value name="GL_GREATER"/>
+ <value name="GL_NOTEQUAL"/>
+ <value name="GL_GEQUAL"/>
+ <value name="GL_ALWAYS"/>
+ </desc>
+</template>
+
+<template name="PixelStore">
+ <proto>
+ <return type="void"/>
+ <param name="pname" type="GLenum"/>
+ <param name="param" type="GLtype"/>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_PACK_ALIGNMENT"/>
+ <value name="GL_UNPACK_ALIGNMENT"/>
+ </desc>
+
+ <desc name="param" error="GL_INVALID_VALUE">
+ <value name="1"/>
+ <value name="2"/>
+ <value name="4"/>
+ <value name="8"/>
+ </desc>
+</template>
+
+<template name="ReadPixels" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="format" type="GLenum"/>
+ <param name="type" type="GLenum"/>
+ <param name="pixels" type="GLvoid *"/>
+ </proto>
+
+ <!-- Technically, only two combinations are actually allowed:
+ GL_RGBA/GL_UNSIGNED_BYTE, and some implementation-specific
+ internal preferred combination. I don't know what that is, so I'm
+ allowing any valid combination for now; the underlying support
+ should fail when necessary.-->
+ <desc name="format">
+ <value name="GL_ALPHA"/>
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGB"/>
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_5_6_5"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGBA"/>
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE"/>
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE_ALPHA"/>
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ </desc>
+ </desc>
+
+ <desc name="format" category="EXT_read_format_bgra">
+ <value name="GL_BGRA_EXT"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"/>
+ <value name="GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="GetClipPlane" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="plane" type="GLenum"/>
+ <vector name="equation" type="GLtype *" size="4"/>
+ </proto>
+
+ <desc name="plane">
+ <range base="GL_CLIP_PLANE" from="0" to="5"/>
+ </desc>
+</template>
+
+<template name="GetError" direction="get">
+ <proto>
+ <return type="GLenum"/>
+ </proto>
+</template>
+
+<!-- template for GetFloatv, GetIntegerv, GetBoolean, and GetFixedv -->
+<template name="GetState" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+ <!-- param checking is done in mesa -->
+</template>
+
+<template name="GetLight" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="light" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="light">
+ <range base="GL_LIGHT" from="0" to="7"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_AMBIENT"/>
+ <value name="GL_DIFFUSE"/>
+ <value name="GL_SPECULAR"/>
+ <value name="GL_POSITION"/>
+
+ <desc name="params" vector_size="4"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_SPOT_DIRECTION"/>
+
+ <desc name="params" vector_size="3"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_SPOT_EXPONENT"/>
+ <value name="GL_SPOT_CUTOFF"/>
+ <value name="GL_CONSTANT_ATTENUATION"/>
+ <value name="GL_LINEAR_ATTENUATION"/>
+ <value name="GL_QUADRATIC_ATTENUATION"/>
+
+ <desc name="params" vector_size="1"/>
+ </desc>
+</template>
+
+<template name="GetMaterial" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="face" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="face">
+ <value name="GL_FRONT"/>
+ <value name="GL_BACK"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_SHININESS"/>
+ <desc name="params" vector_size="1"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_AMBIENT"/>
+ <value name="GL_DIFFUSE"/>
+ <value name="GL_AMBIENT_AND_DIFFUSE"/>
+ <value name="GL_SPECULAR"/>
+ <value name="GL_EMISSION"/>
+
+ <desc name="params" vector_size="4"/>
+ </desc>
+</template>
+
+<template name="GetString" direction="get">
+ <proto>
+ <return type="const GLubyte *"/>
+ <param name="name" type="GLenum"/>
+ </proto>
+
+ <desc name="name">
+ <value name="GL_VENDOR"/>
+ <value name="GL_RENDERER"/>
+ <value name="GL_VERSION"/>
+ <value name="GL_EXTENSIONS"/>
+ <value name="GL_SHADING_LANGUAGE_VERSION" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="GetTexEnv" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="target" category="OES_point_sprite">
+ <value name="GL_POINT_SPRITE_OES"/>
+ <desc name="pname">
+ <value name="GL_COORD_REPLACE_OES"/>
+ </desc>
+ </desc>
+
+ <desc name="pname" category="OES_point_sprite">
+ <value name="GL_COORD_REPLACE_OES"/>
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+
+ <desc name="target" category="EXT_texture_lod_bias">
+ <value name="GL_TEXTURE_FILTER_CONTROL_EXT"/>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
+ </desc>
+ </desc>
+
+ <desc name="pname" category="EXT_texture_lod_bias">
+ <value name="GL_TEXTURE_LOD_BIAS_EXT"/>
+ <desc name="params" vector_size="1"/>
+ </desc>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_ENV"/>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_ENV_COLOR"/>
+ <value name="GL_RGB_SCALE"/>
+ <value name="GL_ALPHA_SCALE"/>
+ <value name="GL_TEXTURE_ENV_MODE"/>
+ <value name="GL_COMBINE_RGB"/>
+ <value name="GL_COMBINE_ALPHA"/>
+ <value name="GL_SRC0_RGB"/>
+ <value name="GL_SRC1_RGB"/>
+ <value name="GL_SRC2_RGB"/>
+ <value name="GL_SRC0_ALPHA"/>
+ <value name="GL_SRC1_ALPHA"/>
+ <value name="GL_SRC2_ALPHA"/>
+ <value name="GL_OPERAND0_RGB"/>
+ <value name="GL_OPERAND1_RGB"/>
+ <value name="GL_OPERAND2_RGB"/>
+ <value name="GL_OPERAND0_ALPHA"/>
+ <value name="GL_OPERAND1_ALPHA"/>
+ <value name="GL_OPERAND2_ALPHA"/>
+ </desc>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_ENV_COLOR"/>
+ <desc name="params" vector_size="4"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_RGB_SCALE"/>
+ <value name="GL_ALPHA_SCALE"/>
+
+ <desc name="params" vector_size="1"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_ENV_MODE"/>
+ <value name="GL_COMBINE_RGB"/>
+ <value name="GL_COMBINE_ALPHA"/>
+ <value name="GL_SRC0_RGB"/>
+ <value name="GL_SRC1_RGB"/>
+ <value name="GL_SRC2_RGB"/>
+ <value name="GL_SRC0_ALPHA"/>
+ <value name="GL_SRC1_ALPHA"/>
+ <value name="GL_SRC2_ALPHA"/>
+ <value name="GL_OPERAND0_RGB"/>
+ <value name="GL_OPERAND1_RGB"/>
+ <value name="GL_OPERAND2_RGB"/>
+ <value name="GL_OPERAND0_ALPHA"/>
+ <value name="GL_OPERAND1_ALPHA"/>
+ <value name="GL_OPERAND2_ALPHA"/>
+
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+</template>
+
+<template name="GetTexGen" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="coord" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="coord">
+ <value name="GL_TEXTURE_GEN_STR_OES"/>
+ </desc>
+ <desc name="pname">
+ <value name="GL_TEXTURE_GEN_MODE_OES"/>
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+</template>
+
+<template name="GetTexParameter" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_TEXTURE_WRAP_S"/>
+ <value name="GL_TEXTURE_WRAP_T"/>
+ <value name="GL_TEXTURE_WRAP_R_OES" category="OES_texture_3D"/>
+ <value name="GL_TEXTURE_MIN_FILTER"/>
+ <value name="GL_TEXTURE_MAG_FILTER"/>
+ <value name="GL_GENERATE_MIPMAP" category="GLES1.1"/>
+
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+
+ <desc name="pname" category="OES_draw_texture">
+ <value name="GL_TEXTURE_CROP_RECT_OES"/>
+ <desc name="params" vector_size="4"/>
+ </desc>
+</template>
+
+<template name="IsEnabled" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="cap" type="GLenum"/>
+ </proto>
+
+ <desc name="cap" category="GLES1.1">
+ <value name="GL_NORMALIZE"/>
+ <value name="GL_RESCALE_NORMAL"/>
+
+ <range base="GL_CLIP_PLANE" from="0" to="5"/>
+
+ <value name="GL_FOG"/>
+ <value name="GL_LIGHTING"/>
+ <value name="GL_COLOR_MATERIAL"/>
+
+ <range base="GL_LIGHT" from="0" to="7"/>
+
+ <value name="GL_POINT_SMOOTH"/>
+ <value name="GL_LINE_SMOOTH"/>
+ <value name="GL_CULL_FACE"/>
+ <value name="GL_POLYGON_OFFSET_FILL"/>
+ <value name="GL_MULTISAMPLE"/>
+ <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <value name="GL_SAMPLE_ALPHA_TO_ONE"/>
+ <value name="GL_SAMPLE_COVERAGE"/>
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_SCISSOR_TEST"/>
+ <value name="GL_ALPHA_TEST"/>
+ <value name="GL_STENCIL_TEST"/>
+ <value name="GL_DEPTH_TEST"/>
+ <value name="GL_BLEND"/>
+ <value name="GL_DITHER"/>
+ <value name="GL_COLOR_LOGIC_OP"/>
+
+ <value name="GL_POINT_SPRITE_OES" category="OES_point_sprite"/>
+ <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/>
+
+ <value name="GL_VERTEX_ARRAY"/>
+ <value name="GL_NORMAL_ARRAY"/>
+ <value name="GL_COLOR_ARRAY"/>
+ <value name="GL_TEXTURE_COORD_ARRAY"/>
+ <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
+ <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
+ <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
+ </desc>
+
+ <desc name="cap" category="GLES2.0">
+ <value name="GL_CULL_FACE"/>
+ <value name="GL_SCISSOR_TEST"/>
+ <value name="GL_POLYGON_OFFSET_FILL"/>
+ <value name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+ <value name="GL_SAMPLE_COVERAGE"/>
+ <value name="GL_STENCIL_TEST"/>
+ <value name="GL_DEPTH_TEST"/>
+ <value name="GL_DITHER"/>
+ <value name="GL_BLEND"/>
+ </desc>
+</template>
+
+<template name="DepthRange">
+ <proto>
+ <return type="void"/>
+ <param name="zNear" type="GLtype"/>
+ <param name="zFar" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="Frustum">
+ <proto>
+ <return type="void"/>
+ <param name="left" type="GLtype"/>
+ <param name="right" type="GLtype"/>
+ <param name="bottom" type="GLtype"/>
+ <param name="top" type="GLtype"/>
+ <param name="zNear" type="GLtype"/>
+ <param name="zFar" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="LoadIdentity">
+ <proto>
+ <return type="void"/>
+ </proto>
+</template>
+
+<template name="LoadMatrix">
+ <proto>
+ <return type="void"/>
+ <vector name="m" type="const GLtype *" size="16"/>
+ </proto>
+</template>
+
+<template name="MatrixMode">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_MODELVIEW"/>
+ <value name="GL_PROJECTION"/>
+ <value name="GL_TEXTURE"/>
+ <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/>
+ </desc>
+</template>
+
+<template name="MultMatrix">
+ <proto>
+ <return type="void"/>
+ <vector name="m" type="const GLtype *" size="16"/>
+ </proto>
+</template>
+
+<template name="Ortho">
+ <proto>
+ <return type="void"/>
+ <param name="left" type="GLtype"/>
+ <param name="right" type="GLtype"/>
+ <param name="bottom" type="GLtype"/>
+ <param name="top" type="GLtype"/>
+ <param name="zNear" type="GLtype"/>
+ <param name="zFar" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="PopMatrix">
+ <proto>
+ <return type="void"/>
+ </proto>
+</template>
+
+<template name="PushMatrix">
+ <proto>
+ <return type="void"/>
+ </proto>
+</template>
+
+<template name="Rotate">
+ <proto>
+ <return type="void"/>
+ <param name="angle" type="GLtype"/>
+ <param name="x" type="GLtype"/>
+ <param name="y" type="GLtype"/>
+ <param name="z" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="Scale">
+ <proto>
+ <return type="void"/>
+ <param name="x" type="GLtype"/>
+ <param name="y" type="GLtype"/>
+ <param name="z" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="Translate">
+ <proto>
+ <return type="void"/>
+ <param name="x" type="GLtype"/>
+ <param name="y" type="GLtype"/>
+ <param name="z" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="Viewport">
+ <proto>
+ <return type="void"/>
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ </proto>
+</template>
+
+<template name="ColorPointer">
+ <proto>
+ <return type="void"/>
+ <param name="size" type="GLint"/>
+ <param name="type" type="GLenum"/>
+ <param name="stride" type="GLsizei"/>
+ <param name="pointer" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="size" error="GL_INVALID_VALUE">
+ <value name="4"/>
+ </desc>
+
+ <desc name="type">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT"/>
+ <value name="GL_FIXED"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
+ </desc>
+</template>
+
+<template name="DisableClientState">
+ <proto>
+ <return type="void"/>
+ <param name="array" type="GLenum"/>
+ </proto>
+
+ <desc name="array">
+ <value name="GL_VERTEX_ARRAY"/>
+ <value name="GL_NORMAL_ARRAY"/>
+ <value name="GL_COLOR_ARRAY"/>
+ <value name="GL_TEXTURE_COORD_ARRAY"/>
+ <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
+ <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
+ <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
+ </desc>
+</template>
+
+<template name="DrawArrays">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ <param name="first" type="GLint"/>
+ <param name="count" type="GLsizei"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_POINTS"/>
+ <value name="GL_LINES"/>
+ <value name="GL_LINE_LOOP"/>
+ <value name="GL_LINE_STRIP"/>
+ <value name="GL_TRIANGLES"/>
+ <value name="GL_TRIANGLE_STRIP"/>
+ <value name="GL_TRIANGLE_FAN"/>
+ </desc>
+</template>
+
+<template name="DrawElements">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ <param name="count" type="GLsizei"/>
+ <param name="type" type="GLenum"/>
+ <param name="indices" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_POINTS"/>
+ <value name="GL_LINES"/>
+ <value name="GL_LINE_LOOP"/>
+ <value name="GL_LINE_STRIP"/>
+ <value name="GL_TRIANGLES"/>
+ <value name="GL_TRIANGLE_STRIP"/>
+ <value name="GL_TRIANGLE_FAN"/>
+ </desc>
+
+ <desc name="type">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT"/>
+ <value name="GL_UNSIGNED_INT" category="OES_element_index_uint"/>
+ </desc>
+</template>
+
+<template name="EnableClientState">
+ <proto>
+ <return type="void"/>
+ <param name="array" type="GLenum"/>
+ </proto>
+
+ <desc name="array">
+ <value name="GL_VERTEX_ARRAY"/>
+ <value name="GL_NORMAL_ARRAY"/>
+ <value name="GL_COLOR_ARRAY"/>
+ <value name="GL_TEXTURE_COORD_ARRAY"/>
+ <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/>
+ <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/>
+ <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/>
+ </desc>
+</template>
+
+<template name="GetPointer" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLvoid **" size="dynamic"/>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_VERTEX_ARRAY_POINTER"/>
+ <value name="GL_NORMAL_ARRAY_POINTER"/>
+ <value name="GL_COLOR_ARRAY_POINTER"/>
+ <value name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+ <value name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
+ <value name="GL_WEIGHT_ARRAY_POINTER_OES" category="OES_matrix_palette"/>
+ <value name="GL_POINT_SIZE_ARRAY_POINTER_OES" category="OES_point_size_array"/>
+ </desc>
+</template>
+
+<template name="Normal">
+ <proto>
+ <return type="void"/>
+ <vector name="v" type="const GLtype *" size="3">
+ <param name="nx" type="GLtype"/>
+ <param name="ny" type="GLtype"/>
+ <param name="nz" type="GLtype"/>
+ </vector>
+ </proto>
+</template>
+
+<template name="NormalPointer">
+ <proto>
+ <return type="void"/>
+ <param name="type" type="GLenum"/>
+ <param name="stride" type="GLsizei"/>
+ <param name="pointer" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="type">
+ <value name="GL_BYTE"/>
+ <value name="GL_SHORT"/>
+ <value name="GL_FLOAT"/>
+ <value name="GL_FIXED"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
+ </desc>
+</template>
+
+<template name="TexCoordPointer">
+ <proto>
+ <return type="void"/>
+ <param name="size" type="GLint"/>
+ <param name="type" type="GLenum"/>
+ <param name="stride" type="GLsizei"/>
+ <param name="pointer" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="size" error="GL_INVALID_VALUE">
+ <value name="2"/>
+ <value name="3"/>
+ <value name="4"/>
+ </desc>
+
+ <desc name="type">
+ <value name="GL_BYTE"/>
+ <value name="GL_SHORT"/>
+ <value name="GL_FLOAT"/>
+ <value name="GL_FIXED"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
+ </desc>
+</template>
+
+<template name="VertexPointer">
+ <proto>
+ <return type="void"/>
+ <param name="size" type="GLint"/>
+ <param name="type" type="GLenum"/>
+ <param name="stride" type="GLsizei"/>
+ <param name="pointer" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="size" error="GL_INVALID_VALUE">
+ <value name="2"/>
+ <value name="3"/>
+ <value name="4"/>
+ </desc>
+
+ <desc name="type">
+ <value name="GL_BYTE"/>
+ <value name="GL_SHORT"/>
+ <value name="GL_FLOAT"/>
+ <value name="GL_FIXED"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
+ </desc>
+</template>
+
+<template name="PolygonOffset">
+ <proto>
+ <return type="void"/>
+ <param name="factor" type="GLtype"/>
+ <param name="units" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="CopyTexImage2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="internalFormat" type="GLenum"/>
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="border" type="GLint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
+ </desc>
+
+ <desc name="internalFormat" error="GL_INVALID_VALUE">
+ <value name="GL_ALPHA"/>
+ <value name="GL_RGB"/>
+ <value name="GL_RGBA"/>
+ <value name="GL_LUMINANCE"/>
+ <value name="GL_LUMINANCE_ALPHA"/>
+ </desc>
+
+ <desc name="border" error="GL_INVALID_VALUE">
+ <value name="0"/>
+ </desc>
+</template>
+
+<template name="CopyTexSubImage2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
+ </desc>
+</template>
+
+<template name="TexSubImage2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="format" type="GLenum"/>
+ <param name="type" type="GLenum"/>
+ <param name="pixels" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGB"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGBA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format" category="OES_depth_texture">
+ <value name="GL_DEPTH_COMPONENT"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_SHORT"/>
+ <value name="GL_UNSIGNED_INT"/>
+ </desc>
+ </desc>
+
+ <desc name="format" category="OES_packed_depth_stencil">
+ <value name="GL_DEPTH_STENCIL_OES"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_INT_24_8_OES"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="BindTexture">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="texture" type="GLuint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
+ </desc>
+</template>
+
+<template name="DeleteTextures">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="textures" type="const GLuint *"/>
+ </proto>
+</template>
+
+<template name="GenTextures" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="textures" type="GLuint *"/>
+ </proto>
+</template>
+
+<template name="IsTexture" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="texture" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="BlendColor">
+ <proto>
+ <return type="void"/>
+ <param name="red" type="GLtype"/>
+ <param name="green" type="GLtype"/>
+ <param name="blue" type="GLtype"/>
+ <param name="alpha" type="GLtype"/>
+ </proto>
+</template>
+
+<template name="BlendEquation">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_FUNC_ADD" category="GLES2.0"/>
+ <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/>
+ <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/>
+ <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/>
+ <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/>
+ <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/>
+
+ <value name="GL_MIN_EXT" category="EXT_blend_minmax"/>
+ <value name="GL_MAX_EXT" category="EXT_blend_minmax"/>
+ </desc>
+</template>
+
+<template name="BlendEquationSeparate">
+ <proto>
+ <return type="void"/>
+ <param name="modeRGB" type="GLenum"/>
+ <param name="modeAlpha" type="GLenum"/>
+ </proto>
+
+ <desc name="modeRGB">
+ <value name="GL_FUNC_ADD" category="GLES2.0"/>
+ <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/>
+ <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/>
+ <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/>
+ <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/>
+ <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/>
+
+ <value name="GL_MIN_EXT" category="EXT_blend_minmax"/>
+ <value name="GL_MAX_EXT" category="EXT_blend_minmax"/>
+ </desc>
+
+ <desc name="modeAlpha">
+ <value name="GL_FUNC_ADD" category="GLES2.0"/>
+ <value name="GL_FUNC_SUBTRACT" category="GLES2.0"/>
+ <value name="GL_FUNC_REVERSE_SUBTRACT" category="GLES2.0"/>
+ <value name="GL_FUNC_ADD_OES" category="OES_blend_subtract"/>
+ <value name="GL_FUNC_SUBTRACT_OES" category="OES_blend_subtract"/>
+ <value name="GL_FUNC_REVERSE_SUBTRACT_OES" category="OES_blend_subtract"/>
+
+ <value name="GL_MIN_EXT" category="EXT_blend_minmax"/>
+ <value name="GL_MAX_EXT" category="EXT_blend_minmax"/>
+ </desc>
+</template>
+
+<template name="TexImage3D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="internalFormat" type="GLenum"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="depth" type="GLsizei"/>
+ <param name="border" type="GLint"/>
+ <param name="format" type="GLenum"/>
+ <param name="type" type="GLenum"/>
+ <param name="pixels" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_3D_OES"/>
+ </desc>
+
+ <desc name="internalFormat">
+ <value name="GL_ALPHA"/>
+ <value name="GL_RGB"/>
+ <value name="GL_RGBA"/>
+ <value name="GL_LUMINANCE"/>
+ <value name="GL_LUMINANCE_ALPHA"/>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGB"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGBA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="TexSubImage3D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="zoffset" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="depth" type="GLsizei"/>
+ <param name="format" type="GLenum"/>
+ <param name="type" type="GLenum"/>
+ <param name="pixels" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_3D_OES"/>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGB"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_5_6_5"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_RGBA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+ <value name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ <value name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT" category="EXT_texture_type_2_10_10_10_REV"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_LUMINANCE_ALPHA"/>
+
+ <desc name="type" error="GL_INVALID_OPERATION">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_FLOAT" category="OES_texture_float"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_texture_half_float"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="CopyTexSubImage3D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="zoffset" type="GLint"/>
+ <param name="x" type="GLint"/>
+ <param name="y" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_3D_OES"/>
+ </desc>
+</template>
+
+<template name="MultiTexCoord">
+ <proto>
+ <return type="void"/>
+ <param name="texture" type="GLenum"/>
+ <vector name="v" type="const GLtype *" size="dynamic">
+ <param name="s" type="GLtype"/>
+ <param name="t" type="GLtype"/>
+ <param name="r" type="GLtype"/>
+ <param name="q" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="texture">
+ <range base="GL_TEXTURE" from="0" to="31"/>
+ </desc>
+</template>
+
+<template name="CompressedTexImage3D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="internalFormat" type="GLenum"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="depth" type="GLsizei"/>
+ <param name="border" type="GLint"/>
+ <param name="imagesize" type="GLsizei"/>
+ <param name="data" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_3D_OES"/>
+ </desc>
+
+ <desc name="internalFormat">
+ <value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/>
+ <value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/>
+ <value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/>
+ <value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
+ <value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
+ </desc>
+</template>
+
+<template name="CompressedTexSubImage3D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="zoffset" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="depth" type="GLsizei"/>
+ <param name="format" type="GLenum"/>
+ <param name="imagesize" type="GLsizei"/>
+ <param name="data" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_3D_OES"/>
+ </desc>
+</template>
+
+<template name="ActiveTexture">
+ <proto>
+ <return type="void"/>
+ <param name="texture" type="GLenum"/>
+ </proto>
+
+ <desc name="texture">
+ <range base="GL_TEXTURE" from="0" to="31"/>
+ </desc>
+</template>
+
+<template name="ClientActiveTexture">
+ <proto>
+ <return type="void"/>
+ <param name="texture" type="GLenum"/>
+ </proto>
+
+ <desc name="texture">
+ <range base="GL_TEXTURE" from="0" to="31"/>
+ </desc>
+</template>
+
+<template name="SampleCoverage">
+ <proto>
+ <return type="void"/>
+ <param name="value" type="GLtype"/>
+ <param name="invert" type="GLboolean"/>
+ </proto>
+</template>
+
+<template name="CompressedTexImage2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="internalFormat" type="GLenum"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="border" type="GLint"/>
+ <param name="imageSize" type="GLsizei"/>
+ <param name="data" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
+ </desc>
+
+ <desc name="internalFormat">
+ <value name="GL_ETC1_RGB8_OES" category="OES_compressed_ETC1_RGB8_texture"/>
+
+ <value name="GL_PALETTE4_RGB8_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE4_RGBA8_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE4_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE4_RGBA4_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE4_RGB5_A1_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE8_RGB8_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE8_RGBA8_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE8_R5_G6_B5_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE8_RGBA4_OES" category="OES_compressed_paletted_texture"/>
+ <value name="GL_PALETTE8_RGB5_A1_OES" category="OES_compressed_paletted_texture"/>
+
+ <value name="GL_3DC_X_AMD" category="AMD_compressed_3DC_texture"/>
+ <value name="GL_3DC_XY_AMD" category="AMD_compressed_3DC_texture"/>
+
+ <value name="GL_ATC_RGB_AMD" category="AMD_compressed_ATC_texture"/>
+ <value name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
+ <value name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" category="AMD_compressed_ATC_texture"/>
+
+ <value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
+ <value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
+ </desc>
+
+ <desc name="border" error="GL_INVALID_VALUE">
+ <value name="0"/>
+ </desc>
+</template>
+
+<template name="CompressedTexSubImage2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="level" type="GLint"/>
+ <param name="xoffset" type="GLint"/>
+ <param name="yoffset" type="GLint"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ <param name="format" type="GLenum"/>
+ <param name="imageSize" type="GLsizei"/>
+ <param name="data" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
+ </desc>
+
+ <desc name="format">
+ <value name="GL_COMPRESSED_RGB_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
+ <value name="GL_COMPRESSED_RGBA_S3TC_DXT1_EXT" category="EXT_texture_compression_dxt1"/>
+ </desc>
+</template>
+
+<template name="BlendFuncSeparate">
+ <proto>
+ <return type="void"/>
+ <param name="srcRGB" type="GLenum"/>
+ <param name="dstRGB" type="GLenum"/>
+ <param name="srcAlpha" type="GLenum"/>
+ <param name="dstAlpha" type="GLenum"/>
+ </proto>
+
+ <desc name="srcRGB">
+ <value name="GL_ZERO"/>
+ <value name="GL_ONE"/>
+ <value name="GL_SRC_COLOR"/>
+ <value name="GL_ONE_MINUS_SRC_COLOR"/>
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <value name="GL_DST_ALPHA"/>
+ <value name="GL_ONE_MINUS_DST_ALPHA"/>
+ <value name="GL_DST_COLOR"/>
+ <value name="GL_ONE_MINUS_DST_COLOR"/>
+ <value name="GL_SRC_ALPHA_SATURATE"/>
+
+ <value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
+ </desc>
+
+ <desc name="dstRGB">
+ <value name="GL_ZERO"/>
+ <value name="GL_ONE"/>
+ <value name="GL_SRC_COLOR"/>
+ <value name="GL_ONE_MINUS_SRC_COLOR"/>
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <value name="GL_DST_ALPHA"/>
+ <value name="GL_ONE_MINUS_DST_ALPHA"/>
+ <value name="GL_DST_COLOR"/>
+ <value name="GL_ONE_MINUS_DST_COLOR"/>
+
+ <value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
+ </desc>
+
+ <desc name="srcAlpha">
+ <value name="GL_ZERO"/>
+ <value name="GL_ONE"/>
+ <value name="GL_SRC_COLOR"/>
+ <value name="GL_ONE_MINUS_SRC_COLOR"/>
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <value name="GL_DST_ALPHA"/>
+ <value name="GL_ONE_MINUS_DST_ALPHA"/>
+ <value name="GL_DST_COLOR"/>
+ <value name="GL_ONE_MINUS_DST_COLOR"/>
+ <value name="GL_SRC_ALPHA_SATURATE"/>
+
+ <value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
+ </desc>
+
+ <desc name="dstAlpha">
+ <value name="GL_ZERO"/>
+ <value name="GL_ONE"/>
+ <value name="GL_SRC_COLOR"/>
+ <value name="GL_ONE_MINUS_SRC_COLOR"/>
+ <value name="GL_SRC_ALPHA"/>
+ <value name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <value name="GL_DST_ALPHA"/>
+ <value name="GL_ONE_MINUS_DST_ALPHA"/>
+ <value name="GL_DST_COLOR"/>
+ <value name="GL_ONE_MINUS_DST_COLOR"/>
+
+ <value name="GL_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_COLOR" category="GLES2.0"/>
+ <value name="GL_CONSTANT_ALPHA" category="GLES2.0"/>
+ <value name="GL_ONE_MINUS_CONSTANT_ALPHA" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="PointParameter">
+ <proto>
+ <return type="void"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="const GLtype *" size="dynamic">
+ <param name="param" type="GLtype"/>
+ </vector>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_POINT_SIZE_MIN"/>
+ <value name="GL_POINT_SIZE_MAX"/>
+ <value name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+
+ <desc name="params" vector_size="1"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_POINT_DISTANCE_ATTENUATION"/>
+ <desc name="params" vector_size="3"/>
+ </desc>
+</template>
+
+<template name="VertexAttrib">
+ <proto>
+ <return type="void"/>
+ <param name="index" type="GLuint"/>
+ <vector name="v" type="const GLtype *" size="dynamic">
+ <param name="x" type="GLtype"/>
+ <param name="y" type="GLtype"/>
+ <param name="z" type="GLtype"/>
+ <param name="w" type="GLtype"/>
+ </vector>
+ </proto>
+</template>
+
+<template name="VertexAttribPointer">
+ <proto>
+ <return type="void"/>
+ <param name="index" type="GLuint"/>
+ <param name="size" type="GLint"/>
+ <param name="type" type="GLenum"/>
+ <param name="normalized" type="GLboolean"/>
+ <param name="stride" type="GLsizei"/>
+ <param name="pointer" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="size" error="GL_INVALID_VALUE">
+ <value name="1"/>
+ <value name="2"/>
+ <value name="3"/>
+ <value name="4"/>
+ </desc>
+
+ <desc name="type" error="GL_INVALID_VALUE">
+ <value name="GL_BYTE"/>
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_SHORT"/>
+ <value name="GL_UNSIGNED_SHORT"/>
+ <value name="GL_FLOAT"/>
+ <value name="GL_FIXED"/>
+ <value name="GL_HALF_FLOAT_OES" category="OES_vertex_half_float"/>
+ <value name="GL_UNSIGNED_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
+ <value name="GL_INT_10_10_10_2_OES" category="OES_vertex_type_10_10_10_2"/>
+ </desc>
+
+ <desc name="type" category="OES_vertex_type_10_10_10_2">
+ <value name="GL_UNSIGNED_INT_10_10_10_2_OES"/>
+ <value name="GL_INT_10_10_10_2_OES"/>
+
+ <desc name="size">
+ <value name="3"/>
+ <value name="4"/>
+ </desc>
+ </desc>
+</template>
+
+<template name="EnableVertexAttribArray">
+ <proto>
+ <return type="void"/>
+ <param name="index" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="DisableVertexAttribArray">
+ <proto>
+ <return type="void"/>
+ <param name="index" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="IsProgram" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="program" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="GetProgram" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_DELETE_STATUS"/>
+ <value name="GL_LINK_STATUS"/>
+ <value name="GL_VALIDATE_STATUS"/>
+ <value name="GL_INFO_LOG_LENGTH"/>
+ <value name="GL_ATTACHED_SHADERS"/>
+ <value name="GL_ACTIVE_ATTRIBUTES"/>
+ <value name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+ <value name="GL_ACTIVE_UNIFORMS"/>
+ <value name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+ <value name="GL_PROGRAM_BINARY_LENGTH_OES" category="OES_get_program_binary"/>
+
+ <desc name="params" convert="false"/>
+ </desc>
+</template>
+
+<template name="GetVertexAttrib" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="index" type="GLuint"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+ <value name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+ <value name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+ <value name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+ <value name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+ <value name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_CURRENT_VERTEX_ATTRIB"/>
+ <desc name="params" vector_size="16?" convert="false"/>
+ </desc>
+</template>
+
+<template name="GetVertexAttribPointer" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="index" type="GLuint"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="pointer" type="GLvoid **" size="dynamic"/>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
+ </desc>
+</template>
+
+<template name="GetBufferPointer" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLvoid **" size="dynamic"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_ARRAY_BUFFER"/>
+ <value name="GL_ELEMENT_ARRAY_BUFFER"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_BUFFER_MAP_POINTER_OES"/>
+ </desc>
+</template>
+
+<template name="MapBuffer" direction="get">
+ <proto>
+ <return type="void *"/>
+ <param name="target" type="GLenum"/>
+ <param name="access" type="GLenum"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_ARRAY_BUFFER"/>
+ <value name="GL_ELEMENT_ARRAY_BUFFER"/>
+ </desc>
+
+ <desc name="access">
+ <value name="GL_WRITE_ONLY_OES"/>
+ </desc>
+</template>
+
+<template name="UnmapBuffer" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="target" type="GLenum"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_ARRAY_BUFFER"/>
+ <value name="GL_ELEMENT_ARRAY_BUFFER"/>
+ </desc>
+</template>
+
+<template name="BindBuffer">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="buffer" type="GLuint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_ARRAY_BUFFER"/>
+ <value name="GL_ELEMENT_ARRAY_BUFFER"/>
+ </desc>
+</template>
+
+<template name="BufferData">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="size" type="GLsizeiptr"/>
+ <param name="data" type="const GLvoid *"/>
+ <param name="usage" type="GLenum"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_ARRAY_BUFFER"/>
+ <value name="GL_ELEMENT_ARRAY_BUFFER"/>
+ </desc>
+
+ <desc name="usage">
+ <value name="GL_STATIC_DRAW"/>
+ <value name="GL_DYNAMIC_DRAW"/>
+ <value name="GL_STREAM_DRAW" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="BufferSubData">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="offset" type="GLintptr"/>
+ <param name="size" type="GLsizeiptr"/>
+ <param name="data" type="const GLvoid *"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_ARRAY_BUFFER"/>
+ <value name="GL_ELEMENT_ARRAY_BUFFER"/>
+ </desc>
+</template>
+
+<template name="DeleteBuffers">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="buffer" type="const GLuint *"/>
+ </proto>
+</template>
+
+<template name="GenBuffers" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="buffer" type="GLuint *"/>
+ </proto>
+</template>
+
+<template name="GetBufferParameter" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_ARRAY_BUFFER"/>
+ <value name="GL_ELEMENT_ARRAY_BUFFER"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_BUFFER_SIZE"/>
+ <value name="GL_BUFFER_USAGE"/>
+ <value name="GL_BUFFER_ACCESS_OES" category="OES_mapbuffer"/>
+ <value name="GL_BUFFER_MAPPED_OES" category="OES_mapbuffer"/>
+ </desc>
+</template>
+
+<template name="IsBuffer" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="buffer" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="CreateShader">
+ <proto>
+ <return type="GLuint"/>
+ <param name="type" type="GLenum"/>
+ </proto>
+
+ <desc name="type">
+ <value name="GL_VERTEX_SHADER"/>
+ <value name="GL_FRAGMENT_SHADER"/>
+ </desc>
+</template>
+
+<template name="ShaderSource">
+ <proto>
+ <return type="void"/>
+ <param name="shader" type="GLuint"/>
+ <param name="count" type="GLsizei"/>
+ <param name="string" type="const GLchar **"/>
+ <param name="length" type="const int *"/>
+ </proto>
+</template>
+
+<template name="CompileShader">
+ <proto>
+ <return type="void"/>
+ <param name="shader" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="ReleaseShaderCompiler">
+ <proto>
+ <return type="void"/>
+ </proto>
+</template>
+
+<template name="DeleteShader">
+ <proto>
+ <return type="void"/>
+ <param name="shader" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="ShaderBinary">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="shaders" type="const GLuint *"/>
+ <param name="binaryformat" type="GLenum"/>
+ <param name="binary" type="const GLvoid *"/>
+ <param name="length" type="GLsizei"/>
+ </proto>
+</template>
+
+<template name="CreateProgram">
+ <proto>
+ <return type="GLuint"/>
+ </proto>
+</template>
+
+<template name="AttachShader">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="shader" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="DetachShader">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="shader" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="LinkProgram">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="UseProgram">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="DeleteProgram">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="GetActiveAttrib" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="index" type="GLuint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="length" type="GLsizei *"/>
+ <param name="size" type="GLint *"/>
+ <param name="type" type="GLenum *"/>
+ <param name="name" type="GLchar *"/>
+ </proto>
+</template>
+
+<template name="GetAttribLocation" direction="get">
+ <proto>
+ <return type="GLint"/>
+ <param name="program" type="GLuint"/>
+ <param name="name" type="const char *"/>
+ </proto>
+</template>
+
+<template name="BindAttribLocation">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="index" type="GLuint"/>
+ <param name="name" type="const char *"/>
+ </proto>
+</template>
+
+<template name="GetUniformLocation" direction="get">
+ <proto>
+ <return type="GLint"/>
+ <param name="program" type="GLuint"/>
+ <param name="name" type="const char *"/>
+ </proto>
+</template>
+
+<template name="GetActiveUniform" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="index" type="GLuint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="length" type="GLsizei *"/>
+ <param name="size" type="GLint *"/>
+ <param name="type" type="GLenum *"/>
+ <param name="name" type="GLchar *"/>
+ </proto>
+</template>
+
+<template name="Uniform">
+ <proto>
+ <return type="void"/>
+ <param name="location" type="GLint"/>
+ <param name="count" type="GLsizei" hide_if_expanded="true"/>
+ <vector name="values" type="const GLtype *" size="dynamic">
+ <param name="v0" type="GLtype"/>
+ <param name="v1" type="GLtype"/>
+ <param name="v2" type="GLtype"/>
+ <param name="v3" type="GLtype"/>
+ </vector>
+ </proto>
+</template>
+
+<template name="UniformMatrix">
+ <proto>
+ <return type="void"/>
+ <param name="location" type="GLint"/>
+ <param name="count" type="GLsizei"/>
+ <param name="transpose" type="GLboolean"/>
+ <vector name="value" type="const GLtype *" size="dynamic"/>
+ </proto>
+</template>
+
+<template name="ValidateProgram">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="GenerateMipmap">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
+ </desc>
+</template>
+
+<template name="BindFramebuffer">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="framebuffer" type="GLuint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="DeleteFramebuffers">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="framebuffers" type="const GLuint *"/>
+ </proto>
+</template>
+
+<template name="GenFramebuffers">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="ids" type="GLuint *"/>
+ </proto>
+</template>
+
+<template name="BindRenderbuffer">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="renderbuffer" type="GLuint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RENDERBUFFER" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="DeleteRenderbuffers">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="renderbuffers" type="const GLuint *"/>
+ </proto>
+</template>
+
+<template name="GenRenderbuffers">
+ <proto>
+ <return type="void"/>
+ <param name="n" type="GLsizei"/>
+ <param name="renderbuffers" type="GLuint *"/>
+ </proto>
+</template>
+
+<template name="RenderbufferStorage">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="internalFormat" type="GLenum"/>
+ <param name="width" type="GLsizei"/>
+ <param name="height" type="GLsizei"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RENDERBUFFER" category="GLES2.0"/>
+ </desc>
+
+ <desc name="internalFormat">
+ <value name="GL_DEPTH_COMPONENT16_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RGBA4_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RGB5_A1_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RGB565_OES" category="OES_framebuffer_object"/>
+ <value name="GL_STENCIL_INDEX8_OES" category="OES_stencil8"/>
+
+ <value name="GL_DEPTH_COMPONENT16" category="GLES2.0"/>
+ <value name="GL_RGBA4" category="GLES2.0"/>
+ <value name="GL_RGB5_A1" category="GLES2.0"/>
+ <value name="GL_RGB565" category="GLES2.0"/>
+ <value name="GL_STENCIL_INDEX8" category="GLES2.0"/>
+
+ <value name="GL_DEPTH_COMPONENT24_OES" category="OES_depth24"/>
+ <value name="GL_DEPTH_COMPONENT32_OES" category="OES_depth32"/>
+ <value name="GL_RGB8_OES" category="OES_rgb8_rgba8"/>
+ <value name="GL_RGBA8_OES" category="OES_rgb8_rgba8"/>
+ <value name="GL_STENCIL_INDEX1_OES" category="OES_stencil1"/>
+ <value name="GL_STENCIL_INDEX4_OES" category="OES_stencil4"/>
+ <value name="GL_DEPTH24_STENCIL8_OES" category="OES_packed_depth_stencil"/>
+ </desc>
+</template>
+
+<template name="FramebufferRenderbuffer">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="attachment" type="GLenum"/>
+ <param name="renderbuffertarget" type="GLenum"/>
+ <param name="renderbuffer" type="GLuint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER" category="GLES2.0"/>
+ </desc>
+
+ <desc name="attachment">
+ <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/>
+ <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/>
+ <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/>
+ <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/>
+ <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/>
+ <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/>
+ </desc>
+
+ <desc name="renderbuffertarget">
+ <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RENDERBUFFER" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="FramebufferTexture2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="attachment" type="GLenum"/>
+ <param name="textarget" type="GLenum"/>
+ <param name="texture" type="GLuint"/>
+ <param name="level" type="GLint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER" category="GLES2.0"/>
+ </desc>
+
+ <desc name="attachment">
+ <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/>
+ <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/>
+ <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/>
+ <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/>
+ <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/>
+ <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/>
+ </desc>
+
+ <desc name="textarget" error="GL_INVALID_OPERATION">
+ <value name="GL_TEXTURE_2D"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" category="GLES2.0"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" category="OES_texture_cube_map"/>
+ <value name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" category="OES_texture_cube_map"/>
+ </desc>
+ <!-- According to the base specification, "level" must be 0. But
+ extension GL_OES_fbo_render_mipmap lifts that restriction,
+ so no restriction is placed here. -->
+</template>
+
+<template name="FramebufferTexture3D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="attachment" type="GLenum"/>
+ <param name="textarget" type="GLenum"/>
+ <param name="texture" type="GLuint"/>
+ <param name="level" type="GLint"/>
+ <param name="zoffset" type="GLint"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER" category="GLES2.0"/>
+ </desc>
+
+ <desc name="attachment">
+ <value name="GL_COLOR_ATTACHMENT0_OES" category="OES_framebuffer_object"/>
+ <value name="GL_DEPTH_ATTACHMENT_OES" category="OES_framebuffer_object"/>
+ <value name="GL_STENCIL_ATTACHMENT_OES" category="OES_framebuffer_object"/>
+ <value name="GL_COLOR_ATTACHMENT0" category="GLES2.0"/>
+ <value name="GL_DEPTH_ATTACHMENT" category="GLES2.0"/>
+ <value name="GL_STENCIL_ATTACHMENT" category="GLES2.0"/>
+ </desc>
+
+ <desc name="textarget" error="GL_INVALID_OPERATION">
+ <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/>
+ </desc>
+</template>
+
+<template name="CheckFramebufferStatus" direction="get">
+ <proto>
+ <return type="GLenum"/>
+ <param name="target" type="GLenum"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER" category="GLES2.0"/>
+ </desc>
+</template>
+
+<template name="GetFramebufferAttachmentParameter" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="attachment" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_FRAMEBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER" category="GLES2.0"/>
+ </desc>
+
+ <desc name="pname">
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" category="OES_framebuffer_object"/>
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" category="OES_framebuffer_object"/>
+
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" category="GLES2.0"/>
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" category="GLES2.0"/>
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" category="GLES2.0"/>
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" category="GLES2.0"/>
+ <value name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" category="OES_texture_3D"/>
+
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+</template>
+
+<template name="GetRenderbufferParameter" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RENDERBUFFER" category="GLES2.0"/>
+ </desc>
+
+ <desc name="pname" category="OES_framebuffer_object">
+ <value name="GL_RENDERBUFFER_WIDTH_OES"/>
+ <value name="GL_RENDERBUFFER_HEIGHT_OES"/>
+ <value name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
+ <value name="GL_RENDERBUFFER_RED_SIZE_OES"/>
+ <value name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
+ <value name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
+ <value name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
+ <value name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
+ <value name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
+
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+
+ <desc name="pname" category="GLES2.0">
+ <value name="GL_RENDERBUFFER_WIDTH"/>
+ <value name="GL_RENDERBUFFER_HEIGHT"/>
+ <value name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+ <value name="GL_RENDERBUFFER_RED_SIZE"/>
+ <value name="GL_RENDERBUFFER_GREEN_SIZE"/>
+ <value name="GL_RENDERBUFFER_BLUE_SIZE"/>
+ <value name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+ <value name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+ <value name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+
+ <desc name="params" vector_size="1" convert="false"/>
+ </desc>
+</template>
+
+<template name="IsRenderbuffer" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="renderbuffer" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="IsFramebuffer" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="framebuffer" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="IsShader" direction="get">
+ <proto>
+ <return type="GLboolean"/>
+ <param name="shader" type="GLuint"/>
+ </proto>
+</template>
+
+<template name="GetShader" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="shader" type="GLuint"/>
+ <param name="pname" type="GLenum"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+
+ <desc name="pname">
+ <value name="GL_SHADER_TYPE"/>
+ <value name="GL_COMPILE_STATUS"/>
+ <value name="GL_DELETE_STATUS"/>
+ <value name="GL_INFO_LOG_LENGTH"/>
+ <value name="GL_SHADER_SOURCE_LENGTH"/>
+ </desc>
+</template>
+
+<template name="GetAttachedShaders" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="maxCount" type="GLsizei"/>
+ <param name="count" type="GLsizei *"/>
+ <param name="shaders" type="GLuint *"/>
+ </proto>
+</template>
+
+<template name="GetShaderInfoLog" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="shader" type="GLuint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="length" type="GLsizei *"/>
+ <param name="infoLog" type="GLchar *"/>
+ </proto>
+</template>
+
+<template name="GetProgramInfoLog" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="length" type="GLsizei *"/>
+ <param name="infoLog" type="GLchar *"/>
+ </proto>
+</template>
+
+<template name="GetShaderSource" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="shader" type="GLuint"/>
+ <param name="bufSize" type="GLsizei"/>
+ <param name="length" type="GLsizei *"/>
+ <param name="source" type="GLchar *"/>
+ </proto>
+</template>
+
+<template name="GetShaderPrecisionFormat" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="shadertype" type="GLenum"/>
+ <param name="precisiontype" type="GLenum"/>
+ <param name="range" type="GLint *"/>
+ <param name="precision" type="GLint *"/>
+ </proto>
+
+ <desc name="shadertype">
+ <value name="GL_VERTEX_SHADER"/>
+ <value name="GL_FRAGMENT_SHADER"/>
+ </desc>
+
+ <desc name="precisiontype">
+ <value name="GL_LOW_FLOAT"/>
+ <value name="GL_MEDIUM_FLOAT"/>
+ <value name="GL_HIGH_FLOAT"/>
+ <value name="GL_LOW_INT"/>
+ <value name="GL_MEDIUM_INT"/>
+ <value name="GL_HIGH_INT"/>
+ </desc>
+</template>
+
+<template name="GetUniform" direction="get">
+ <proto>
+ <return type="void"/>
+ <param name="program" type="GLuint"/>
+ <param name="location" type="GLint"/>
+ <vector name="params" type="GLtype *" size="dynamic"/>
+ </proto>
+</template>
+
+<template name="QueryMatrix" direction="get">
+ <proto>
+ <return type="GLbitfield"/>
+ <vector name="mantissa" type="GLtype *" size="16"/>
+ <vector name="exponent" type="GLint *" size="16"/>
+ </proto>
+</template>
+
+<template name="DrawTex">
+ <proto>
+ <return type="void"/>
+ <vector name="coords" type="const GLtype *" size="5">
+ <param name="x" type="GLtype"/>
+ <param name="y" type="GLtype"/>
+ <param name="z" type="GLtype"/>
+ <param name="w" type="GLtype"/>
+ <param name="h" type="GLtype"/>
+ </vector>
+ </proto>
+</template>
+
+<template name="MultiDrawArrays">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ <param name="first" type="const GLint *"/>
+ <param name="count" type="const GLsizei *"/>
+ <param name="primcount" type="GLsizei"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_POINTS"/>
+ <value name="GL_LINES"/>
+ <value name="GL_LINE_LOOP"/>
+ <value name="GL_LINE_STRIP"/>
+ <value name="GL_TRIANGLES"/>
+ <value name="GL_TRIANGLE_STRIP"/>
+ <value name="GL_TRIANGLE_FAN"/>
+ </desc>
+</template>
+
+<template name="MultiDrawElements">
+ <proto>
+ <return type="void"/>
+ <param name="mode" type="GLenum"/>
+ <param name="count" type="const GLsizei *"/>
+ <param name="type" type="GLenum"/>
+ <param name="indices" type="const GLvoid **"/>
+ <param name="primcount" type="GLsizei"/>
+ </proto>
+
+ <desc name="mode">
+ <value name="GL_POINTS"/>
+ <value name="GL_LINES"/>
+ <value name="GL_LINE_LOOP"/>
+ <value name="GL_LINE_STRIP"/>
+ <value name="GL_TRIANGLES"/>
+ <value name="GL_TRIANGLE_STRIP"/>
+ <value name="GL_TRIANGLE_FAN"/>
+ </desc>
+
+ <desc name="type">
+ <value name="GL_UNSIGNED_BYTE"/>
+ <value name="GL_UNSIGNED_SHORT"/>
+ <value name="GL_UNSIGNED_INT" category="OES_element_index_uint"/>
+ </desc>
+</template>
+
+<template name="EGLImageTargetTexture2D">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="image" type="GLeglImageOES"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_TEXTURE_2D"/>
+ </desc>
+</template>
+
+<template name="EGLImageTargetRenderbufferStorage">
+ <proto>
+ <return type="void"/>
+ <param name="target" type="GLenum"/>
+ <param name="image" type="GLeglImageOES"/>
+ </proto>
+
+ <desc name="target">
+ <value name="GL_RENDERBUFFER_OES" category="OES_framebuffer_object"/>
+ <value name="GL_RENDERBUFFER" category="GLES2.0"/>
+ </desc>
+</template>
+
+<api name="mesa" implementation="true">
+ <category name="MESA"/>
+
+ <function name="Color4f" default_prefix="_es_" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+ <function name="ClipPlane" template="ClipPlane" gltype="GLdouble"/>
+ <function name="CullFace" template="CullFace"/>
+
+ <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
+ <function name="Fogfv" template="Fog" gltype="GLfloat"/>
+
+ <function name="FrontFace" template="FrontFace"/>
+ <function name="Hint" template="Hint"/>
+
+ <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
+ <function name="Lightfv" template="Light" gltype="GLfloat"/>
+
+ <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
+ <function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
+
+ <function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
+
+ <function name="Materialf" default_prefix="_es_" template="Material" gltype="GLfloat" expand_vector="true"/>
+ <function name="Materialfv" default_prefix="_es_" template="Material" gltype="GLfloat"/>
+
+ <function name="PointSize" template="PointSize" gltype="GLfloat"/>
+ <function name="PointSizePointer" template="PointSizePointer"/>
+
+ <function name="Scissor" template="Scissor"/>
+ <function name="ShadeModel" template="ShadeModel"/>
+
+ <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
+ <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
+ <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
+ <function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
+
+ <function name="TexImage2D" template="TexImage2D"/>
+
+ <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
+ <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
+ <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
+ <function name="TexEnviv" template="TexEnv" gltype="GLint"/>
+
+ <function name="TexGenf" template="TexGen" gltype="GLfloat" expand_vector="true"/>
+ <function name="TexGenfv" template="TexGen" gltype="GLfloat"/>
+
+ <function name="Clear" template="Clear"/>
+ <function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
+ <function name="ClearStencil" template="ClearStencil"/>
+ <function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/>
+
+ <function name="StencilMask" template="StencilMask"/>
+ <function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
+ <function name="ColorMask" template="ColorMask"/>
+ <function name="DepthMask" template="DepthMask"/>
+ <function name="Disable" template="Disable"/>
+ <function name="Enable" template="Enable"/>
+ <function name="Finish" template="Finish"/>
+ <function name="Flush" template="Flush"/>
+
+ <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
+
+ <function name="BlendFunc" template="BlendFunc"/>
+ <function name="LogicOp" template="LogicOp"/>
+ <function name="StencilFunc" template="StencilFunc"/>
+ <function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
+ <function name="StencilOp" template="StencilOp"/>
+ <function name="StencilOpSeparate" template="StencilOpSeparate"/>
+ <function name="DepthFunc" template="DepthFunc"/>
+ <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
+
+ <function name="ReadPixels" template="ReadPixels"/>
+ <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
+ <function name="GetClipPlane" template="GetClipPlane" gltype="GLdouble"/>
+ <function name="GetError" template="GetError"/>
+ <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
+ <function name="GetFixedv" template="GetState" gltype="GLfixed"/>
+ <function name="GetIntegerv" template="GetState" gltype="GLint"/>
+
+ <function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
+ <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
+ <function name="GetMaterialiv" template="GetMaterial" gltype="GLint"/>
+
+ <function name="GetString" template="GetString"/>
+
+ <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
+ <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
+ <function name="GetTexGenfv" template="GetTexGen" gltype="GLfloat"/>
+ <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
+ <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
+
+ <function name="IsEnabled" template="IsEnabled"/>
+
+ <function name="DepthRange" template="DepthRange" gltype="GLclampd"/>
+ <function name="Frustum" template="Frustum" gltype="GLdouble"/>
+
+ <function name="LoadIdentity" template="LoadIdentity"/>
+ <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
+ <function name="MatrixMode" template="MatrixMode"/>
+
+ <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
+ <function name="Ortho" template="Ortho" gltype="GLdouble"/>
+ <function name="PopMatrix" template="PopMatrix"/>
+ <function name="PushMatrix" template="PushMatrix"/>
+
+ <function name="Rotatef" template="Rotate" gltype="GLfloat"/>
+ <function name="Scalef" template="Scale" gltype="GLfloat"/>
+ <function name="Translatef" template="Translate" gltype="GLfloat"/>
+
+ <function name="Viewport" template="Viewport"/>
+
+ <function name="ColorPointer" template="ColorPointer"/>
+ <function name="DisableClientState" template="DisableClientState"/>
+ <function name="DrawArrays" template="DrawArrays"/>
+ <function name="DrawElements" template="DrawElements"/>
+ <function name="EnableClientState" template="EnableClientState"/>
+
+ <function name="GetPointerv" template="GetPointer"/>
+ <function name="Normal3f" default_prefix="_es_" template="Normal" gltype="GLfloat" expand_vector="true"/>
+ <function name="NormalPointer" template="NormalPointer"/>
+ <function name="TexCoordPointer" template="TexCoordPointer"/>
+ <function name="VertexPointer" template="VertexPointer"/>
+
+ <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
+ <function name="CopyTexImage2D" template="CopyTexImage2D"/>
+ <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
+ <function name="TexSubImage2D" template="TexSubImage2D"/>
+
+ <function name="BindTexture" template="BindTexture"/>
+ <function name="DeleteTextures" template="DeleteTextures"/>
+ <function name="GenTextures" template="GenTextures"/>
+ <function name="IsTexture" template="IsTexture"/>
+
+ <function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
+ <function name="BlendEquation" template="BlendEquation"/>
+ <function name="BlendEquationSeparateEXT" template="BlendEquationSeparate"/>
+
+ <function name="TexImage3D" template="TexImage3D"/>
+ <function name="TexSubImage3D" template="TexSubImage3D"/>
+ <function name="CopyTexSubImage3D" template="CopyTexSubImage3D"/>
+
+ <function name="CompressedTexImage3DARB" template="CompressedTexImage3D"/>
+ <function name="CompressedTexSubImage3DARB" template="CompressedTexSubImage3D"/>
+
+ <function name="ActiveTextureARB" template="ActiveTexture"/>
+ <function name="ClientActiveTextureARB" template="ClientActiveTexture"/>
+
+ <function name="MultiTexCoord4f" default_prefix="_es_" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+
+ <function name="SampleCoverageARB" template="SampleCoverage" gltype="GLclampf"/>
+
+ <function name="CompressedTexImage2DARB" template="CompressedTexImage2D"/>
+ <function name="CompressedTexSubImage2DARB" template="CompressedTexSubImage2D"/>
+
+ <function name="BlendFuncSeparateEXT" template="BlendFuncSeparate"/>
+
+ <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
+ <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
+
+ <function name="VertexAttrib1f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
+ <function name="VertexAttrib2f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
+ <function name="VertexAttrib3f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
+ <function name="VertexAttrib4f" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+ <function name="VertexAttrib1fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
+ <function name="VertexAttrib2fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
+ <function name="VertexAttrib3fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
+ <function name="VertexAttrib4fv" default_prefix="_es_" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
+
+ <function name="VertexAttribPointerARB" template="VertexAttribPointer"/>
+ <function name="EnableVertexAttribArrayARB" template="EnableVertexAttribArray"/>
+ <function name="DisableVertexAttribArrayARB" template="DisableVertexAttribArray"/>
+
+ <function name="IsProgram" template="IsProgram"/>
+ <function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
+
+ <function name="GetVertexAttribfvARB" template="GetVertexAttrib" gltype="GLfloat"/>
+ <function name="GetVertexAttribivARB" template="GetVertexAttrib" gltype="GLint"/>
+ <function name="GetVertexAttribPointervARB" template="GetVertexAttribPointer"/>
+
+ <function name="GetBufferPointervARB" template="GetBufferPointer"/>
+ <function name="MapBufferARB" template="MapBuffer"/>
+ <function name="UnmapBufferARB" template="UnmapBuffer"/>
+ <function name="BindBufferARB" template="BindBuffer"/>
+ <function name="BufferDataARB" template="BufferData"/>
+ <function name="BufferSubDataARB" template="BufferSubData"/>
+ <function name="DeleteBuffersARB" template="DeleteBuffers"/>
+ <function name="GenBuffersARB" template="GenBuffers"/>
+ <function name="GetBufferParameterivARB" template="GetBufferParameter" gltype="GLint"/>
+ <function name="IsBufferARB" template="IsBuffer"/>
+
+ <function name="CreateShader" template="CreateShader"/>
+ <function name="ShaderSourceARB" template="ShaderSource"/>
+ <function name="CompileShaderARB" template="CompileShader"/>
+ <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
+ <function name="DeleteShader" template="DeleteShader"/>
+ <function name="ShaderBinary" template="ShaderBinary"/>
+ <function name="CreateProgram" template="CreateProgram"/>
+ <function name="AttachShader" template="AttachShader"/>
+ <function name="DetachShader" template="DetachShader"/>
+ <function name="LinkProgramARB" template="LinkProgram"/>
+ <function name="UseProgramObjectARB" template="UseProgram"/>
+ <function name="DeleteProgram" template="DeleteProgram"/>
+
+ <function name="GetActiveAttribARB" template="GetActiveAttrib"/>
+ <function name="GetAttribLocationARB" template="GetAttribLocation"/>
+ <function name="BindAttribLocationARB" template="BindAttribLocation"/>
+ <function name="GetUniformLocationARB" template="GetUniformLocation"/>
+ <function name="GetActiveUniformARB" template="GetActiveUniform"/>
+
+ <function name="Uniform1fARB" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
+ <function name="Uniform2fARB" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
+ <function name="Uniform3fARB" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
+ <function name="Uniform4fARB" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+ <function name="Uniform1iARB" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
+ <function name="Uniform2iARB" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
+ <function name="Uniform3iARB" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
+ <function name="Uniform4iARB" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
+ <function name="Uniform1fvARB" template="Uniform" gltype="GLfloat" vector_size="1"/>
+ <function name="Uniform2fvARB" template="Uniform" gltype="GLfloat" vector_size="2"/>
+ <function name="Uniform3fvARB" template="Uniform" gltype="GLfloat" vector_size="3"/>
+ <function name="Uniform4fvARB" template="Uniform" gltype="GLfloat" vector_size="4"/>
+ <function name="Uniform1ivARB" template="Uniform" gltype="GLint" vector_size="1"/>
+ <function name="Uniform2ivARB" template="Uniform" gltype="GLint" vector_size="2"/>
+ <function name="Uniform3ivARB" template="Uniform" gltype="GLint" vector_size="3"/>
+ <function name="Uniform4ivARB" template="Uniform" gltype="GLint" vector_size="4"/>
+
+ <function name="UniformMatrix2fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
+ <function name="UniformMatrix3fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
+ <function name="UniformMatrix4fvARB" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
+
+ <function name="ValidateProgramARB" template="ValidateProgram"/>
+
+ <function name="GenerateMipmapEXT" template="GenerateMipmap"/>
+ <function name="BindFramebufferEXT" template="BindFramebuffer"/>
+ <function name="DeleteFramebuffersEXT" template="DeleteFramebuffers"/>
+ <function name="GenFramebuffersEXT" template="GenFramebuffers"/>
+ <function name="BindRenderbufferEXT" template="BindRenderbuffer"/>
+ <function name="DeleteRenderbuffersEXT" template="DeleteRenderbuffers"/>
+ <function name="GenRenderbuffersEXT" template="GenRenderbuffers"/>
+ <function name="RenderbufferStorageEXT" template="RenderbufferStorage"/>
+ <function name="FramebufferRenderbufferEXT" template="FramebufferRenderbuffer"/>
+ <function name="FramebufferTexture2DEXT" template="FramebufferTexture2D"/>
+ <function name="FramebufferTexture3DEXT" template="FramebufferTexture3D"/>
+ <function name="CheckFramebufferStatusEXT" template="CheckFramebufferStatus"/>
+ <function name="GetFramebufferAttachmentParameterivEXT" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
+ <function name="GetRenderbufferParameterivEXT" template="GetRenderbufferParameter" gltype="GLint"/>
+ <function name="IsRenderbufferEXT" template="IsRenderbuffer"/>
+ <function name="IsFramebufferEXT" template="IsFramebuffer"/>
+
+ <function name="IsShader" template="IsShader"/>
+ <function name="GetShaderiv" template="GetShader" gltype="GLint"/>
+ <function name="GetAttachedShaders" template="GetAttachedShaders"/>
+ <function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
+ <function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
+ <function name="GetShaderSourceARB" template="GetShaderSource"/>
+ <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
+ <function name="GetUniformfvARB" template="GetUniform" gltype="GLfloat"/>
+ <function name="GetUniformivARB" template="GetUniform" gltype="GLint"/>
+
+ <function name="DrawTexf" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
+ <function name="DrawTexfv" template="DrawTex" gltype="GLfloat"/>
+ <function name="DrawTexi" template="DrawTex" gltype="GLint" expand_vector="true"/>
+ <function name="DrawTexiv" template="DrawTex" gltype="GLint"/>
+ <function name="DrawTexs" template="DrawTex" gltype="GLshort" expand_vector="true"/>
+ <function name="DrawTexsv" template="DrawTex" gltype="GLshort"/>
+
+ <!-- EXT_multi_draw_arrays -->
+ <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
+ <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
+
+ <!-- OES_EGL_image -->
+ <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
+ <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
+</api>
+
+<api name="GLES1.1">
+ <category name="GLES1.1"/>
+
+ <category name="OES_byte_coordinates"/>
+ <category name="OES_fixed_point"/>
+ <category name="OES_single_precision"/>
+ <category name="OES_matrix_get"/>
+ <category name="OES_read_format"/>
+ <category name="OES_compressed_paletted_texture"/>
+ <category name="OES_point_size_array"/>
+ <category name="OES_point_sprite"/>
+ <category name="OES_query_matrix"/>
+ <category name="OES_draw_texture"/>
+ <category name="OES_blend_equation_separate"/>
+ <category name="OES_blend_func_separate"/>
+ <category name="OES_blend_subtract"/>
+ <category name="OES_stencil_wrap"/>
+ <category name="OES_texture_cube_map"/>
+ <category name="OES_texture_env_crossbar"/>
+ <category name="OES_texture_mirrored_repeat"/>
+ <category name="OES_framebuffer_object"/>
+ <category name="OES_depth24"/>
+ <category name="OES_depth32"/>
+ <category name="OES_fbo_render_mipmap"/>
+ <category name="OES_rgb8_rgba8"/>
+ <category name="OES_stencil1"/>
+ <category name="OES_stencil4"/>
+ <category name="OES_stencil8"/>
+ <category name="OES_element_index_uint"/>
+ <category name="OES_mapbuffer"/>
+ <category name="EXT_texture_filter_anisotropic"/>
+
+ <category name="ARB_texture_non_power_of_two"/>
+ <!-- disabled due to missing enums
+ <category name="EXT_texture_compression_dxt1"/>
+ -->
+ <category name="EXT_texture_lod_bias"/>
+ <category name="EXT_blend_minmax"/>
+ <category name="EXT_multi_draw_arrays"/>
+ <category name="OES_EGL_image"/>
+
+ <category name="OES_matrix_palette"/>
+
+ <function name="Color4f" external="true" template="Color" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+ <function name="Color4ub" template="Color" gltype="GLubyte" vector_size="4" expand_vector="true"/>
+ <function name="Color4x" template="Color" gltype="GLfixed" vector_size="4" expand_vector="true"/>
+
+ <function name="ClipPlanef" template="ClipPlane" gltype="GLfloat"/>
+ <function name="ClipPlanex" template="ClipPlane" gltype="GLfixed"/>
+
+ <function name="CullFace" template="CullFace"/>
+
+ <function name="Fogf" template="Fog" gltype="GLfloat" expand_vector="true"/>
+ <function name="Fogx" template="Fog" gltype="GLfixed" expand_vector="true"/>
+ <function name="Fogfv" template="Fog" gltype="GLfloat"/>
+ <function name="Fogxv" template="Fog" gltype="GLfixed"/>
+
+ <function name="FrontFace" template="FrontFace"/>
+ <function name="Hint" template="Hint"/>
+
+ <function name="Lightf" template="Light" gltype="GLfloat" expand_vector="true"/>
+ <function name="Lightx" template="Light" gltype="GLfixed" expand_vector="true"/>
+ <function name="Lightfv" template="Light" gltype="GLfloat"/>
+ <function name="Lightxv" template="Light" gltype="GLfixed"/>
+
+ <function name="LightModelf" template="LightModel" gltype="GLfloat" expand_vector="true"/>
+ <function name="LightModelx" template="LightModel" gltype="GLfixed" expand_vector="true"/>
+ <function name="LightModelfv" template="LightModel" gltype="GLfloat"/>
+ <function name="LightModelxv" template="LightModel" gltype="GLfixed"/>
+
+ <function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
+ <function name="LineWidthx" template="LineWidth" gltype="GLfixed"/>
+
+ <function name="Materialf" external="true" template="Material" gltype="GLfloat" expand_vector="true"/>
+ <function name="Materialfv" external="true" template="Material" gltype="GLfloat"/>
+ <function name="Materialx" template="Material" gltype="GLfixed" expand_vector="true"/>
+ <function name="Materialxv" template="Material" gltype="GLfixed"/>
+
+ <function name="PointSize" template="PointSize" gltype="GLfloat"/>
+ <function name="PointSizex" template="PointSize" gltype="GLfixed"/>
+ <function name="PointSizePointerOES" template="PointSizePointer"/>
+
+ <function name="Scissor" template="Scissor"/>
+ <function name="ShadeModel" template="ShadeModel"/>
+
+ <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
+ <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
+ <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
+ <function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
+ <function name="TexParameterx" template="TexParameter" gltype="GLfixed" expand_vector="true"/>
+ <function name="TexParameterxv" template="TexParameter" gltype="GLfixed"/>
+
+ <function name="TexImage2D" template="TexImage2D"/>
+
+ <function name="TexEnvf" template="TexEnv" gltype="GLfloat" expand_vector="true"/>
+ <function name="TexEnvfv" template="TexEnv" gltype="GLfloat"/>
+ <function name="TexEnvi" template="TexEnv" gltype="GLint" expand_vector="true"/>
+ <function name="TexEnviv" template="TexEnv" gltype="GLint"/>
+ <function name="TexEnvx" template="TexEnv" gltype="GLfixed" expand_vector="true"/>
+ <function name="TexEnvxv" template="TexEnv" gltype="GLfixed"/>
+
+ <function name="TexGenfOES" external="true" template="TexGen" gltype="GLfloat" expand_vector="true"/>
+ <function name="TexGenfvOES" external="true" template="TexGen" gltype="GLfloat"/>
+ <function name="TexGeniOES" external="true" template="TexGen" gltype="GLint" expand_vector="true"/>
+ <function name="TexGenivOES" external="true" template="TexGen" gltype="GLint"/>
+ <function name="TexGenxOES" external="true" template="TexGen" gltype="GLfixed" expand_vector="true"/>
+ <function name="TexGenxvOES" external="true" template="TexGen" gltype="GLfixed"/>
+
+ <function name="Clear" template="Clear"/>
+ <function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
+ <function name="ClearColorx" template="ClearColor" gltype="GLclampx"/>
+
+ <function name="ClearStencil" template="ClearStencil"/>
+ <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
+ <function name="ClearDepthx" template="ClearDepth" gltype="GLclampx"/>
+
+ <function name="StencilMask" template="StencilMask"/>
+ <function name="ColorMask" template="ColorMask"/>
+ <function name="DepthMask" template="DepthMask"/>
+
+ <function name="Disable" template="Disable"/>
+ <function name="Enable" template="Enable"/>
+ <function name="Finish" template="Finish"/>
+ <function name="Flush" template="Flush"/>
+
+ <function name="AlphaFunc" template="AlphaFunc" gltype="GLclampf"/>
+ <function name="AlphaFuncx" template="AlphaFunc" gltype="GLclampx"/>
+
+ <function name="BlendFunc" template="BlendFunc"/>
+ <function name="LogicOp" template="LogicOp"/>
+ <function name="StencilFunc" template="StencilFunc"/>
+
+ <function name="StencilOp" template="StencilOp"/>
+ <function name="DepthFunc" template="DepthFunc"/>
+
+ <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
+ <function name="ReadPixels" template="ReadPixels"/>
+
+ <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
+
+ <function name="GetClipPlanef" template="GetClipPlane" gltype="GLfloat"/>
+ <function name="GetClipPlanex" template="GetClipPlane" gltype="GLfixed"/>
+
+ <function name="GetError" template="GetError"/>
+ <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
+ <function name="GetFixedv" template="GetState" gltype="GLfixed"/>
+ <function name="GetIntegerv" template="GetState" gltype="GLint"/>
+
+ <function name="GetLightfv" template="GetLight" gltype="GLfloat"/>
+ <function name="GetLightxv" template="GetLight" gltype="GLfixed"/>
+
+ <function name="GetMaterialfv" template="GetMaterial" gltype="GLfloat"/>
+ <function name="GetMaterialxv" template="GetMaterial" gltype="GLfixed"/>
+
+ <function name="GetString" template="GetString"/>
+
+ <function name="GetTexEnvfv" template="GetTexEnv" gltype="GLfloat"/>
+ <function name="GetTexEnviv" template="GetTexEnv" gltype="GLint"/>
+ <function name="GetTexEnvxv" template="GetTexEnv" gltype="GLfixed"/>
+
+ <function name="GetTexGenfvOES" external="true" template="GetTexGen" gltype="GLfloat"/>
+ <function name="GetTexGenivOES" external="true" template="GetTexGen" gltype="GLint"/>
+ <function name="GetTexGenxvOES" external="true" template="GetTexGen" gltype="GLfixed"/>
+
+ <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
+ <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
+ <function name="GetTexParameterxv" template="GetTexParameter" gltype="GLfixed"/>
+
+ <function name="IsEnabled" template="IsEnabled"/>
+
+ <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
+ <function name="DepthRangex" template="DepthRange" gltype="GLclampx"/>
+
+ <function name="Frustumf" template="Frustum" gltype="GLfloat"/>
+ <function name="Frustumx" template="Frustum" gltype="GLfixed"/>
+
+ <function name="LoadIdentity" template="LoadIdentity"/>
+ <function name="LoadMatrixf" template="LoadMatrix" gltype="GLfloat"/>
+ <function name="LoadMatrixx" template="LoadMatrix" gltype="GLfixed"/>
+ <function name="MatrixMode" template="MatrixMode"/>
+
+ <function name="MultMatrixf" template="MultMatrix" gltype="GLfloat"/>
+ <function name="MultMatrixx" template="MultMatrix" gltype="GLfixed"/>
+ <function name="Orthof" template="Ortho" gltype="GLfloat"/>
+ <function name="Orthox" template="Ortho" gltype="GLfixed"/>
+
+ <function name="PopMatrix" template="PopMatrix"/>
+ <function name="PushMatrix" template="PushMatrix"/>
+
+ <function name="Rotatef" template="Rotate" gltype="GLfloat"/>
+ <function name="Rotatex" template="Rotate" gltype="GLfixed"/>
+ <function name="Scalef" template="Scale" gltype="GLfloat"/>
+ <function name="Scalex" template="Scale" gltype="GLfixed"/>
+ <function name="Translatef" template="Translate" gltype="GLfloat"/>
+ <function name="Translatex" template="Translate" gltype="GLfixed"/>
+
+ <function name="Viewport" template="Viewport"/>
+ <function name="ColorPointer" template="ColorPointer"/>
+ <function name="DisableClientState" template="DisableClientState"/>
+ <function name="DrawArrays" template="DrawArrays"/>
+ <function name="DrawElements" template="DrawElements"/>
+ <function name="EnableClientState" template="EnableClientState"/>
+
+ <function name="GetPointerv" template="GetPointer"/>
+
+ <function name="Normal3f" external="true" template="Normal" gltype="GLfloat" expand_vector="true"/>
+ <function name="Normal3x" template="Normal" gltype="GLfixed" expand_vector="true"/>
+ <function name="NormalPointer" template="NormalPointer"/>
+ <function name="TexCoordPointer" template="TexCoordPointer"/>
+ <function name="VertexPointer" template="VertexPointer"/>
+
+ <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
+ <function name="PolygonOffsetx" template="PolygonOffset" gltype="GLfixed"/>
+
+ <function name="CopyTexImage2D" template="CopyTexImage2D"/>
+ <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
+
+ <function name="TexSubImage2D" template="TexSubImage2D"/>
+
+ <function name="BindTexture" template="BindTexture"/>
+ <function name="DeleteTextures" template="DeleteTextures"/>
+ <function name="GenTextures" template="GenTextures"/>
+ <function name="IsTexture" template="IsTexture"/>
+
+ <function name="BlendEquationOES" template="BlendEquation"/>
+ <function name="BlendEquationSeparateOES" template="BlendEquationSeparate"/>
+
+ <function name="MultiTexCoord4x" template="MultiTexCoord" gltype="GLfixed" vector_size="4" expand_vector="true"/>
+
+ <function name="ActiveTexture" template="ActiveTexture"/>
+ <function name="ClientActiveTexture" template="ClientActiveTexture"/>
+
+ <function name="MultiTexCoord4f" external="true" template="MultiTexCoord" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+
+ <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
+ <function name="SampleCoveragex" template="SampleCoverage" gltype="GLclampx"/>
+
+ <!-- CompressedTexImage2D calls out to two different functions based on
+ whether the image is a paletted image or not -->
+ <function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
+ <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
+
+ <function name="BlendFuncSeparateOES" template="BlendFuncSeparate"/>
+
+ <function name="PointParameterf" template="PointParameter" gltype="GLfloat" expand_vector="true"/>
+ <function name="PointParameterfv" template="PointParameter" gltype="GLfloat"/>
+ <function name="PointParameterx" template="PointParameter" gltype="GLfixed" expand_vector="true"/>
+ <function name="PointParameterxv" template="PointParameter" gltype="GLfixed"/>
+
+ <!-- OES_mapbuffer -->
+ <function name="GetBufferPointervOES" template="GetBufferPointer"/>
+ <function name="MapBufferOES" template="MapBuffer"/>
+ <function name="UnmapBufferOES" template="UnmapBuffer"/>
+
+ <function name="BindBuffer" template="BindBuffer"/>
+ <function name="BufferData" template="BufferData"/>
+ <function name="BufferSubData" template="BufferSubData"/>
+ <function name="DeleteBuffers" template="DeleteBuffers"/>
+ <function name="GenBuffers" template="GenBuffers"/>
+ <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
+ <function name="IsBuffer" template="IsBuffer"/>
+
+ <!-- OES_framebuffer_object -->
+ <function name="GenerateMipmapOES" template="GenerateMipmap"/>
+ <function name="BindFramebufferOES" template="BindFramebuffer"/>
+ <function name="DeleteFramebuffersOES" template="DeleteFramebuffers"/>
+ <function name="GenFramebuffersOES" template="GenFramebuffers"/>
+ <function name="BindRenderbufferOES" template="BindRenderbuffer"/>
+ <function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
+ <function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
+ <function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
+ <function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
+ <function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
+ <function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
+ <function name="GetFramebufferAttachmentParameterivOES" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
+ <function name="GetRenderbufferParameterivOES" template="GetRenderbufferParameter" gltype="GLint"/>
+ <function name="IsRenderbufferOES" template="IsRenderbuffer"/>
+ <function name="IsFramebufferOES" template="IsFramebuffer"/>
+
+ <!-- OES_query_matrix -->
+ <!-- QueryMatrixx returns values in an unusual, decomposed, fixed-value
+ form; it has its own code for this -->
+ <function name="QueryMatrixxOES" external="true" template="QueryMatrix" gltype="GLfixed"/>
+
+ <!-- OES_draw_texture -->
+ <function name="DrawTexfOES" template="DrawTex" gltype="GLfloat" expand_vector="true"/>
+ <function name="DrawTexiOES" template="DrawTex" gltype="GLint" expand_vector="true"/>
+ <function name="DrawTexsOES" template="DrawTex" gltype="GLshort" expand_vector="true"/>
+ <function name="DrawTexxOES" template="DrawTex" gltype="GLfixed" expand_vector="true"/>
+ <function name="DrawTexfvOES" template="DrawTex" gltype="GLfloat"/>
+ <function name="DrawTexivOES" template="DrawTex" gltype="GLint"/>
+ <function name="DrawTexsvOES" template="DrawTex" gltype="GLshort"/>
+ <function name="DrawTexxvOES" template="DrawTex" gltype="GLfixed"/>
+
+ <!-- EXT_multi_draw_arrays -->
+ <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
+ <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
+
+ <!-- OES_EGL_image -->
+ <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
+ <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
+</api>
+
+<api name="GLES2.0">
+ <category name="GLES2.0"/>
+
+ <category name="OES_compressed_paletted_texture"/>
+ <category name="OES_depth24"/>
+ <category name="OES_depth32"/>
+ <category name="OES_fbo_render_mipmap"/>
+ <category name="OES_rgb8_rgba8"/>
+ <category name="OES_stencil1"/>
+ <category name="OES_stencil4"/>
+ <category name="OES_element_index_uint"/>
+ <category name="OES_mapbuffer"/>
+ <category name="OES_texture_3D"/>
+ <category name="OES_texture_npot"/>
+ <category name="EXT_texture_filter_anisotropic"/>
+ <category name="EXT_texture_type_2_10_10_10_REV"/>
+ <category name="OES_depth_texture"/>
+ <category name="OES_packed_depth_stencil"/>
+ <category name="OES_standard_derivatives"/>
+ <category name="EXT_texture_format_BGRA8888"/>
+
+ <category name="EXT_texture_compression_dxt1"/>
+ <category name="EXT_blend_minmax"/>
+ <category name="EXT_multi_draw_arrays"/>
+ <category name="OES_EGL_image"/>
+
+ <function name="CullFace" template="CullFace"/>
+
+ <function name="FrontFace" template="FrontFace"/>
+ <function name="Hint" template="Hint"/>
+
+ <function name="LineWidth" template="LineWidth" gltype="GLfloat"/>
+
+ <function name="Scissor" template="Scissor"/>
+
+ <function name="TexParameterf" template="TexParameter" gltype="GLfloat" expand_vector="true"/>
+ <function name="TexParameterfv" template="TexParameter" gltype="GLfloat"/>
+ <function name="TexParameteri" template="TexParameter" gltype="GLint" expand_vector="true"/>
+ <function name="TexParameteriv" template="TexParameter" gltype="GLint"/>
+
+ <function name="TexImage2D" template="TexImage2D"/>
+
+ <function name="Clear" template="Clear"/>
+ <function name="ClearColor" template="ClearColor" gltype="GLclampf"/>
+ <function name="ClearStencil" template="ClearStencil"/>
+ <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/>
+
+ <function name="StencilMask" template="StencilMask"/>
+ <function name="StencilMaskSeparate" template="StencilMaskSeparate"/>
+ <function name="ColorMask" template="ColorMask"/>
+ <function name="DepthMask" template="DepthMask"/>
+ <function name="Disable" template="Disable"/>
+ <function name="Enable" template="Enable"/>
+ <function name="Finish" template="Finish"/>
+ <function name="Flush" template="Flush"/>
+
+ <function name="BlendFunc" template="BlendFunc"/>
+
+ <function name="StencilFunc" template="StencilFunc"/>
+ <function name="StencilFuncSeparate" template="StencilFuncSeparate"/>
+ <function name="StencilOp" template="StencilOp"/>
+ <function name="StencilOpSeparate" template="StencilOpSeparate"/>
+
+ <function name="DepthFunc" template="DepthFunc"/>
+
+ <function name="PixelStorei" template="PixelStore" gltype="GLint"/>
+ <function name="ReadPixels" template="ReadPixels"/>
+
+ <function name="GetBooleanv" template="GetState" gltype="GLboolean"/>
+ <function name="GetError" template="GetError"/>
+ <function name="GetFloatv" template="GetState" gltype="GLfloat"/>
+ <function name="GetIntegerv" template="GetState" gltype="GLint"/>
+
+ <function name="GetString" template="GetString"/>
+
+ <function name="GetTexParameterfv" template="GetTexParameter" gltype="GLfloat"/>
+ <function name="GetTexParameteriv" template="GetTexParameter" gltype="GLint"/>
+
+ <function name="IsEnabled" template="IsEnabled"/>
+
+ <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/>
+
+ <function name="Viewport" template="Viewport"/>
+
+ <function name="DrawArrays" template="DrawArrays"/>
+ <function name="DrawElements" template="DrawElements"/>
+
+ <function name="PolygonOffset" template="PolygonOffset" gltype="GLfloat"/>
+ <function name="CopyTexImage2D" template="CopyTexImage2D"/>
+ <function name="CopyTexSubImage2D" template="CopyTexSubImage2D"/>
+ <function name="TexSubImage2D" template="TexSubImage2D"/>
+
+ <function name="BindTexture" template="BindTexture"/>
+ <function name="DeleteTextures" template="DeleteTextures"/>
+ <function name="GenTextures" template="GenTextures"/>
+ <function name="IsTexture" template="IsTexture"/>
+
+ <function name="BlendColor" template="BlendColor" gltype="GLclampf"/>
+ <function name="BlendEquation" template="BlendEquation"/>
+ <function name="BlendEquationSeparate" template="BlendEquationSeparate"/>
+
+ <function name="TexImage3DOES" template="TexImage3D"/>
+ <function name="TexSubImage3DOES" template="TexSubImage3D"/>
+ <function name="CopyTexSubImage3DOES" template="CopyTexSubImage3D"/>
+
+ <function name="CompressedTexImage3DOES" template="CompressedTexImage3D"/>
+ <function name="CompressedTexSubImage3DOES" template="CompressedTexSubImage3D"/>
+
+ <function name="ActiveTexture" template="ActiveTexture"/>
+
+ <function name="SampleCoverage" template="SampleCoverage" gltype="GLclampf"/>
+
+ <function name="CompressedTexImage2D" template="CompressedTexImage2D"/>
+ <function name="CompressedTexSubImage2D" template="CompressedTexSubImage2D"/>
+
+ <function name="BlendFuncSeparate" template="BlendFuncSeparate"/>
+
+ <function name="VertexAttrib1f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1" expand_vector="true"/>
+ <function name="VertexAttrib2f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2" expand_vector="true"/>
+ <function name="VertexAttrib3f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3" expand_vector="true"/>
+ <function name="VertexAttrib4f" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+ <function name="VertexAttrib1fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="1"/>
+ <function name="VertexAttrib2fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="2"/>
+ <function name="VertexAttrib3fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="3"/>
+ <function name="VertexAttrib4fv" external="true" template="VertexAttrib" gltype="GLfloat" vector_size="4"/>
+
+ <function name="VertexAttribPointer" template="VertexAttribPointer"/>
+
+ <function name="EnableVertexAttribArray" template="EnableVertexAttribArray"/>
+ <function name="DisableVertexAttribArray" template="DisableVertexAttribArray"/>
+
+ <function name="IsProgram" template="IsProgram"/>
+ <function name="GetProgramiv" template="GetProgram" gltype="GLint"/>
+
+ <function name="GetVertexAttribfv" template="GetVertexAttrib" gltype="GLfloat"/>
+ <function name="GetVertexAttribiv" template="GetVertexAttrib" gltype="GLint"/>
+ <function name="GetVertexAttribPointerv" template="GetVertexAttribPointer"/>
+
+ <function name="GetBufferPointervOES" template="GetBufferPointer"/>
+ <function name="MapBufferOES" template="MapBuffer"/>
+ <function name="UnmapBufferOES" template="UnmapBuffer"/>
+ <function name="BindBuffer" template="BindBuffer"/>
+ <function name="BufferData" template="BufferData"/>
+ <function name="BufferSubData" template="BufferSubData"/>
+ <function name="DeleteBuffers" template="DeleteBuffers"/>
+ <function name="GenBuffers" template="GenBuffers"/>
+ <function name="GetBufferParameteriv" template="GetBufferParameter" gltype="GLint"/>
+ <function name="IsBuffer" template="IsBuffer"/>
+
+ <function name="CreateShader" template="CreateShader"/>
+ <function name="ShaderSource" template="ShaderSource"/>
+ <function name="CompileShader" template="CompileShader"/>
+ <function name="ReleaseShaderCompiler" template="ReleaseShaderCompiler"/>
+ <function name="DeleteShader" template="DeleteShader"/>
+ <function name="ShaderBinary" template="ShaderBinary"/>
+ <function name="CreateProgram" template="CreateProgram"/>
+ <function name="AttachShader" template="AttachShader"/>
+ <function name="DetachShader" template="DetachShader"/>
+ <function name="LinkProgram" template="LinkProgram"/>
+ <function name="UseProgram" template="UseProgram"/>
+ <function name="DeleteProgram" template="DeleteProgram"/>
+
+ <function name="GetActiveAttrib" template="GetActiveAttrib"/>
+ <function name="GetAttribLocation" template="GetAttribLocation"/>
+ <function name="BindAttribLocation" template="BindAttribLocation"/>
+ <function name="GetUniformLocation" template="GetUniformLocation"/>
+ <function name="GetActiveUniform" template="GetActiveUniform"/>
+
+ <function name="Uniform1f" template="Uniform" gltype="GLfloat" vector_size="1" expand_vector="true"/>
+ <function name="Uniform2f" template="Uniform" gltype="GLfloat" vector_size="2" expand_vector="true"/>
+ <function name="Uniform3f" template="Uniform" gltype="GLfloat" vector_size="3" expand_vector="true"/>
+ <function name="Uniform4f" template="Uniform" gltype="GLfloat" vector_size="4" expand_vector="true"/>
+ <function name="Uniform1i" template="Uniform" gltype="GLint" vector_size="1" expand_vector="true"/>
+ <function name="Uniform2i" template="Uniform" gltype="GLint" vector_size="2" expand_vector="true"/>
+ <function name="Uniform3i" template="Uniform" gltype="GLint" vector_size="3" expand_vector="true"/>
+ <function name="Uniform4i" template="Uniform" gltype="GLint" vector_size="4" expand_vector="true"/>
+
+ <function name="Uniform1fv" template="Uniform" gltype="GLfloat" vector_size="1"/>
+ <function name="Uniform2fv" template="Uniform" gltype="GLfloat" vector_size="2"/>
+ <function name="Uniform3fv" template="Uniform" gltype="GLfloat" vector_size="3"/>
+ <function name="Uniform4fv" template="Uniform" gltype="GLfloat" vector_size="4"/>
+ <function name="Uniform1iv" template="Uniform" gltype="GLint" vector_size="1"/>
+ <function name="Uniform2iv" template="Uniform" gltype="GLint" vector_size="2"/>
+ <function name="Uniform3iv" template="Uniform" gltype="GLint" vector_size="3"/>
+ <function name="Uniform4iv" template="Uniform" gltype="GLint" vector_size="4"/>
+
+ <function name="UniformMatrix2fv" template="UniformMatrix" gltype="GLfloat" vector_size="2"/>
+ <function name="UniformMatrix3fv" template="UniformMatrix" gltype="GLfloat" vector_size="3"/>
+ <function name="UniformMatrix4fv" template="UniformMatrix" gltype="GLfloat" vector_size="4"/>
+
+ <function name="ValidateProgram" template="ValidateProgram"/>
+
+ <function name="GenerateMipmap" template="GenerateMipmap"/>
+ <function name="BindFramebuffer" template="BindFramebuffer"/>
+ <function name="DeleteFramebuffers" template="DeleteFramebuffers"/>
+ <function name="GenFramebuffers" template="GenFramebuffers"/>
+ <function name="BindRenderbuffer" template="BindRenderbuffer"/>
+ <function name="DeleteRenderbuffers" template="DeleteRenderbuffers"/>
+ <function name="GenRenderbuffers" template="GenRenderbuffers"/>
+ <function name="RenderbufferStorage" external="true" template="RenderbufferStorage"/>
+ <function name="FramebufferRenderbuffer" template="FramebufferRenderbuffer"/>
+ <function name="FramebufferTexture2D" template="FramebufferTexture2D"/>
+ <function name="FramebufferTexture3DOES" template="FramebufferTexture3D"/>
+ <function name="CheckFramebufferStatus" template="CheckFramebufferStatus"/>
+ <function name="GetFramebufferAttachmentParameteriv" template="GetFramebufferAttachmentParameter" gltype="GLint"/>
+ <function name="GetRenderbufferParameteriv" template="GetRenderbufferParameter" gltype="GLint"/>
+ <function name="IsRenderbuffer" template="IsRenderbuffer"/>
+ <function name="IsFramebuffer" template="IsFramebuffer"/>
+
+ <function name="IsShader" template="IsShader"/>
+ <function name="GetShaderiv" template="GetShader" gltype="GLint"/>
+ <function name="GetAttachedShaders" template="GetAttachedShaders"/>
+ <function name="GetShaderInfoLog" template="GetShaderInfoLog"/>
+ <function name="GetProgramInfoLog" template="GetProgramInfoLog"/>
+ <function name="GetShaderSource" template="GetShaderSource"/>
+ <function name="GetShaderPrecisionFormat" template="GetShaderPrecisionFormat"/>
+ <function name="GetUniformfv" template="GetUniform" gltype="GLfloat"/>
+ <function name="GetUniformiv" template="GetUniform" gltype="GLint"/>
+
+ <!-- EXT_multi_draw_arrays -->
+ <function name="MultiDrawArraysEXT" template="MultiDrawArrays"/>
+ <function name="MultiDrawElementsEXT" template="MultiDrawElements"/>
+
+ <!-- OES_EGL_image -->
+ <function name="EGLImageTargetTexture2DOES" template="EGLImageTargetTexture2D"/>
+ <function name="EGLImageTargetRenderbufferStorageOES" template="EGLImageTargetRenderbufferStorage"/>
+</api>
+
+</apispec>
|