diff options
Diffstat (limited to 'mesalib/src/mesa/main/APIspec.xml')
-rw-r--r-- | mesalib/src/mesa/main/APIspec.xml | 8755 |
1 files changed, 4404 insertions, 4351 deletions
diff --git a/mesalib/src/mesa/main/APIspec.xml b/mesalib/src/mesa/main/APIspec.xml index 81b832841..0f82d0a38 100644 --- a/mesalib/src/mesa/main/APIspec.xml +++ b/mesalib/src/mesa/main/APIspec.xml @@ -1,4351 +1,4404 @@ -<?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>
-
- <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="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="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="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="DepthRangef" template="DepthRange" gltype="GLclampf"/>
- <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>
+<?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"> + <value name="GL_ALPHA"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_ALPHA"/> + </desc> + </desc> + + <desc name="internalFormat"> + <value name="GL_RGB"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_RGB"/> + </desc> + </desc> + + <desc name="internalFormat"> + <value name="GL_RGBA"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_RGBA"/> + </desc> + </desc> + + <desc name="internalFormat"> + <value name="GL_LUMINANCE"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_LUMINANCE"/> + </desc> + </desc> + + <desc name="internalFormat"> + <value name="GL_LUMINANCE_ALPHA"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_LUMINANCE_ALPHA"/> + </desc> + </desc> + + <desc name="internalFormat" category="OES_depth_texture"> + <value name="GL_DEPTH_COMPONENT"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_DEPTH_COMPONENT"/> + </desc> + </desc> + + <desc name="internalFormat" category="OES_packed_depth_stencil"> + <value name="GL_DEPTH_STENCIL_OES"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_DEPTH_STENCIL_OES"/> + </desc> + </desc> + + <desc name="internalFormat" category="EXT_texture_format_BGRA8888"> + <value name="GL_BGRA_EXT"/> + + <desc name="format" error="GL_INVALID_VALUE"> + <value name="GL_BGRA_EXT"/> + </desc> + </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> + + <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="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="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="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="DepthRangef" template="DepthRange" gltype="GLclampf"/> + <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> |