Inertia's picture

[ES 2.0] Cleanup #1

Project:The Open Toolkit library
Version:1.0-beta-1
Component:Code
Category:task
Priority:normal
Assigned:Unassigned
Status:closed
Description

enum BlendMode
{
Funcadd = ((int)0X8006),
Funcsubtract = ((int)0X800a),
Funcreversesubtract = ((int)0X800b),
}

SVN: void BlendEquation( OpenTK.Graphics.GLES20.All mode)
New: void BlendEquation( BlendMode mode)

SVN: void BlendEquationSeparate( OpenTK.Graphics.GLES20.All modeRGB, OpenTK.Graphics.GLES20.All modeAlpha)
New: void BlendEquationSeparate( BlendMode modeRGB, BlendMode modeAlpha)

-------------------------------

enum BlendFactor
{
Zero = ((int)0),
One = ((int)1),
Srccolor = ((int)0X0300),
Oneminussrccolor = ((int)0X0301),
Dstcolor = ((int)0X0306),
Oneminusdstcolor = ((int)0X0307),
Srcalpha = ((int)0X0302),
Oneminussrcalpha = ((int)0X0303),
Dstalpha = ((int)0X0304),
Oneminusdstalpha = ((int)0X0305),
Constantcolor = ((int)0X8001),
Oneminusconstantcolor = ((int)0X8002),
Constantalpha = ((int)0X8003),
Oneminusconstantalpha = ((int)0X8004),
Srcalphasaturate = ((int)0X0308), // only valid for source RGB/Alpha, do 2nd enum?
}

SVN: void BlendFunc( OpenTK.Graphics.GLES20.All sfactor, OpenTK.Graphics.GLES20.All dfactor)
New: void BlendFunc( BlendFactor sfactor, BlendFactor dfactor)

SVN: void BlendFuncSeparate( OpenTK.Graphics.GLES20.All srcRGB, OpenTK.Graphics.GLES20.All dstRGB, OpenTK.Graphics.GLES20.All srcAlpha, OpenTK.Graphics.GLES20.All dstAlpha)
New: void BlendFuncSeparate( BlendFactor srcRGB, BlendFactor dstRGB, BlendFactor srcAlpha, BlendFactor dstAlpha)

-------------------------------

enum BufferTarget
{

Arraybuffer = ((int)0X8892),
Elementarraybuffer = ((int)0X8893),

// PBO stuff missing

}

enum BufferUsage
{
Dynamicdraw = ((int)0X88e8),
Staticdraw = ((int)0X88e4),
Streamdraw = ((int)0X88e0),
}

SVN: void BindBuffer( OpenTK.Graphics.GLES20.All target, Int32 buffer)
New: void BindBuffer( BufferTarget target, Int32 buffer)

SVN: void BufferData( OpenTK.Graphics.GLES20.All target, IntPtr size, IntPtr data, OpenTK.Graphics.GLES20.All usage)
New: void BufferData( BufferTarget target, IntPtr size, IntPtr data, BufferUsage usage)

SVN: void BufferSubData( OpenTK.Graphics.GLES20.All target, IntPtr offset, IntPtr size, IntPtr data)
New: void BufferSubData( BufferTarget target, IntPtr offset, IntPtr size, IntPtr data)

enum GetBufferPName
{
Buffersize = ((int)0X8764),
Bufferusage = ((int)0X8765),
}

SVN: void GetBufferParameter( OpenTK.Graphics.GLES20.All target, OpenTK.Graphics.GLES20.All pname, Int32* @params)
New: void GetBufferParameter( BufferTarget target, GetBufferPName pname, Int32* @params)

-------------------------------

enum VertexAttribType
{
Byte = ((int)0X1400),
Unsignedbyte = ((int)0X1401),
Short = ((int)0X1402),
Unsignedshort = ((int)0X1403),
Fixed = ((int)0X140c),
Float = ((int)0X1406),
}

SVN: void VertexAttribPointer( Int32 indx, Int32 size, OpenTK.Graphics.GLES20.All type, bool normalized, Int32 stride, IntPtr ptr)
New: void VertexAttribPointer( Int32 indx, Int32 size, VertexAttribType type, bool normalized, Int32 stride, IntPtr ptr)

-------------------------------

