Files
commandergenius/project/jni/gl4es/spec/xml/gles-2.0.xml
2016-11-06 15:18:18 +02:00

1217 lines
47 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Source: https://raw.github.com/laanwj/etna_viv/master/tools/data/gles2.xml -->
<!-- Copyright (c) 2012-2013 Wladimir J. van der Laan
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sub license,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial portions
of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
-->
<!-- List of OpenGL ES 2.0 functions with parameters.
GLES2 specification in machine-parseable format for state probing.
-->
<root>
<!-- format roughly based on rnndb -->
<!-- should be extendable by extensions (later work)
values are not important here and would only cause clutter, as the values of state bits depend on the hw,
also the same tokens can (and should) be part of multiple enumerations without any harm,
they could be mapped with another map (tokens.xml) if important, ie to build hash tables
-->
<enum name="Boolean">
<value name="FALSE"/>
<value name="TRUE"/>
</enum>
<bitset name="ClearBufferMask">
<bitfield name="DEPTH_BUFFER_BIT"/>
<bitfield name="STENCIL_BUFFER_BIT"/>
<bitfield name="COLOR_BUFFER_BIT"/>
</bitset>
<enum name="BeginMode"> <!-- primitive type -->
<value name="POINTS"/>
<value name="LINES"/>
<value name="LINE_LOOP"/>
<value name="LINE_STRIP"/>
<value name="TRIANGLES"/>
<value name="TRIANGLE_STRIP"/>
<value name="TRIANGLE_FAN"/>
<!-- XXX QUADS also supported by Vivante blob, not in GLES2 -->
</enum>
<enum name="BlendingFactorDest">
<value name="ZERO"/>
<value name="ONE"/>
<value name="SRC_COLOR"/>
<value name="ONE_MINUS_SRC_COLOR"/>
<value name="DST_COLOR"/>
<value name="ONE_MINUS_DST_COLOR"/>
<value name="SRC_ALPHA"/>
<value name="ONE_MINUS_SRC_ALPHA"/>
<value name="DST_ALPHA"/>
<value name="ONE_MINUS_DST_ALPHA"/>
<value name="CONSTANT_COLOR"/>
<value name="ONE_MINUS_CONSTANT_COLOR"/>
<value name="CONSTANT_ALPHA"/>
<value name="ONE_MINUS_CONSTANT_ALPHA"/>
</enum>
<enum name="BlendingFactorSrc">
<value name="ZERO"/>
<value name="ONE"/>
<value name="SRC_COLOR"/>
<value name="ONE_MINUS_SRC_COLOR"/>
<value name="DST_COLOR"/>
<value name="ONE_MINUS_DST_COLOR"/>
<value name="SRC_ALPHA"/>
<value name="ONE_MINUS_SRC_ALPHA"/>
<value name="DST_ALPHA"/>
<value name="ONE_MINUS_DST_ALPHA"/>
<value name="CONSTANT_COLOR"/>
<value name="ONE_MINUS_CONSTANT_COLOR"/>
<value name="CONSTANT_ALPHA"/>
<value name="ONE_MINUS_CONSTANT_ALPHA"/>
<value name="SRC_ALPHA_SATURATE"/>
</enum>
<enum name="BlendEquation">
<value name="FUNC_ADD"/>
<value name="FUNC_SUBTRACT"/>
<value name="FUNC_REVERSE_SUBTRACT"/>
<!-- MIN -->
<!-- MAX -->
</enum>
<enum name="CullFaceMode"> <!-- Used by CullFace and XXXSeparate to specify face -->
<value name="FRONT"/>
<value name="BACK"/>
<value name="FRONT_AND_BACK"/>
</enum>
<enum name="EnableCap"> <!-- Enable/Disable/IsEnabled -->
<value name="BLEND"/>
<value name="CULL_FACE"/>
<value name="DEPTH_TEST"/>
<value name="DITHER"/>
<value name="POLYGON_OFFSET_FILL"/>
<value name="SAMPLE_ALPHA_TO_COVERAGE"/>
<value name="SAMPLE_COVERAGE"/>
<value name="SCISSOR_TEST"/>
<value name="STENCIL_TEST"/>
</enum>
<enum name="DepthFunction">
<value name="NEVER"/>
<value name="LESS"/>
<value name="EQUAL"/>
<value name="LEQUAL"/>
<value name="GREATER"/>
<value name="NOTEQUAL"/>
<value name="GEQUAL"/>
<value name="ALWAYS"/>
</enum>
<enum name="ErrorCode">
<value name="NO_ERROR"/>
<value name="INVALID_ENUM"/>
<value name="INVALID_VALUE"/>
<value name="INVALID_OPERATION"/>
<value name="INVALID_FRAMEBUFFER_OPERATION"/>
<value name="OUT_OF_MEMORY"/>
</enum>
<enum name="FrontFaceDirection">
<value name="CW"/>
<value name="CCW"/>
</enum>
<enum name="HintMode">
<value name="DONT_CARE"/>
<value name="FASTEST"/>
<value name="NICEST"/>
</enum>
<enum name="HintTarget">
<value name="GENERATE_MIPMAP_HINT"/>
</enum>
<enum name="DataType">
<value name="BYTE"/>
<value name="UNSIGNED_BYTE"/>
<value name="SHORT"/>
<value name="UNSIGNED_SHORT"/>
<value name="INT"/>
<value name="UNSIGNED_INT"/>
<value name="FLOAT"/>
<value name="FIXED"/>
</enum>
<enum name="PixelFormat">
<!-- XXX split up? used by various functions;
ReadPixels only accepts ALPHA, RGB, RGBA
TexImage2D only accepts ALPHA, RGB, RGBA, LUMINANCE, LUMINANCE_ALPHA
See also TextureInternalFormat
-->
<value name="DEPTH_COMPONENT"/>
<value name="ALPHA"/>
<value name="RGB"/>
<value name="RGBA"/>
<value name="LUMINANCE"/>
<value name="LUMINANCE_ALPHA"/>
</enum>
<enum name="PixelType">
<value name="UNSIGNED_BYTE"/>
<value name="UNSIGNED_SHORT_4_4_4_4"/>
<value name="UNSIGNED_SHORT_5_5_5_1"/>
<value name="UNSIGNED_SHORT_5_6_5"/>
</enum>
<enum name="StencilFunction">
<value name="NEVER"/>
<value name="LESS"/>
<value name="EQUAL"/>
<value name="LEQUAL"/>
<value name="GREATER"/>
<value name="NOTEQUAL"/>
<value name="GEQUAL"/>
<value name="ALWAYS"/>
</enum>
<enum name="StencilOp">
<value name="ZERO"/>
<value name="KEEP"/>
<value name="REPLACE"/>
<value name="INCR"/>
<value name="DECR"/>
<value name="INVERT"/>
<value name="INCR_WRAP"/>
<value name="DECR_WRAP"/>
</enum>
<enum name="StringName">
<value name="VENDOR"/>
<value name="RENDERER"/>
<value name="VERSION"/>
<value name="SHADING_LANGUAGE_VERSION"/>
<value name="EXTENSIONS"/>
</enum>
<enum name="TextureMagFilter">
<value name="NEAREST"/>
<value name="LINEAR"/>
</enum>
<enum name="TextureMinFilter">
<value name="NEAREST"/>
<value name="LINEAR"/>
<value name="NEAREST_MIPMAP_NEAREST"/>
<value name="LINEAR_MIPMAP_NEAREST"/>
<value name="NEAREST_MIPMAP_LINEAR"/>
<value name="LINEAR_MIPMAP_LINEAR"/>
</enum>
<enum name="TextureParameterName">
<value name="TEXTURE_MAG_FILTER"/>
<value name="TEXTURE_MIN_FILTER"/>
<value name="TEXTURE_WRAP_S"/>
<value name="TEXTURE_WRAP_T"/>
</enum>
<enum name="TextureTarget"> <!-- general texture target -->
<value name="TEXTURE_2D"/>
<value name="TEXTURE_CUBE_MAP"/>
</enum>
<enum name="TextureTargetFace"> <!-- used when a specific face is to be specified, ie when uploading or binding framebuffer texture -->
<value name="TEXTURE_2D"/>
<value name="TEXTURE_CUBE_MAP_POSITIVE_X"/>
<value name="TEXTURE_CUBE_MAP_NEGATIVE_X"/>
<value name="TEXTURE_CUBE_MAP_POSITIVE_Y"/>
<value name="TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
<value name="TEXTURE_CUBE_MAP_POSITIVE_Z"/>
<value name="TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
</enum>
<enum name="TextureUnit">
<value name="TEXTURE0"/>
<value name="TEXTURE1"/>
<value name="TEXTURE2"/>
<value name="TEXTURE3"/>
<value name="TEXTURE4"/>
<value name="TEXTURE5"/>
<value name="TEXTURE6"/>
<value name="TEXTURE7"/>
<value name="TEXTURE8"/>
<value name="TEXTURE9"/>
<value name="TEXTURE10"/>
<value name="TEXTURE11"/>
<value name="TEXTURE12"/>
<value name="TEXTURE13"/>
<value name="TEXTURE14"/>
<value name="TEXTURE15"/>
<value name="TEXTURE16"/>
<value name="TEXTURE17"/>
<value name="TEXTURE18"/>
<value name="TEXTURE19"/>
<value name="TEXTURE20"/>
<value name="TEXTURE21"/>
<value name="TEXTURE22"/>
<value name="TEXTURE23"/>
<value name="TEXTURE24"/>
<value name="TEXTURE25"/>
<value name="TEXTURE26"/>
<value name="TEXTURE27"/>
<value name="TEXTURE28"/>
<value name="TEXTURE29"/>
<value name="TEXTURE30"/>
<value name="TEXTURE31"/>
</enum>
<enum name="TextureWrapMode">
<value name="REPEAT"/>
<value name="CLAMP_TO_EDGE"/>
<value name="MIRRORED_REPEAT"/>
</enum>
<enum name="TextureInternalFormat"> <!-- (Copy)TexImage2D -->
<value name="ALPHA"/>
<value name="LUMINANCE"/>
<value name="LUMINANCE_ALPHA"/>
<value name="RGB"/>
<value name="RGBA"/>
</enum>
<enum name="RenderbufferInternalFormat"> <!-- RenderbufferStorage / GetRenderbufferParameter -->
<value name="RGBA4"/>
<value name="RGB565"/>
<value name="RGB5_A1"/>
<value name="DEPTH_COMPONENT16"/>
<value name="STENCIL_INDEX8"/>
</enum>
<enum name="UniformType"> <!-- GetActiveAttrib/GetActiveUniform -->
<value name="FLOAT"/>
<value name="FLOAT_VEC2"/>
<value name="FLOAT_VEC3"/>
<value name="FLOAT_VEC4"/>
<value name="INT"/>
<value name="INT_VEC2"/>
<value name="INT_VEC3"/>
<value name="INT_VEC4"/>
<value name="BOOL"/>
<value name="BOOL_VEC2"/>
<value name="BOOL_VEC3"/>
<value name="BOOL_VEC4"/>
<value name="FLOAT_MAT2"/>
<value name="FLOAT_MAT3"/>
<value name="FLOAT_MAT4"/>
<value name="SAMPLER_2D"/>
<value name="SAMPLER_CUBE"/>
</enum>
<enum name="FramebufferAttachment">
<value name="COLOR_ATTACHMENT0"/>
<value name="DEPTH_ATTACHMENT"/>
<value name="STENCIL_ATTACHMENT"/>
</enum>
<enum name="FramebufferStatus"> <!-- as returned by CheckFramebufferStatus -->
<value name="FRAMEBUFFER_COMPLETE"/>
<value name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
<value name="FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
<value name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
<value name="FRAMEBUFFER_UNSUPPORTED"/>
</enum>
<enum name="FramebufferTarget">
<value name="FRAMEBUFFER"/>
</enum>
<enum name="RenderbufferTarget">
<value name="RENDERBUFFER"/>
</enum>
<enum name="GetVertexAttribParameterPName">
<value name="VERTEX_ATTRIB_ARRAY_ENABLED"/>
<value name="VERTEX_ATTRIB_ARRAY_SIZE"/>
<value name="VERTEX_ATTRIB_ARRAY_STRIDE"/>
<value name="VERTEX_ATTRIB_ARRAY_TYPE"/>
<value name="VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
<value name="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
<value name="CURRENT_VERTEX_ATTRIB"/>
</enum>
<enum name="GetBufferParameterPName">
<value name="BUFFER_SIZE"/>
<value name="BUFFER_USAGE"/>
</enum>
<enum name="BufferTarget">
<value name="ARRAY_BUFFER"/>
<value name="ELEMENT_ARRAY_BUFFER"/>
</enum>
<enum name="BufferUsage">
<value name="STREAM_DRAW"/>
<value name="STATIC_DRAW"/>
<value name="DYNAMIC_DRAW"/>
</enum>
<enum name="ShaderType">
<value name="VERTEX_SHADER"/>
<value name="FRAGMENT_SHADER"/>
</enum>
<enum name="PrecisionType"> <!-- GetShaderPrecisionFormat -->
<value name="LOW_FLOAT"/>
<value name="MEDIUM_FLOAT"/>
<value name="HIGH_FLOAT"/>
<value name="LOW_INT"/>
<value name="MEDIUM_INT"/>
<value name="HIGH_INT"/>
</enum>
<enum name="IndexType"> <!-- glDrawElephants type -->
<value name="UNSIGNED_SHORT" brief="16 bit indices"/>
<value name="UNSIGNED_BYTE" brief="32 bit indices"/>
</enum>
<enum name="GetPName">
<value name="ACTIVE_TEXTURE"/>
<value name="ALIASED_LINE_WIDTH_RANGE"/>
<value name="ALIASED_POINT_SIZE_RANGE"/>
<value name="ALPHA_BITS"/>
<value name="ARRAY_BUFFER_BINDING"/>
<value name="BLEND"/>
<value name="BLEND_COLOR"/>
<value name="BLEND_DST_ALPHA"/>
<value name="BLEND_DST_RGB"/>
<value name="BLEND_EQUATION_ALPHA"/>
<value name="BLEND_EQUATION_RGB"/>
<value name="BLEND_SRC_ALPHA"/>
<value name="BLEND_SRC_RGB"/>
<value name="BLUE_BITS"/>
<value name="COLOR_CLEAR_VALUE"/>
<value name="COLOR_WRITEMASK"/>
<value name="COMPRESSED_TEXTURE_FORMATS"/>
<value name="CULL_FACE"/>
<value name="CULL_FACE_MODE"/>
<value name="CURRENT_PROGRAM"/>
<value name="DEPTH_BITS"/>
<value name="DEPTH_CLEAR_VALUE"/>
<value name="DEPTH_FUNC"/>
<value name="DEPTH_RANGE"/>
<value name="DEPTH_TEST"/>
<value name="DEPTH_WRITEMASK"/>
<value name="DITHER"/>
<value name="ELEMENT_ARRAY_BUFFER_BINDING"/>
<value name="FRAMEBUFFER_BINDING"/>
<value name="FRONT_FACE"/>
<value name="GENERATE_MIPMAP_HINT"/>
<value name="GREEN_BITS"/>
<value name="IMPLEMENTATION_COLOR_READ_FORMAT"/>
<value name="IMPLEMENTATION_COLOR_READ_TYPE"/>
<value name="LINE_WIDTH"/>
<value name="MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
<value name="MAX_CUBE_MAP_TEXTURE_SIZE"/>
<value name="MAX_FRAGMENT_UNIFORM_VECTORS"/>
<value name="MAX_RENDERBUFFER_SIZE"/>
<value name="MAX_TEXTURE_IMAGE_UNITS"/>
<value name="MAX_TEXTURE_SIZE"/>
<value name="MAX_VARYING_VECTORS"/>
<value name="MAX_VERTEX_ATTRIBS"/>
<value name="MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
<value name="MAX_VERTEX_UNIFORM_VECTORS"/>
<value name="MAX_VIEWPORT_DIMS"/>
<value name="NUM_COMPRESSED_TEXTURE_FORMATS"/>
<value name="NUM_SHADER_BINARY_FORMATS"/>
<value name="PACK_ALIGNMENT"/>
<value name="POLYGON_OFFSET_FACTOR"/>
<value name="POLYGON_OFFSET_FILL"/>
<value name="POLYGON_OFFSET_UNITS"/>
<value name="RED_BITS"/>
<value name="RENDERBUFFER_BINDING"/>
<value name="SAMPLE_TO_ALPHA_COVERAGE"/>
<value name="SAMPLE_BUFFERS"/>
<value name="SAMPLE_COVERAGE"/>
<value name="SAMPLE_COVERAGE_INVERT"/>
<value name="SAMPLE_COVERAGE_VALUE"/>
<value name="SAMPLES"/>
<value name="SCISSOR_BOX"/>
<value name="SCISSOR_TEST"/>
<value name="SHADER_BINARY_FORMATS"/>
<value name="SHADER_COMPILER"/>
<value name="STENCIL_BACK_FAIL"/>
<value name="STENCIL_BACK_FUNC"/>
<value name="STENCIL_BACK_PASS_DEPTH_FAIL"/>
<value name="STENCIL_BACK_PASS_DEPTH_PASS"/>
<value name="STENCIL_BACK_REF"/>
<value name="STENCIL_BACK_VALUE_MASK"/>
<value name="STENCIL_BACK_WRITEMASK"/>
<value name="STENCIL_BITS"/>
<value name="STENCIL_CLEAR_VALUE"/>
<value name="STENCIL_FAIL"/>
<value name="STENCIL_FUNC"/>
<value name="STENCIL_PASS_DEPTH_FAIL"/>
<value name="STENCIL_PASS_DEPTH_PASS"/>
<value name="STENCIL_REF"/>
<value name="STENCIL_TEST"/>
<value name="STENCIL_VALUE_MASK"/>
<value name="STENCIL_WRITEMASK"/>
<value name="SUBPIXEL_BITS"/>
<value name="TEXTURE_BINDING_2D"/>
<value name="TEXTURE_BINDING_CUBE_MAP"/>
<value name="UNPACK_ALIGNMENT"/>
<value name="VIEWPORT"/>
</enum>
<enum name="FramebufferAttachmentParameter">
<value name="ATTACHMENT_OBJECT_TYPE"/>
<value name="ATTACHMENT_OBJECT_NAME"/>
<value name="ATTACHMENT_TEXTURE_LEVEL"/>
<value name="ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
</enum>
<enum name="FramebufferAttachmentObjectType"> <!-- returned by GetFrameBufferAttachmentParameteriv -->
<value name="RENDERBUFFER"/>
<value name="TEXTURE"/>
<value name="NONE"/>
</enum>
<enum name="GetProgramPName">
<value name="DELETE_STATUS"/>
<value name="LINK_STATUS"/>
<value name="VALIDATE_STATUS"/>
<value name="INFO_LOG_LENGTH"/>
<value name="ATTACHED_SHADERS"/>
<value name="ACTIVE_ATTRIBUTES"/>
<value name="ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
<value name="ACTIVE_UNIFORMS"/>
<value name="ACTIVE_UNIFORM_MAX_LENGTH"/>
</enum>
<enum name="GetRenderbufferParameterPName">
<value name="RENDERBUFFER_WIDTH"/>
<value name="RENDERBUFFER_HEIGHT"/>
<value name="RENDERBUFFER_INTERNAL_FORMAT"/>
<value name="RENDERBUFFER_RED_SIZE"/>
<value name="RENDERBUFFER_GREEN_SIZE"/>
<value name="RENDERBUFFER_BLUE_SIZE"/>
<value name="RENDERBUFFER_ALPHA_SIZE"/>
<value name="RENDERBUFFER_DEPTH_SIZE"/>
<value name="RENDERBUFFER_STENCIL_SIZE"/>
</enum>
<enum name="GetVertexAttribPointerPName">
<value name="VERTEX_ATTRIB_ARRAY_POINTER"/>
</enum>
<enum name="PixelStorePName">
<value name="PACK_ALIGNMENT"/>
<value name="UNPACK_ALIGNMENT"/>
</enum>
<enum name="ShaderBinaryFormat">
<!-- None by default, provided by extensions -->
</enum>
<enum name="CompressedTextureFormat">
<!-- None by default, provided by extensions -->
</enum>
<enum name="VertexAttribType"> <!-- subset of DataType -->
<!-- VertexAttribPointer only needs BYTE, UNSIGNED_BYTE, SHORT, UNSIGNED_SHORT, FIXED, FLOAT
What about (UNSIGNED_)INT? Are these part of an extension?
-->
<value name="BYTE"/>
<value name="UNSIGNED_BYTE"/>
<value name="SHORT"/>
<value name="UNSIGNED_SHORT"/>
<!-- <value name="INT"/> -->
<!-- <value name="UNSIGNED_INT"/> -->
<value name="FLOAT"/>
<value name="FIXED"/>
</enum>
<enum name="GetFramebufferAttachmentParameterPName">
<value name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
<value name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
<value name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
<value name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
</enum>
<enum name="GetShaderPName">
<value name="SHADER_TYPE"/>
<value name="DELETE_STATUS"/>
<value name="COMPILE_STATUS"/>
<value name="INFO_LOG_LENGTH"/>
<value name="SHADER_SOURCE_LENGTH"/>
</enum>
<functions>
<!-- based on mesa/src/mapi/glapi/gen/*.xml -->
<function name="glActiveTexture">
<param name="texture" type="GLenum" enum="TextureUnit"/>
</function>
<function name="glAttachShader">
<param name="program" type="GLuint"/>
<param name="shader" type="GLuint"/>
</function>
<function name="glBindAttribLocation">
<param name="program" type="GLuint"/>
<param name="index" type="GLuint"/>
<param name="name" type="const GLchar *"/>
</function>
<function name="glBindBuffer">
<param name="target" type="GLenum" enum="BufferTarget"/>
<param name="buffer" type="GLuint"/>
</function>
<function name="glBindFramebuffer">
<param name="target" type="GLenum" enum="FramebufferTarget"/>
<param name="framebuffer" type="GLuint"/>
</function>
<function name="glBindRenderbuffer">
<param name="target" type="GLenum" enum="RenderbufferTarget"/>
<param name="renderbuffer" type="GLuint"/>
</function>
<function name="glBindTexture">
<param name="target" type="GLenum" enum="TextureTarget"/>
<param name="texture" type="GLuint"/>
</function>
<function name="glBlendColor">
<param name="red" type="GLclampf"/>
<param name="green" type="GLclampf"/>
<param name="blue" type="GLclampf"/>
<param name="alpha" type="GLclampf"/>
</function>
<function name="glBlendEquation">
<param name="mode" type="GLenum" enum="BlendEquation"/>
</function>
<function name="glBlendEquationSeparate">
<param name="modeRGB" type="GLenum" enum="BlendEquation"/>
<param name="modeA" type="GLenum" enum="BlendEquation"/>
</function>
<function name="glBlendFunc">
<param name="sfactor" type="GLenum" enum="BlendingFactorSrc"/>
<param name="dfactor" type="GLenum" enum="BlendingFactorDest"/>
</function>
<function name="glBlendFuncSeparate">
<param name="sfactorRGB" type="GLenum" enum="BlendingFactorSrc"/>
<param name="dfactorRGB" type="GLenum" enum="BlendingFactorDest"/>
<param name="sfactorAlpha" type="GLenum" enum="BlendingFactorSrc"/>
<param name="dfactorAlpha" type="GLenum" enum="BlendingFactorDest"/>
</function>
<function name="glBufferData">
<param name="target" type="GLenum" enum="BufferTarget"/>
<param name="size" type="GLsizeiptr" counter="true"/>
<param name="data" type="const GLvoid *" count="size" img_null_flag="true"/>
<param name="usage" type="GLenum" enum="BufferUsage"/>
</function>
<function name="glBufferSubData">
<param name="target" type="GLenum" enum="BufferTarget"/>
<param name="offset" type="GLintptr"/>
<param name="size" type="GLsizeiptr" counter="true"/>
<param name="data" type="const GLvoid *" count="size"/>
</function>
<function name="glCheckFramebufferStatus">
<param name="target" type="GLenum" enum="FramebufferTarget"/>
<return type="GLenum" enum="FramebufferStatus"/>
</function>
<function name="glClear">
<param name="mask" type="GLbitfield" bitfield="ClearBufferMask"/>
</function>
<function name="glClearColor">
<param name="red" type="GLclampf"/>
<param name="green" type="GLclampf"/>
<param name="blue" type="GLclampf"/>
<param name="alpha" type="GLclampf"/>
</function>
<function name="glClearDepthf">
<param name="depth" type="GLclampf"/>
</function>
<function name="glClearStencil">
<param name="s" type="GLint"/>
</function>
<function name="glColorMask">
<param name="red" type="GLboolean"/>
<param name="green" type="GLboolean"/>
<param name="blue" type="GLboolean"/>
<param name="alpha" type="GLboolean"/>
</function>
<function name="glCompileShader">
<param name="shader" type="GLuint"/>
</function>
<function name="glCompressedTexImage2D">
<param name="target" type="GLenum" enum="TextureTargetFace"/>
<param name="level" type="GLint"/>
<param name="internalformat" type="GLenum" enum="CompressedTextureFormat"/>
<param name="width" type="GLsizei"/>
<param name="height" type="GLsizei"/>
<param name="border" type="GLint"/>
<param name="imageSize" type="GLsizei" counter="true"/>
<param name="data" type="const GLvoid *" count="imageSize"/>
</function>
<function name="glCompressedTexSubImage2D">
<param name="target" type="GLenum" enum="TextureTargetFace"/>
<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" enum="CompressedTextureFormat"/>
<param name="imageSize" type="GLsizei" counter="true"/>
<param name="data" type="const GLvoid *" count="imageSize"/>
</function>
<function name="glCopyTexImage2D">
<param name="target" type="GLenum" enum="TextureTargetFace"/>
<param name="level" type="GLint"/>
<param name="internalformat" type="GLenum" enum="TextureInternalFormat"/>
<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"/>
</function>
<function name="glCopyTexSubImage2D">
<param name="target" type="GLenum" enum="TextureTargetFace"/>
<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"/>
</function>
<function name="glCreateProgram">
<return type="GLuint"/>
</function>
<function name="glCreateShader">
<param name="type" type="GLenum" enum="ShaderType"/>
<return type="GLuint"/>
</function>
<function name="glCullFace">
<param name="mode" type="GLenum" enum="CullFaceMode"/>
</function>
<function name="glDeleteBuffers">
<param name="n" type="GLsizei" counter="true"/>
<param name="buffer" type="const GLuint *" count="n"/>
</function>
<function name="glDeleteFramebuffers">
<param name="n" type="GLsizei" counter="true"/>
<param name="framebuffers" type="const GLuint *" count="n"/>
</function>
<function name="glDeleteProgram">
<param name="program" type="GLuint"/>
</function>
<function name="glDeleteRenderbuffers">
<param name="n" type="GLsizei" counter="true"/>
<param name="renderbuffers" type="const GLuint *" count="n"/>
</function>
<function name="glDeleteShader">
<param name="program" type="GLuint"/>
</function>
<function name="glDeleteTextures">
<param name="n" type="GLsizei" counter="true"/>
<param name="textures" type="const GLuint *" count="n"/>
</function>
<function name="glDepthFunc">
<param name="func" type="GLenum" enum="DepthFunction"/>
</function>
<function name="glDepthMask">
<param name="flag" type="GLboolean"/>
</function>
<function name="glDepthRangef">
<param name="zNear" type="GLclampf"/>
<param name="zFar" type="GLclampf"/>
</function>
<function name="glDetachShader">
<param name="program" type="GLuint"/>
<param name="shader" type="GLuint"/>
</function>
<function name="glDisable">
<param name="cap" type="GLenum" enum="EnableCap"/>
</function>
<function name="glDisableVertexAttribArray">
<param name="index" type="GLuint"/>
</function>
<function name="glDrawArrays">
<param name="mode" type="GLenum" enum="BeginMode"/>
<param name="first" type="GLint"/>
<param name="count" type="GLsizei"/>
</function>
<function name="glDrawElements">
<param name="mode" type="GLenum" enum="BeginMode"/>
<param name="count" type="GLsizei"/>
<param name="type" type="GLenum" enum="IndexType"/>
<param name="indices" type="const GLvoid *"/>
</function>
<function name="glEnable">
<param name="cap" type="GLenum" enum="EnableCap"/>
</function>
<function name="glEnableVertexAttribArray">
<param name="index" type="GLuint"/>
</function>
<function name="glFinish">
</function>
<function name="glFlush">
</function>
<function name="glFramebufferRenderbuffer">
<param name="target" type="GLenum" enum="FramebufferTarget"/>
<param name="attachment" type="GLenum" enum="FramebufferAttachment"/>
<param name="renderbuffertarget" type="GLenum" enum="RenderbufferTarget"/>
<param name="renderbuffer" type="GLuint"/>
</function>
<function name="glFramebufferTexture2D">
<param name="target" type="GLenum" enum="FramebufferTarget"/>
<param name="attachment" type="GLenum" enum="FramebufferAttachment"/>
<param name="textarget" type="GLenum" enum="TextureTargetFace"/>
<param name="texture" type="GLuint"/>
<param name="level" type="GLint"/>
</function>
<function name="glFrontFace">
<param name="mode" type="GLenum" enum="FrontFaceDirection"/>
</function>
<function name="glGenBuffers">
<param name="n" type="GLsizei" counter="true"/>
<param name="buffer" type="GLuint *" output="true" count="n"/>
</function>
<function name="glGenerateMipmap">
<param name="target" type="GLenum" enum="TextureTarget"/>
</function>
<function name="glGenFramebuffers">
<param name="n" type="GLsizei" counter="true"/>
<param name="framebuffers" type="GLuint *" count="n" output="true"/>
</function>
<function name="glGenRenderbuffers">
<param name="n" type="GLsizei" counter="true"/>
<param name="renderbuffers" type="GLuint *" count="n" output="true"/>
</function>
<function name="glGenTextures">
<param name="n" type="GLsizei" counter="true"/>
<param name="textures" type="GLuint *" output="true" count="n"/>
</function>
<function name="glGetActiveAttrib">
<param name="program" type="GLuint"/>
<param name="index" type="GLuint"/>
<param name="bufSize" type="GLsizei"/>
<param name="length" type="GLsizei *" output="true"/>
<param name="size" type="GLint *" output="true"/>
<param name="type" type="GLenum *" output="true" enum="UniformType"/>
<param name="name" type="GLchar *" output="true"/>
</function>
<function name="glGetActiveUniform">
<param name="program" type="GLuint"/>
<param name="index" type="GLuint"/>
<param name="bufSize" type="GLsizei"/>
<param name="length" type="GLsizei *" output="true"/>
<param name="size" type="GLint *" output="true"/>
<param name="type" type="GLenum *" output="true" enum="UniformType"/>
<param name="name" type="GLchar *" output="true"/>
</function>
<function name="glGetAttachedShaders">
<param name="program" type="GLuint"/>
<param name="maxCount" type="GLsizei"/>
<param name="count" type="GLsizei *" output="true"/>
<param name="obj" type="GLuint *" output="true"/>
</function>
<function name="glGetAttribLocation">
<param name="program" type="GLuint"/>
<param name="name" type="const GLchar *"/>
<return type="GLint"/>
</function>
<function name="glGetBooleanv">
<param name="pname" type="GLenum" enum="GetPName"/>
<param name="params" type="GLboolean *" output="true" variable_param="pname"/>
</function>
<function name="glGetBufferParameteriv">
<param name="target" type="GLenum" enum="BufferTarget"/>
<param name="pname" type="GLenum" enum="GetBufferParameterPName"/>
<param name="params" type="GLint *" output="true" variable_param="pname"/>
</function>
<function name="glGetError">
<return type="GLenum" enum="ErrorCode"/>
</function>
<function name="glGetFloatv">
<param name="pname" type="GLenum" enum="GetPName"/>
<param name="params" type="GLfloat *" output="true" variable_param="pname"/>
</function>
<function name="glGetFramebufferAttachmentParameteriv">
<param name="target" type="GLenum" enum="FramebufferTarget"/>
<param name="attachment" type="GLenum" enum="FramebufferAttachment"/>
<param name="pname" type="GLenum" enum="GetFramebufferAttachmentParameterPName"/>
<param name="params" type="GLint *" output="true"/>
</function>
<function name="glGetIntegerv">
<param name="pname" type="GLenum" enum="GetPName"/>
<param name="params" type="GLint *" output="true" variable_param="pname"/>
</function>
<function name="glGetProgramiv">
<param name="program" type="GLuint"/>
<param name="pname" type="GLenum" enum="GetProgramPName"/>
<param name="params" type="GLint *"/>
</function>
<function name="glGetProgramInfoLog">
<param name="program" type="GLuint"/>
<param name="bufSize" type="GLsizei"/>
<param name="length" type="GLsizei *"/>
<param name="infoLog" type="GLchar *"/>
</function>
<function name="glGetRenderbufferParameteriv">
<param name="target" type="GLenum" enum="RenderbufferTarget"/>
<param name="pname" type="GLenum" enum="GetRenderbufferParameterPName"/>
<param name="params" type="GLint *" output="true"/>
</function>
<function name="glGetShaderiv">
<param name="shader" type="GLuint"/>
<param name="pname" type="GLenum" enum="GetShaderPName"/>
<param name="params" type="GLint *"/>
</function>
<function name="glGetShaderInfoLog">
<param name="shader" type="GLuint"/>
<param name="bufSize" type="GLsizei"/>
<param name="length" type="GLsizei *"/>
<param name="infoLog" type="GLchar *"/>
</function>
<function name="glGetShaderPrecisionFormat">
<param name="shadertype" type="GLenum" enum="ShaderType"/>
<param name="precisiontype" type="GLenum" enum="PrecisionType"/>
<param name="range" type="GLint *"/>
<param name="precision" type="GLint *"/>
</function>
<function name="glGetShaderSource">
<param name="shader" type="GLuint"/>
<param name="bufSize" type="GLsizei"/>
<param name="length" type="GLsizei *" output="true"/>
<param name="source" type="GLchar *" output="true"/>
</function>
<function name="glGetString">
<param name="name" type="GLenum" enum="StringName"/>
<return type="const GLubyte *"/>
</function>
<function name="glGetTexParameterfv">
<param name="target" type="GLenum" enum="TextureTarget"/>
<param name="pname" type="GLenum" enum="TextureParameterName"/>
<param name="params" type="GLfloat *" output="true" variable_param="pname"/>
</function>
<function name="glGetTexParameteriv">
<param name="target" type="GLenum" enum="TextureTarget"/>
<param name="pname" type="GLenum" enum="TextureParameterName"/>
<param name="params" type="GLint *" output="true" variable_param="pname"/>
</function>
<function name="glGetUniformfv">
<param name="program" type="GLuint"/>
<param name="location" type="GLint"/>
<param name="params" type="GLfloat *" output="true"/>
</function>
<function name="glGetUniformiv">
<param name="program" type="GLuint"/>
<param name="location" type="GLint"/>
<param name="params" type="GLint *" output="true"/>
</function>
<function name="glGetUniformLocation">
<param name="program" type="GLuint"/>
<param name="name" type="const GLchar *"/>
<return type="GLint"/>
</function>
<function name="glGetVertexAttribfv">
<param name="index" type="GLuint"/>
<param name="pname" type="GLenum" enum="GetVertexAttribParameterPName"/>
<param name="params" type="GLfloat *" output="true" variable_param="pname"/>
</function>
<function name="glGetVertexAttribiv">
<param name="index" type="GLuint"/>
<param name="pname" type="GLenum" enum="GetVertexAttribParameterPName"/>
<param name="params" type="GLint *" output="true" variable_param="pname"/>
</function>
<function name="glGetVertexAttribPointerv">
<param name="index" type="GLuint"/>
<param name="pname" type="GLenum" enum="GetVertexAttribPointerPName"/>
<param name="pointer" type="GLvoid **" output="true"/>
</function>
<function name="glHint">
<param name="target" type="GLenum" enum="HintTarget"/>
<param name="mode" type="GLenum" enum="HintMode"/>
</function>
<function name="glIsBuffer">
<param name="buffer" type="GLuint"/>
<return type="GLboolean"/>
</function>
<function name="glIsEnabled">
<param name="cap" type="GLenum" enum="EnableCap"/>
<return type="GLboolean"/>
</function>
<function name="glIsFramebuffer">
<param name="framebuffer" type="GLuint"/>
<return type="GLboolean"/>
</function>
<function name="glIsProgram">
<param name="program" type="GLuint"/>
<return type="GLboolean"/>
</function>
<function name="glIsRenderbuffer">
<param name="renderbuffer" type="GLuint"/>
<return type="GLboolean"/>
</function>
<function name="glIsShader">
<param name="shader" type="GLuint"/>
<return type="GLboolean"/>
</function>
<function name="glIsTexture">
<param name="texture" type="GLuint"/>
<return type="GLboolean"/>
</function>
<function name="glLineWidth">
<param name="width" type="GLfloat"/>
</function>
<function name="glLinkProgram">
<param name="program" type="GLuint"/>
</function>
<function name="glPixelStorei">
<param name="pname" type="GLenum" enum="PixelStorePName"/>
<param name="param" type="GLint"/>
</function>
<function name="glPolygonOffset">
<param name="factor" type="GLfloat"/>
<param name="units" type="GLfloat"/>
</function>
<function name="glReadPixels">
<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" enum="PixelFormat"/>
<param name="type" type="GLenum" enum="PixelType"/>
<param name="pixels" type="GLvoid *" output="true" img_width="width" img_height="height" img_format="format" img_type="type" img_target="0"/>
</function>
<function name="glReleaseShaderCompiler">
</function>
<function name="glRenderbufferStorage">
<param name="target" type="GLenum" enum="RenderbufferTarget"/>
<param name="internalformat" type="GLenum" enum="RenderbufferInternalFormat"/>
<param name="width" type="GLsizei"/>
<param name="height" type="GLsizei"/>
</function>
<function name="glSampleCoverage">
<param name="value" type="GLclampf"/>
<param name="invert" type="GLboolean"/>
</function>
<function name="glScissor">
<param name="x" type="GLint"/>
<param name="y" type="GLint"/>
<param name="width" type="GLsizei"/>
<param name="height" type="GLsizei"/>
</function>
<function name="glShaderBinary">
<param name="n" type="GLsizei"/>
<param name="shaders" type="const GLuint *"/>
<param name="binaryformat" type="GLenum" enum="ShaderBinaryFormat"/>
<param name="binary" type="const GLvoid *"/>
<param name="length" type="GLsizei"/>
</function>
<function name="glShaderSource">
<param name="shader" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="string" type="const GLchar * const *"/>
<param name="length" type="const GLint *"/>
</function>
<function name="glStencilFunc">
<param name="func" type="GLenum" enum="StencilFunction"/>
<param name="ref" type="GLint"/>
<param name="mask" type="GLuint"/>
</function>
<function name="glStencilFuncSeparate">
<param name="face" type="GLenum" enum="CullFaceMode"/>
<param name="func" type="GLenum" enum="StencilFunction"/>
<param name="ref" type="GLint"/>
<param name="mask" type="GLuint"/>
</function>
<function name="glStencilMask">
<param name="mask" type="GLuint"/>
</function>
<function name="glStencilMaskSeparate">
<param name="face" type="GLenum" enum="CullFaceMode"/>
<param name="mask" type="GLuint"/>
</function>
<function name="glStencilOp">
<param name="fail" type="GLenum" enum="StencilOp"/>
<param name="zfail" type="GLenum" enum="StencilOp"/>
<param name="zpass" type="GLenum" enum="StencilOp"/>
</function>
<function name="glStencilOpSeparate">
<param name="face" type="GLenum" enum="CullFaceMode"/>
<param name="sfail" type="GLenum" enum="StencilOp"/>
<param name="zfail" type="GLenum" enum="StencilOp"/>
<param name="zpass" type="GLenum" enum="StencilOp"/>
</function>
<function name="glTexImage2D">
<param name="target" type="GLenum" enum="TextureTargetFace"/>
<param name="level" type="GLint"/>
<param name="internalformat" type="GLint" enum="TextureInternalFormat"/>
<param name="width" type="GLsizei"/>
<param name="height" type="GLsizei"/>
<param name="border" type="GLint"/>
<param name="format" type="GLenum" enum="PixelFormat"/>
<param name="type" type="GLenum" enum="PixelType"/>
<param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_format="format" img_type="type" img_target="target" img_send_null="true" img_pad_dimensions="true"/>
</function>
<function name="glTexParameterf">
<param name="target" type="GLenum" enum="TextureTarget"/>
<param name="pname" type="GLenum" enum="TextureParameterName"/>
<param name="param" type="GLfloat"/>
</function>
<function name="glTexParameterfv">
<param name="target" type="GLenum" enum="TextureTarget"/>
<param name="pname" type="GLenum" enum="TextureParameterName"/>
<param name="params" type="const GLfloat *" variable_param="pname"/>
</function>
<function name="glTexParameteri">
<param name="target" type="GLenum" enum="TextureTarget"/>
<param name="pname" type="GLenum" enum="TextureParameterName"/>
<param name="param" type="GLint"/>
</function>
<function name="glTexParameteriv">
<param name="target" type="GLenum" enum="TextureTarget"/>
<param name="pname" type="GLenum" enum="TextureParameterName"/>
<param name="params" type="const GLint *" variable_param="pname"/>
</function>
<function name="glTexSubImage2D">
<param name="target" type="GLenum" enum="TextureTargetFace"/>
<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" enum="PixelFormat"/>
<param name="type" type="GLenum" enum="PixelType"/>
<param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_xoff="xoffset" img_yoff="yoffset" img_format="format" img_type="type" img_target="target" img_pad_dimensions="true"/>
</function>
<function name="glUniform1f">
<param name="location" type="GLint"/>
<param name="v0" type="GLfloat"/>
</function>
<function name="glUniform1fv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLfloat *"/>
</function>
<function name="glUniform1i">
<param name="location" type="GLint"/>
<param name="v0" type="GLint"/>
</function>
<function name="glUniform1iv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLint *"/>
</function>
<function name="glUniform2f">
<param name="location" type="GLint"/>
<param name="v0" type="GLfloat"/>
<param name="v1" type="GLfloat"/>
</function>
<function name="glUniform2fv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLfloat *"/>
</function>
<function name="glUniform2i">
<param name="location" type="GLint"/>
<param name="v0" type="GLint"/>
<param name="v1" type="GLint"/>
</function>
<function name="glUniform2iv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLint *"/>
</function>
<function name="glUniform3f">
<param name="location" type="GLint"/>
<param name="v0" type="GLfloat"/>
<param name="v1" type="GLfloat"/>
<param name="v2" type="GLfloat"/>
</function>
<function name="glUniform3fv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLfloat *"/>
</function>
<function name="glUniform3i">
<param name="location" type="GLint"/>
<param name="v0" type="GLint"/>
<param name="v1" type="GLint"/>
<param name="v2" type="GLint"/>
</function>
<function name="glUniform3iv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLint *"/>
</function>
<function name="glUniform4f">
<param name="location" type="GLint"/>
<param name="v0" type="GLfloat"/>
<param name="v1" type="GLfloat"/>
<param name="v2" type="GLfloat"/>
<param name="v3" type="GLfloat"/>
</function>
<function name="glUniform4fv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLfloat *"/>
</function>
<function name="glUniform4i">
<param name="location" type="GLint"/>
<param name="v0" type="GLint"/>
<param name="v1" type="GLint"/>
<param name="v2" type="GLint"/>
<param name="v3" type="GLint"/>
</function>
<function name="glUniform4iv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="value" type="const GLint *"/>
</function>
<function name="glUniformMatrix2fv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="transpose" type="GLboolean"/>
<param name="value" type="const GLfloat *"/>
</function>
<function name="glUniformMatrix3fv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="transpose" type="GLboolean"/>
<param name="value" type="const GLfloat *"/>
</function>
<function name="glUniformMatrix4fv">
<param name="location" type="GLint"/>
<param name="count" type="GLsizei"/>
<param name="transpose" type="GLboolean"/>
<param name="value" type="const GLfloat *"/>
</function>
<function name="glUseProgram">
<param name="program" type="GLuint"/>
</function>
<function name="glValidateProgram">
<param name="program" type="GLuint"/>
</function>
<function name="glVertexAttrib1f">
<param name="index" type="GLuint"/>
<param name="x" type="GLfloat"/>
</function>
<function name="glVertexAttrib1fv">
<param name="index" type="GLuint"/>
<param name="v" type="const GLfloat *"/>
</function>
<function name="glVertexAttrib2f">
<param name="index" type="GLuint"/>
<param name="x" type="GLfloat"/>
<param name="y" type="GLfloat"/>
</function>
<function name="glVertexAttrib2fv">
<param name="index" type="GLuint"/>
<param name="v" type="const GLfloat *"/>
</function>
<function name="glVertexAttrib3f">
<param name="index" type="GLuint"/>
<param name="x" type="GLfloat"/>
<param name="y" type="GLfloat"/>
<param name="z" type="GLfloat"/>
</function>
<function name="glVertexAttrib3fv">
<param name="index" type="GLuint"/>
<param name="v" type="const GLfloat *"/>
</function>
<function name="glVertexAttrib4f">
<param name="index" type="GLuint"/>
<param name="x" type="GLfloat"/>
<param name="y" type="GLfloat"/>
<param name="z" type="GLfloat"/>
<param name="w" type="GLfloat"/>
</function>
<function name="glVertexAttrib4fv">
<param name="index" type="GLuint"/>
<param name="v" type="const GLfloat *"/>
</function>
<function name="glVertexAttribPointer">
<param name="index" type="GLuint"/>
<param name="size" type="GLint"/>
<param name="type" type="GLenum" enum="VertexAttribType"/>
<param name="normalized" type="GLboolean"/>
<param name="stride" type="GLsizei"/>
<param name="pointer" type="const GLvoid *"/>
</function>
<function name="glViewport">
<param name="x" type="GLint"/>
<param name="y" type="GLint"/>
<param name="width" type="GLsizei"/>
<param name="height" type="GLsizei"/>
</function>
</functions>
</root>