SVN: void Clear( Int32 mask)
New: void Clear( ClearBufferMask mask)

-------------------------------

enum ShaderType
{
Vertexshader = ((int)0X8b31),
Fragmentshader = ((int)0X8b30),
}

SVN: Int32 CreateShader( OpenTK.Graphics.GLES20.All type)
New: Int32 CreateShader( ShaderType type)

SVN: void GetShaderPrecisionFormat( OpenTK.Graphics.GLES20.All shadertype, OpenTK.Graphics.GLES20.All precisiontype, Int32* range, Int32* precision)
New: void GetShaderPrecisionFormat( ShaderType shadertype, ShaderPrecision precisiontype, Int32* range, Int32* precision)

-------------------------------

SVN: void CullFace( OpenTK.Graphics.GLES20.All mode)
New: void CullFace( CullFaceMode mode)

-------------------------------

SVN: void DepthFunc( OpenTK.Graphics.GLES20.All func)
New: void DepthFunc( StencilFunction func)

Yes, the enums can be shared between stencilfunc and depthfunc. Maybe rename the enum to something like ComparisonFunction.

-------------------------------

enum DrawElementsType
{
Unsignedbyte = ((int)0X1401),
Unsignedshort = ((int)0X1403),
}

SVN: void DrawArrays( OpenTK.Graphics.GLES20.All mode, Int32 first, Int32 count)
New: void DrawArrays( BeginMode mode, Int32 first, Int32 count)

SVN: void DrawElements( OpenTK.Graphics.GLES20.All mode, Int32 count, OpenTK.Graphics.GLES20.All type, IntPtr indices)
New: void DrawElements( BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices)

-------------------------------

SVN: void Enable( OpenTK.Graphics.GLES20.All cap)
New: void Enable( EnableCap cap)

SVN: void Disable( OpenTK.Graphics.GLES20.All cap)
New: void Disable( EnableCap cap)

SVN: bool IsEnabled( OpenTK.Graphics.GLES20.All cap)
New: bool IsEnabled( EnableCap cap)

-------------------------------

SVN: void FrontFace( OpenTK.Graphics.GLES20.All mode)
New: void FrontFace( FrontFaceDirection mode)

-------------------------------

enum ReturnedAttribType
{
Float = ((int)0X1406),
Floatvec2 = ((int)0X8b50),
Floatvec3 = ((int)0X8b51),
Floatvec4 = ((int)0X8b52),
Floatmat2 = ((int)0X8b5a),
Floatmat3 = ((int)0X8b5b),
Floatmat4 = ((int)0X8b5c),
}

SVN: void GetActiveAttrib( Int32 program, Int32 index, Int32 bufsize, ref Int32 length, ref Int32 size, ref OpenTK.Graphics.GLES20.All type, String name)
New: void GetActiveAttrib( Int32 program, Int32 index, Int32 bufsize, out Int32 length, out Int32 size, out ReturnedAttribType type, String name)

-------------------------------

Enum UniformTypes is missing:
Float = ((int)0X1406),
Int = ((int)0X1404),

SVN: void GetActiveUniform( Int32 program, Int32 index, Int32 bufsize, ref Int32 length, ref Int32 size, ref OpenTK.Graphics.GLES20.All type, String name)
New: void GetActiveUniform( Int32 program, Int32 index, Int32 bufsize, out Int32 length, out Int32 size, out UniformTypes type, String name)

-------------------------------

Enum ErrorCode is missing:
Invalidframebufferoperation = ((int)0X0506),

SVN: OpenTK.Graphics.GLES20.All GetError()
New: ErrorCode GetError()

-------------------------------

enum ProgramPName
{
Deletestatus = ((int)0X8b80),
Linkstatus = ((int)0X8b82),
Validatestatus = ((int)0X8b83),
Infologlength = ((int)0X8b84),
Attachedshaders = ((int)0X8b85),
Activeattributes = ((int)0X8b89),
Activeattributemaxlength = ((int)0X8b8a),
Activeuniforms = ((int)0X8b86),
Activeuniformmaxlength = ((int)0X8b87),
}

SVN: void GetProgram( UInt32 program, OpenTK.Graphics.GLES20.All pname, ref Int32 @params)
New: void GetProgram( UInt32 program, ProgramPName pname, ref Int32 @params)

-------------------------------

enum ShaderPName
{
Shadertype = ((int)0X8b4f),
Deletestatus = ((int)0X8b80),
Compilestatus = ((int)0X8b81),
Infologlength = ((int)0X8b84),
Shadersourcelength = ((int)0X8b88),
}

SVN: void GetShader( UInt32 shader, OpenTK.Graphics.GLES20.All pname, ref Int32 @params)
New: void GetShader( UInt32 shader, ShaderPName pname, ref Int32 @params)

-------------------------------

Enum StringName is missing:
Shadinglanguageversion = ((int)0X8b8c),

BUG: function returns ubyte* (i.e. null-terminated string), not byte
SVN: Byte GetString( OpenTK.Graphics.GLES20.All name)
New: string GetString( StringName name)

-------------------------------

From existing enum VertexArrays, which isn't used elsewhere:
Remove:
Vertexattribarraypointer = ((int)0X8645),
Add:
Currentvertexattrib = ((int)0X8626),

SVN: void GetVertexAttrib( Int32 index, OpenTK.Graphics.GLES20.All pname, ref Single @params)
New: void GetVertexAttrib( Int32 index, VertexArrays pname, ref Single @params)

-------------------------------

enum VertexAttribArrayPointer // rename this to something shorter
{
Vertexattribarraypointer = ((int)0X8645),
}

SVN: void GetVertexAttribPointer( Int32 index, OpenTK.Graphics.GLES20.All pname, IntPtr pointer)
New: void GetVertexAttribPointer( Int32 index, VertexAttribArrayPointer pname, IntPtr pointer)

-------------------------------

SVN: void Hint( OpenTK.Graphics.GLES20.All target, OpenTK.Graphics.GLES20.All mode)
New: void Hint( HintTarget target, HintMode mode)

-------------------------------

SVN: void ShaderBinary( Int32 n, UInt32* shaders, OpenTK.Graphics.GLES20.All binaryformat, IntPtr binary, Int32 length)

OpenGL ES defines no specific binary formats,
but does provide a mechanism to obtain token values for such formats provided
by extensions. The number of shader binary formats supported can be obtained
by querying the value of NUM_SHADER_BINARY_FORMATS. The list of specific
binary formats supported can be obtained by querying the value of SHADER_-
BINARY_FORMATS.

Related Tokens:
Shaderbinaryformats = ((int)0X8df8),
Numshaderbinaryformats = ((int)0X8df9),

-------------------------------

Enum StencilOp is missing the Token "Zero", the rest is fine.

SVN: void StencilFunc( OpenTK.Graphics.GLES20.All func, Int32 @ref, Int32 mask)
New: void StencilFunc( StencilFunc func, Int32 @ref, Int32 mask)

SVN: void StencilFuncSeparate( OpenTK.Graphics.GLES20.All face, OpenTK.Graphics.GLES20.All func, Int32 @ref, Int32 mask)
New: void StencilFuncSeparate( CullFaceMode, StencilFunc func, Int32 @ref, Int32 mask)

SVN: void StencilMaskSeparate( OpenTK.Graphics.GLES20.All face, Int32 mask)
NEw: void StencilMaskSeparate( CullFaceMode face, Int32 mask)

SVN: void StencilOp( OpenTK.Graphics.GLES20.All fail, OpenTK.Graphics.GLES20.All zfail, OpenTK.Graphics.GLES20.All zpass)
New: void StencilOp( StencilOp fail, StencilOp zfail, StencilOp zpass)

SVN: void StencilOpSeparate( OpenTK.Graphics.GLES20.All face, OpenTK.Graphics.GLES20.All fail, OpenTK.Graphics.GLES20.All zfail, OpenTK.Graphics.GLES20.All zpass)
New: void StencilOpSeparate( CullFaceMode face, StencilOp fail, StencilOp zfail, StencilOp zpass)


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Inertia's picture

#1

First part.

Unfinished:
-PBO related tokens missing
-Come up with a good solution for ShaderBinary()

the Fiddler's picture

#2

That's a lot of work (whistles!)

Unless the specs have a definite list of binary formats, I think we should just leave this parameter as 'All' or 'int'. (I don't think there is such a list, considering every IHV can define its own extensions.)

Inertia's picture

#3

This is the easy, fun part of the cleanup. It will get really ugly with the texture, frame- and render-buffer stuff that is coming next. ;)

I also plan to do separate enums for GetFloat, GetInt, etc., the GetPName enum from our OpenGL bindings is something I never liked and I'd like to try doing this cleaner for ES (maybe even do it for GL too, if it doesn't prove to be a major headache).

The supported binary formats are implementation dependent, we could probably do something similar to X-Ram's wrapper but I think that's futile unless we have dozens of different platforms to test this on. Like you said, 'All' or 'int' it is for now, I see no way doing this without either users being active helpers in testing it, or having the devices available.

the Fiddler's picture

#4

Status:in progress» confirmed
Inertia's picture

#5

Title:ES 2.0 Cleanup #1» [ES 2.0] Cleanup #1
<enum name="BlendMode">
  <token name="FuncAdd" value="0X8006" />
  <token name="FuncSubtract" value="0X800a" />
  <token name="FuncReverseSubtract" value="0X800b" />
</enum>
 
<function name="BlendEquation" extension="Core" version="2.0">
  <param name="mode"><type>BlendMode</type></param>
</function>
 
<function name="BlendEquationSeparate" extension="Core" version="2.0">
  <param name="modeRGB"><type>BlendMode</type></param>
  <param name="modeAlpha"><type>BlendMode</type></param>
</function>
 
<enum name="BlendFactor">
  <token name="Zero" value="0" />
  <token name="One" value="1" />
  <token name="SrcColor" value="0X0300" />
  <token name="OneMinusSrcColor" value="0X0301" />
  <token name="DstColor" value="0X0306" />
  <token name="OneMinusDstColor" value="0X0307" />
  <token name="SrcAlpha" value="0X0302" />
  <token name="OneMinusSrcAlpha" value="0X0303" />
  <token name="DstAlpha" value="0X0304" />
  <token name="OneMinusDstAlpha" value="0X0305" />
  <token name="ConstantColor" value="0X8001" />
  <token name="OneMinusConstantColor" value="0X8002" />
  <token name="ConstantAlpha" value="0X8003" />
  <token name="OneMinusConstantAlpha" value="0X8004" />
  <token name="SrcAlphaSaturate" value="0X0308" remark="only valid for source RGB/Alpha" />
</enum>
 
<function name="BlendFunc" extension="Core" version="2.0">
  <param name="sfactor"><type>BlendFactor</type></param>
  <param name="dfactor"><type>BlendFactor</type></param>
</function>
 
<function name="BlendFuncSeparate" extension="Core" version="2.0">
  <param name="srcRGB"><type>BlendFactor</type></param>
  <param name="dstRGB"><type>BlendFactor</type></param>
  <param name="srcAlpha"><type>BlendFactor</type></param>
  <param name="dstAlpha"><type>BlendFactor</type></param>
</function>
 
<enum name="BufferTarget">
  <token name="ArrayBuffer" value="0X8892" />
  <token name="ElementArrayBuffer" value="0X8893" />
</enum>
 
<enum name="BufferUsage">
  <token name="DynamicDraw" value="0X88e8" />
  <token name="StaticDraw" value="0X88e4" />
  <token name="StreamDraw" value="0X88e0" />
</enum>
 
<function name="BindBuffer" extension="Core" version="2.0">
  <param name="target"><type>BufferTarget</type></param>
</function>
 
<function name="BufferData" extension="Core" version="2.0">
  <param name="target"><type>BufferTarget</type></param>
  <param name="usage"><type>BufferUsage</type></param>
</function>
 
<function name="BufferSubData" extension="Core" version="2.0">
  <param name="target"><type>BufferTarget</type></param>
</function>
 
<enum name="GetBufferPName">
  <token name="BufferSize" value="0X8764" />
  <token name="BufferUsage" value="0X8765" />
</enum>
 
<function name="GetBufferParameter" extension="Core" version="2.0">
  <param name="target"><type>BufferTarget</type></param>
  <param name="pname"><type>GetBufferPName</type></param>
</function>
 
<enum name="VertexAttribType">
  <token name="Byte" value="0X1400" />
  <token name="UnsignedByte" value="0X1401" />
  <token name="Short" value="0X1402" />
  <token name="UnsignedShort" value="0X1403" />
  <token name="Fixed" value="0X140c" />
  <token name="Float" value="0X1406" />
</enum>
 
<function name="VertexAttribPointer" extension="Core" version="2.0">
  <param name="type"><type>VertexAttribType</type></param>
</function>
 
<enum name="ClearBufferMask">
  <token name="DepthBufferBit" value="0X0100" />
  <token name="StencilBufferBit" value="0X0400" />
  <token name="ColorBufferBit" value="0X4000" />
</enum>
 
<function name="Clear" extension="Core" version="2.0">
  <param name="mask"><type>ClearBufferMask</type></param>
</function>
 
<enum name="ShaderType">
  <token name="VertexShader" value="0X8b31" />
  <token name="FragmentShader" value="0X8b30" />
</enum>
 
<function name="CreateShader" extension="Core" version="2.0">
  <param name="type"><type>ShaderType</type></param>
</function>
 
<enum name="ShaderPrecision">
  <token name="LowFloat" value="0X8df0" />
  <token name="MediumFloat" value="0X8df1" />
  <token name="HighFloat" value="0X8df2" />
  <token name="LowInt" value="0X8df3" />
  <token name="MediumInt" value="0X8df4" />
  <token name="HighInt" value="0X8df5" />
</enum>
 
<function name="GetShaderPrecisionFormat" extension="Core" version="2.0">
  <param name="shadertype"><type>ShaderType</type></param>
  <param name="precisiontype"><type>ShaderPrecision</type></param>
</function>
 
<enum name="CullFaceMode">
  <token name="Front" value="0X0404" />
  <token name="Back" value="0X0405" />
  <token name="FrontAndBack" value="0X0408" />
</enum>
 
<function name="CullFace" extension="Core" version="2.0">
  <param name="mode"><type>CullFaceMode</type></param>
</function>
 
<enum name="DepthFunction">
  <token name="Never" value="0X0200" />
  <token name="Less" value="0X0201" />
  <token name="Equal" value="0X0202" />
  <token name="Lequal" value="0X0203" />
  <token name="Greater" value="0X0204" />
  <token name="Notequal" value="0X0205" />
  <token name="Gequal" value="0X0206" />
  <token name="Always" value="0X0207" />
</enum>
 
<function name="DepthFunc" extension="Core" version="2.0">
  <param name="func"><type>DepthFunction</type></param>
</function>
 
<enum name="PrimitiveMode">
  <token name="Points" value="0X0000" />
  <token name="Lines" value="0X0001" />
  <token name="LineLoop" value="0X0002" />
  <token name="LineStrip" value="0X0003" />
  <token name="Triangles" value="0X0004" />
  <token name="TriangleStrip" value="0X0005" />
  <token name="TriangleFan" value="0X0006" />
</enum>
 
<function name="DrawArrays" extension="Core" version="2.0">
  <param name="mode"><type>PrimitiveMode</type></param>
</function>
 
<enum name="DrawElementsType">
  <token name="UnsignedByte" value="0X1401" />
  <token name="UnsignedShort" value="0X1403" />
</enum>
 
<function name="DrawElements" extension="Core" version="2.0">
  <param name="mode"><type>PrimitiveMode</type></param>
  <param name="type"><type>DrawElementsType</type></param>
</function>
 
<enum name="EnableCap">
  <token name="CullFace" value="0X0b44" />
  <token name="DepthTest" value="0X0b71" />
  <token name="StencilTest" value="0X0b90" />
  <token name="Dither" value="0X0bd0" />
  <token name="Blend" value="0X0be2" />
  <token name="ScissorTest" value="0X0c11" />
  <token name="Texture2D" value="0X0de1" />
  <token name="PolygonOffsetFill" value="0X8037" />
  <token name="SampleAlphaToCoverage" value="0X809e" />
  <token name="SampleCoverage" value="0X80a0" />
</enum>
 
<function name="Enable" extension="Core" version="2.0">
  <param name="cap"><type>EnableCap</type></param>
</function>
 
<function name="Disable" extension="Core" version="2.0">
  <param name="cap"><type>EnableCap</type></param>
</function>
 
<function name="IsEnabled" extension="Core" version="2.0">
  <param name="cap"><type>EnableCap</type></param>
</function>
 
<enum name="FrontFaceDirection">
  <token name="Cw" value="0X0900" />
  <token name="Ccw" value="0X0901" />
</enum>
 
<function name="FrontFace" extension="Core" version="2.0">
  <param name="mode"><type>FrontFaceDirection</type></param>
</function>
 
<enum name="ActiveAttribType">
  <token name="Float" value="0X1406" />
  <token name="FloatVec2" value="0X8b50" />
  <token name="FloatVec3" value="0X8b51" />
  <token name="FloatVec4" value="0X8b52" />
  <token name="FloatMat2" value="0X8b5a" />
  <token name="FloatMat3" value="0X8b5b" />
  <token name="FloatMat4" value="0X8b5c" />
</enum>
 
<function name="GetActiveAttrib" extension="Core" version="2.0">
  <param name="type"><type>ActiveAttribType</type></param>
</function>
 
<enum name="ActiveUniformType">
  <token name="Float" value="0X1406" />
  <token name="FloatVec2" value="0X8b50" />
  <token name="FloatVec3" value="0X8b51" />
  <token name="FloatVec4" value="0X8b52" />
  <token name="Int" value="0X1404" />
  <token name="IntVec2" value="0X8b53" />
  <token name="IntVec3" value="0X8b54" />
  <token name="IntVec4" value="0X8b55" />
  <token name="Bool" value="0X8b56" />
  <token name="BoolVec2" value="0X8b57" />
  <token name="BoolVec3" value="0X8b58" />
  <token name="BoolVec4" value="0X8b59" />
  <token name="FloatMat2" value="0X8b5a" />
  <token name="FloatMat3" value="0X8b5b" />
  <token name="FloatMat4" value="0X8b5c" />
  <token name="Sampler2D" value="0X8b5e" />
  <token name="SamplerCube" value="0X8b60" />
</enum>
 
<function name="GetActiveUniform" extension="Core" version="2.0">
  <param name="type"><type>ActiveUniformType</type></param>
</function>
 
<enum name="ErrorCode">
  <token name="NoError" value="0" />
  <token name="InvalidEnum" value="0X0500" />
  <token name="InvalidValue" value="0X0501" />
  <token name="InvalidOperation" value="0X0502" />
  <token name="OutOfMemory" value="0X0505" />
  <token name="Invalidframebufferoperation" value="0X0506" />
</enum>
 
<function name="GetError" extension="Core" version="2.0">
  <returns type="ErrorCode" />  
</function>
 
<enum name="ProgramPName">
  <token name="DeleteStatus" value="0X8b80" />
  <token name="LinkStatus" value="0X8b82" />
  <token name="ValidateStatus" value="0X8b83" />
  <token name="InfoLogLength" value="0X8b84" />
  <token name="AttachedShaders" value="0X8b85" />
  <token name="ActiveAttributes" value="0X8b89" />
  <token name="ActiveAttributeMaxLength" value="0X8b8a" />
  <token name="ActiveUniforms" value="0X8b86" />
  <token name="ActiveUniformMaxLength" value="0X8b87" />
</enum>
 
<function name="GetProgram" extension="Core" version="2.0">
  <param name="pname"><type>ProgramPName</type></param> 
</function>
 
<enum name="ShaderPName">
  <token name="ShaderType" value="0X8b4f" remark="This output may be cast to the ShaderType enum." />
  <token name="DeleteStatus" value="0X8b80" />
  <token name="CompileStatus" value="0X8b81" />
  <token name="InfoLogLength" value="0X8b84" />
  <token name="ShaderSourceLength" value="0X8b88" />
</enum>
 
<function name="GetShader" extension="Core" version="2.0">
  <param name="pname"><type>ShaderPName</type></param> 
</function>
 
<enum name="StringName">
  <token name="Vendor" value="0X1f00" />
  <token name="Renderer" value="0X1f01" />
  <token name="Version" value="0X1f02" />
  <token name="Extensions" value="0X1f03" />
  <token name="ShadingLanguageVersion" value="0X8b8c" />
</enum>
 
<function name="GetString" extension="Core" version="2.0">
  <param name="name"><type>StringName</type></param> 
</function>
 
<enum name="VertexArray">
  <token name="VertexAttribArrayEnabled" value="0X8622" />
  <token name="VertexAttribArraySize" value="0X8623" />
  <token name="VertexAttribArrayStride" value="0X8624" />
  <token name="VertexAttribArrayType" value="0X8625" />
  <token name="VertexAttribArrayNormalized" value="0X886a" />
  <token name="VertexAttribArrayBufferBinding" value="0X889f" />
  <token name="CurrentVertexAttrib" value="0X8626" />
</enum>
 
<function name="GetVertexAttrib" extension="Core" version="2.0">
  <param name="pname"><type>VertexArray</type></param> 
</function>
 
<enum name="VertexPointer">
  <token name="VertexAttribArrayPointer" value="0X8645" />
</enum>
 
<function name="GetVertexAttribPointer" extension="Core" version="2.0">
  <param name="pname"><type>VertexPointer</type></param> 
</function>
 
<enum name="HintTarget">
  <token name="GenerateMipmapHint" value="0X8192" />
</enum>
 
<enum name="HintMode">
  <token name="DontCare" value="0X1100" />
  <token name="Fastest" value="0X1101" />
  <token name="Nicest" value="0X1102" />
</enum>
 
<function name="Hint" extension="Core" version="2.0">
  <param name="target"><type>HintTarget</type></param>
  <param name="mode"><type>HintMode</type></param>
</function>
 
<enum name="StencilFunction">
  <token name="Never" value="0X0200" />
  <token name="Less" value="0X0201" />
  <token name="Equal" value="0X0202" />
  <token name="Lequal" value="0X0203" />
  <token name="Greater" value="0X0204" />
  <token name="Notequal" value="0X0205" />
  <token name="Gequal" value="0X0206" />
  <token name="Always" value="0X0207" />
</enum>
 
<function name="StencilFunc" extension="Core" version="2.0">
  <param name="func"><type>StencilFunction</type></param>
</function>
 
<function name="StencilFuncSeparate" extension="Core" version="2.0">
  <param name="face"><type>CullFaceMode</type></param>
  <param name="func"><type>StencilFunction</type></param>
</function>
 
<function name="StencilMaskSeparate" extension="Core" version="2.0">
  <param name="face"><type>CullFaceMode</type></param>
</function>
 
<enum name="StencilOperation">
  <token name="Invert" value="0X150a" />
  <token name="Keep" value="0X1e00" />
  <token name="Replace" value="0X1e01" />
  <token name="Incr" value="0X1e02" />
  <token name="Decr" value="0X1e03" />
  <token name="IncrWrap" value="0X8507" />
  <token name="DecrWrap" value="0X8508" />
  <token name="Zero" value="0X0000" />
</enum>
 
<function name="StencilOp" extension="Core" version="2.0">
  <param name="fail"><type>StencilOperation</type></param>
  <param name="zfail"><type>StencilOperation</type></param>
  <param name="zpass"><type>StencilOperation</type></param>
</function>
 
<function name="StencilOpSeparate" extension="Core" version="2.0">
  <param name="face"><type>CullFaceMode</type></param>
  <param name="fail"><type>StencilOperation</type></param>
  <param name="zfail"><type>StencilOperation</type></param>
  <param name="zpass"><type>StencilOperation</type></param>
</function>

Solved Issues:

  • Created separate enums for DepthFunc and StencilFunc. Although they contain identical tokens it is much cleaner that way.
  • ES.GetString() appears to be fixed on svn.

Remaining Issues:

  1. Does not include PBO.
  2. Due to the mechanics to retrieve binary formats, ES.ShaderBinary() is not dealt with.
  3. function nodes for ES.GetError and ES.CheckFramebufferStatus may not be correct.
the Fiddler's picture

#6

Invalidframebufferoperation should be InvalidFramebufferOperation (noting so I don't forget it when merging the enums).

the Fiddler's picture

#7

Status:confirmed» in progress (commit)

Specs merged into es20 branch, rev. 2373.

the Fiddler's picture

#8

Status:in progress (commit)» fixed

Bindings regenerated (rev. 2382).

the Fiddler's picture

#9

Version:0.9.x-dev» 1.0-beta-1
Status:fixed» closed

Closing issues fixed in 1.0 beta-1.