Merge branch 'master' into gl4

This commit is contained in:
Stefanos A 2013-10-22 17:03:39 +02:00
commit 967a6514de
14 changed files with 39252 additions and 4469 deletions

View file

@ -341,11 +341,22 @@ namespace Bind
// Array overloads
foreach (Parameter p in _this.Parameters)
{
if (p.WrapperType == WrapperTypes.ArrayParameter && p.ElementCount != 1)
if (p.WrapperType == WrapperTypes.ArrayParameter)
{
p.Reference = false;
p.Array++;
p.Pointer--;
if (p.ElementCount != 1)
{
// Create a proper array
p.Reference = false;
p.Array++;
p.Pointer--;
}
else
{
// Create a reference
p.Reference = true;
p.Array--;
p.Pointer--;
}
}
}
f = new Function(_this);
@ -373,7 +384,7 @@ namespace Bind
_this = func;
// Pointer overloads
// Should be last to work around Intellisense bug, where
// Should be last to work around an Intellisense bug, where
// array overloads are not reported if there is a pointer overload.
foreach (Parameter p in _this.Parameters)
{

View file

@ -1,7 +1,6 @@
AccumOp,*,*, GLenum,*,*
AlphaFunction,*,*, GLenum,*,*
AttribMask,*,*, GLbitfield,*,*
BeginMode,*,*, GLenum,*,*
BinormalPointerTypeEXT,*,*, GLenum,*,*
BlendEquationMode,*,*, GLenum,*,*
BlendEquationModeEXT,*,*, GLenum,*,*
@ -12,11 +11,12 @@ Boolean,*,*, GLboolean,*,*
BooleanPointer,*,*, GLboolean*,*,*
Char,*,*, GLchar,*,*
CharPointer,*,*, GLchar*,*,*
ConstCharPointer,*,*, GLchar* const,*,*
CheckedFloat32,*,*, GLfloat,*,*
CheckedInt32,*,*, GLint,*,*
ClampColorTargetARB,*,*, GLenum,*,*
ClampColorModeARB,*,*, GLenum,*,*
ClampedColorF,*,*, GLclampf,*,*
ClampedFixed,*,*, GLfixed,*,*
ClampedFloat32,*,*, GLclampf,*,*
ClampedFloat64,*,*, GLclampd,*,*
ClampedStencilValue,*,*, GLint,*,*
@ -52,8 +52,6 @@ CombinerScaleNV,*,*, GLenum,*,*
CombinerStageNV,*,*, GLenum,*,*
CombinerVariableNV,*,*, GLenum,*,*
CompressedTextureARB,*,*, GLvoid,*,*
ControlPointNV,*,*, GLvoid,*,*
ControlPointTypeNV,*,*, GLenum,*,*
ConvolutionParameter,*,*, GLenum,*,*
ConvolutionParameterEXT,*,*, GLenum,*,*
ConvolutionTarget,*,*, GLenum,*,*
@ -84,6 +82,8 @@ Float32,*,*, GLfloat,*,*
Float32Pointer,*,*, GLfloat*,*,*
Float64,*,*, GLdouble,*,*
Float64Pointer,*,*, GLdouble*,*,*
Fixed,*,*, GLfixed,*,*
ConstFixed,*,*, GLfixed,*,*
FogParameter,*,*, GLenum,*,*
FogPointerTypeEXT,*,*, GLenum,*,*
FogPointerTypeIBM,*,*, GLenum,*,*
@ -91,6 +91,7 @@ FragmentLightModelParameterSGIX,*,*,GLenum,*,*
FragmentLightNameSGIX,*,*, GLenum,*,*
FragmentLightParameterSGIX,*,*, GLenum,*,*
FramebufferAttachment,*,*, GLenum,*,*
FramebufferStatus,*,*, GLenum,*,*
FramebufferTarget,*,*, GLenum,*,*
FrontFaceDirection,*,*, GLenum,*,*
FunctionPointer,*,*, _GLfuncptr,*,*
@ -136,7 +137,6 @@ LogicOp,*,*, GLenum,*,*
MapAttribParameterNV,*,*, GLenum,*,*
MapParameterNV,*,*, GLenum,*,*
MapTarget,*,*, GLenum,*,*
MapTargetNV,*,*, GLenum,*,*
MapTypeNV,*,*, GLenum,*,*
MaskedColorIndexValueF,*,*, GLfloat,*,*
MaskedColorIndexValueI,*,*, GLuint,*,*
@ -145,16 +145,11 @@ MaterialFace,*,*, GLenum,*,*
MaterialParameter,*,*, GLenum,*,*
MatrixIndexPointerTypeARB,*,*, GLenum,*,*
MatrixMode,*,*, GLenum,*,*
MatrixTransformNV,*,*, GLenum,*,*
MeshMode1,*,*, GLenum,*,*
MeshMode2,*,*, GLenum,*,*
MinmaxTarget,*,*, GLenum,*,*
MinmaxTargetEXT,*,*, GLenum,*,*
NormalPointerType,*,*, GLenum,*,*
NurbsCallback,*,*, GLenum,*,*
NurbsObj,*,*, GLUnurbs*,*,*
NurbsProperty,*,*, GLenum,*,*
NurbsTrim,*,*, GLenum,*,*
OcclusionQueryParameterNameNV,*,*, GLenum,*,*
PixelCopyType,*,*, GLenum,*,*
PixelFormat,*,*, GLenum,*,*
@ -169,21 +164,14 @@ PixelTransformTargetEXT,*,*, GLenum,*,*
PixelType,*,*, GLenum,*,*
PointParameterNameARB,*,*, GLenum,*,*
PolygonMode,*,*, GLenum,*,*
ProgramNV,*,*, GLuint,*,*
PrimitiveType,*,*, GLenum,*,*
ProgramCharacterNV,*,*, GLubyte,*,*
ProgramParameterNV,*,*, GLenum,*,*
ProgramParameterPName,*,*, GLenum,*,*
QuadricCallback,*,*, GLenum,*,*
QuadricDrawStyle,*,*, GLenum,*,*
QuadricNormal,*,*, GLenum,*,*
QuadricObj,*,*, GLUquadric*,*,*
QuadricOrientation,*,*, GLenum,*,*
ReadBufferMode,*,*, GLenum,*,*
RenderbufferTarget,*,*, GLenum,*,*
RenderingMode,*,*, GLenum,*,*
ReplacementCodeSUN,*,*, GLuint,*,*
ReplacementCodeTypeSUN,*,*, GLenum,*,*
SamplePassARB,*,*, GLenum,*,*
SamplePatternEXT,*,*, GLenum,*,*
SamplePatternSGIS,*,*, GLenum,*,*
SecondaryColorPointerTypeIBM,*,*, GLenum,*,*
@ -200,10 +188,6 @@ StencilValue,*,*, GLint,*,*
String,*,*, const GLubyte *,*,*
StringName,*,*, GLenum,*,*
TangentPointerTypeEXT,*,*, GLenum,*,*
TessCallback,*,*, GLenum,*,*
TessContour,*,*, GLenum,*,*
TessProperty,*,*, GLenum,*,*
TesselatorObj,*,*, GLUtesselator*,*,*
TexCoordPointerType,*,*, GLenum,*,*
Texture,*,*, GLuint,*,*
TextureComponentCount,*,*, GLint,*,*
@ -221,7 +205,6 @@ UInt32,*,*, GLuint,*,*
UInt8,*,*, GLubyte,*,*
VertexAttribEnum,*,*, GLenum,*,*
VertexAttribEnumNV,*,*, GLenum,*,*
VertexAttribPointerTypeNV,*,*, GLenum,*,*
VertexPointerType,*,*, GLenum,*,*
VertexWeightPointerTypeEXT,*,*, GLenum,*,*
Void,*,*, GLvoid,*,*
@ -231,7 +214,9 @@ WeightPointerTypeARB,*,*, GLenum,*,*
WinCoord,*,*, GLint,*,*
void,*,*, *,*,*
ArrayObjectPNameATI,*,*, GLenum,*,*
ArrayObjectUsageATI,*,*, GLenum,*,*,
ArrayObjectUsageATI,*,*, GLenum,*,*
ConstByte,*,*, GLbyte,*,*
ConstUByte,*,*, GLubyte,*,*
ConstFloat32,*,*, GLfloat,*,*
ConstInt32,*,*, GLint,*,*
ConstUInt32,*,*, GLuint,*,*
@ -292,14 +277,13 @@ UInt64,*,*, GLuint64,*,*
handleARB,*,*, GLhandleARB,*,*
charARB,*,*, GLcharARB,*,*
charPointerARB,*,*, GLcharARB*,*,*
sync,*,*, GLsync,*,*,
sync,*,*, GLsync,*,*
# EXT_timer_query
Int64EXT,*,*, GLint64EXT,*,*
UInt64EXT,*,*, GLuint64EXT,*,*
# EXT_direct_state_access
FramebufferAttachmentParameterName,*,*, GLenum,*,*
Framebuffer,*,*, GLuint,*,*
FramebufferStatus,*,*, GLenum,*,*
GetFramebufferParameter,*,*, GLenum,*,*
Intptr,*,*, GLintptr,*,*
ProgramFormat,*,*, GLenum,*,*
@ -318,11 +302,57 @@ BufferAccessMask,*,*, GLbitfield,*,*
GetMultisamplePNameNV,*,*, GLenum,*,*
SampleMaskNV,*,*, GLbitfield,*,*
# ARB_debug_output
GLDEBUGPROC,*,*, GLDEBUGPROC,*,*
# ARB_debug_output
GLDEBUGPROCARB,*,*, GLDEBUGPROCARB,*,*
# AMD_debug_output
GLDEBUGPROCAMD,*,*, GLDEBUGPROCAMD,*,*
# NV_vdpau_interop
vdpauSurfaceNV,*,*, GLvdpauSurfaceNV,*,*,
vdpauSurfaceNV,*,*, GLvdpauSurfaceNV,*,*
# External API types
cl_context,*,*, struct _cl_context *,*,*
cl_event,*,*, struct _cl_event *,*,*
cl_event,*,*, struct _cl_event *,*,*
Path,*,*, GLuint,*,*
PathColor,*,*, GLenum,*,*
PathColorFormat,*,*, GLenum,*,*
PathCommand,*,*, GLubyte,*,*
PathCoordType,*,*, GLenum,*,*
PathCoverMode,*,*, GLenum,*,*
PathElementType,*,*, GLenum,*,*
PathElement,*,*, GLvoid,*,*
PathFillMode,*,*, GLenum,*,*
PathFontStyle,*,*, GLbitfield,*,*
PathFontTarget,*,*, GLenum,*,*
PathGenMode,*,*, GLenum,*,*
PathListMode,*,*, GLenum,*,*
PathMetricMask,*,*, GLbitfield,*,*
PathParameter,*,*, GLenum,*,*
PathStringFormat,*,*, GLenum,*,*
PathTransformType,*,*, GLenum,*,*
PathHandleMissingGlyphs,*,*, GLenum,*,*
# No longer used in gl.spec
# ClampedColorF,*,*, GLclampf,*,*
# ControlPointNV,*,*, GLvoid,*,*
# ControlPointTypeNV,*,*, GLenum,*,*
# MapTargetNV,*,*, GLenum,*,*
# MatrixTransformNV,*,*, GLenum,*,*
# ProgramNV,*,*, GLuint,*,*
# ProgramParameterNV,*,*, GLenum,*,*
# SamplePassARB,*,*, GLenum,*,*
# VertexAttribPointerTypeNV,*,*, GLenum,*,*
# Used only in glu.spec
# NurbsCallback,*,*, GLenum,*,*
# NurbsObj,*,*, GLUnurbs*,*,*
# NurbsProperty,*,*, GLenum,*,*
# NurbsTrim,*,*, GLenum,*,*
# QuadricCallback,*,*, GLenum,*,*
# QuadricDrawStyle,*,*, GLenum,*,*
# QuadricNormal,*,*, GLenum,*,*
# QuadricObj,*,*, GLUquadric*,*,*
# QuadricOrientation,*,*, GLenum,*,*
# TessCallback,*,*, GLenum,*,*
# TessContour,*,*, GLenum,*,*
# TessProperty,*,*, GLenum,*,*
# TesselatorObj,*,*, GLUtesselator*,*,*

View file

@ -282,13 +282,25 @@
<function name="BindBufferRange" extension="Core">
<param name="target">
<type>BufferTarget</type>
<type>BufferRangeTarget</type>
</param>
</function>
<function name="BindBufferBase" extension="Core">
<param name="target">
<type>BufferTarget</type>
<type>BufferRangeTarget</type>
</param>
</function>
<function name="BindBuffersRange" extension="Core">
<param name="target">
<type>BufferRangeTarget</type>
</param>
</function>
<function name="BindBuffersBase" extension="Core">
<param name="target">
<type>BufferRangeTarget</type>
</param>
</function>
@ -799,7 +811,7 @@
<!-- also found Arb and Ext flavors -->
<function name="ProgramParameteri" extension="Core">
<param name="pname">
<type>AssemblyProgramParameterArb</type>
<type>ProgramParameterPName</type>
</param>
</function>
@ -835,6 +847,88 @@
<type>BinaryFormat</type>
</param>
</function>
<!-- Version 4.2 -->
<function name="GetActiveAtomicCounterBuffer" extension="Core">
<param name="pname">
<type>AtomicCounterBufferParameter</type>
</param>
</function>
<function name="MemoryBarrier" extension="Core">
<param name="barriers">
<type>MemoryBarrierFlags</type>
</param>
</function>
<!-- Version 4.3 -->
<function name="ClearBufferData" extension="Core">
<param name="target">
<type>BufferTarget</type>
</param>
<param name="internalformat">
<type>PixelInternalFormat</type>
</param>
<param name="format">
<type>PixelFormat</type>
</param>
</function>
<function name="ClearBufferSubData" extension="Core">
<param name="target">
<type>BufferTarget</type>
</param>
<param name="internalformat">
<type>PixelInternalFormat</type>
</param>
<param name="format">
<type>PixelFormat</type>
</param>
</function>
<function name="GetProgramInterfaceiv" extension="Core">
<param name="programInterface">
<type>ProgramInterface</type>
</param>
<param name="pname">
<type>ProgramInterfaceParameter</type>
</param>
</function>
<function name="GetProgramResourceIndex" extension="Core">
<param name="programInterface">
<type>ProgramInterface</type>
</param>
</function>
<function name="GetProgramResourceName" extension="Core">
<param name="programInterface">
<type>ProgramInterface</type>
</param>
</function>
<function name="GetProgramResourceiv" extension="Core">
<param name="programInterface">
<type>ProgramInterface</type>
</param>
<param name="props">
<type>ProgramProperty</type>
</param>
</function>
<function name="GetProgramResourceLocation" extension="Core">
<param name="programInterface">
<type>ProgramInterface</type>
</param>
</function>
<function name="GetProgramResourceLocationIndex" extension="Core">
<param name="programInterface">
<type>ProgramInterface</type>
</param>
</function>
<!-- Arb -->
@ -998,7 +1092,7 @@
<type>AssemblyProgramParameterArb</type>
</param>
</function>
<function name="TangentPointer" extension="Ext">
<param name="type">
<type>NormalPointerType</type>
@ -1183,6 +1277,44 @@
<type>VertexAttribParameterArb</type>
</param>
</function>
<!-- Version 4.4 -->
<!-- Synchronization -->
<function name="FenceSync" extension="Core">
<param name="condition">
<type>SyncCondition</type>
</param>
</function>
<function name="ClientWaitSync" extension="Core">
<returns>WaitSyncStatus</returns>
<param name="flags">
<type>WaitSyncFlags</type>
</param>
</function>
<function name="WaitSync" extension="Core">
<returns>WaitSyncStatus</returns>
<param name="flags">
<type>WaitSyncFlags</type>
</param>
</function>
<function name="GetSynciv" extension="Core">
<param name="pname">
<type>SyncParameter</type>
</param>
</function>
<function name="BufferStorage" extension="Core">
<param name="target">
<type>BufferTarget</type>
</param>
<param name="flags">
<type>BufferStorageFlags</type>
</param>
</function>
</replace>
@ -1224,106 +1356,134 @@
<use enum="VERSION_4_0" token="UNIFORM_NAME_LENGTH" />
</enum>
<enum name="ActiveUniformBlockParameter">
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_BINDING" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_DATA_SIZE" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_NAME_LENGTH" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_ACTIVE_UNIFORMS" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_BINDING" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_DATA_SIZE" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_NAME_LENGTH" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_ACTIVE_UNIFORMS" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" />
<use enum="VERSION_4_0" token="UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER" />
<use enum="VERSION_4_0" token="UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER" />
<use enum="VERSION_4_3" token="UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER" />
</enum>
<enum name="ActiveUniformParameter">
<use enum="ARB_uniform_buffer_object" token="UNIFORM_TYPE" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_SIZE" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_NAME_LENGTH" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_BLOCK_INDEX" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_OFFSET" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_ARRAY_STRIDE" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_MATRIX_STRIDE" />
<use enum="ARB_uniform_buffer_object" token="UNIFORM_IS_ROW_MAJOR" />
<use enum="VERSION_3_1" token="UNIFORM_TYPE" />
<use enum="VERSION_3_1" token="UNIFORM_SIZE" />
<use enum="VERSION_3_1" token="UNIFORM_NAME_LENGTH" />
<use enum="VERSION_3_1" token="UNIFORM_BLOCK_INDEX" />
<use enum="VERSION_3_1" token="UNIFORM_OFFSET" />
<use enum="VERSION_3_1" token="UNIFORM_ARRAY_STRIDE" />
<use enum="VERSION_3_1" token="UNIFORM_MATRIX_STRIDE" />
<use enum="VERSION_3_1" token="UNIFORM_IS_ROW_MAJOR" />
<use enum="VERSION_4_2" token="UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX" />
</enum>
<enum name="ActiveUniformType">
<use enum="DataType" token="FLOAT" />
<use enum="DataType" token="INT" />
<token name="BOOL" value="0x8B56" />
<token name="BOOL_VEC2" value="0x8B57" />
<token name="BOOL_VEC3" value="0x8B58" />
<token name="BOOL_VEC4" value="0x8B59" />
<token name="FLOAT_MAT2" value="0x8B5A" />
<token name="FLOAT_MAT2x3" value="0x8B65" />
<token name="FLOAT_MAT2x4" value="0x8B66" />
<token name="FLOAT_MAT3" value="0x8B5B" />
<token name="FLOAT_MAT3x2" value="0x8B67" />
<token name="FLOAT_MAT3x4" value="0x8B68" />
<token name="FLOAT_MAT4" value="0x8B5C" />
<token name="FLOAT_MAT4x2" value="0x8B69" />
<token name="FLOAT_MAT4x3" value="0x8B6A" />
<token name="FLOAT_VEC2" value="0x8B50" />
<token name="FLOAT_VEC3" value="0x8B51" />
<token name="FLOAT_VEC4" value="0x8B52" />
<token name="INT_SAMPLER_1D" value="0x8DC9" />
<token name="INT_SAMPLER_1D_ARRAY" value="0x8DCE" />
<token name="INT_SAMPLER_2D" value="0x8DCA" />
<token name="INT_SAMPLER_2D_ARRAY" value="0x8DCF" />
<token name="INT_SAMPLER_2D_MULTISAMPLE" value="0x9109" />
<token name="INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910C" />
<token name="INT_SAMPLER_2D_RECT" value="0x8DCD" />
<token name="INT_SAMPLER_3D" value="0x8DCB" />
<token name="INT_SAMPLER_BUFFER" value="0x8DD0" />
<token name="INT_SAMPLER_CUBE" value="0x8DCC" />
<token name="INT_VEC2" value="0x8B53" />
<token name="INT_VEC3" value="0x8B54" />
<token name="INT_VEC4" value="0x8B55" />
<token name="SAMPLER_1D" value="0x8B5D" />
<token name="SAMPLER_1D_ARRAY" value="0x8DC0" />
<token name="SAMPLER_1D_ARRAY_SHADOW" value="0x8DC3" />
<token name="SAMPLER_1D_SHADOW" value="0x8B61" />
<token name="SAMPLER_2D" value="0x8B5E" />
<token name="SAMPLER_2D_ARRAY" value="0x8DC1" />
<token name="SAMPLER_2D_ARRAY_SHADOW" value="0x8DC4" />
<token name="SAMPLER_2D_MULTISAMPLE" value="0x9108" />
<token name="SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910B" />
<token name="SAMPLER_2D_RECT" value="0x8B63" />
<token name="SAMPLER_2D_RECT_SHADOW" value="0x8B64" />
<token name="SAMPLER_2D_SHADOW" value="0x8B62" />
<token name="SAMPLER_3D" value="0x8B5F" />
<token name="SAMPLER_BUFFER" value="0x8DC2" />
<token name="SAMPLER_CUBE" value="0x8B60" />
<token name="SAMPLER_CUBE_SHADOW" value="0x8DC5" />
<use enum="DataType" token="UNSIGNED_INT" />
<token name="UNSIGNED_INT_SAMPLER_1D" value="0x8DD1" />
<token name="UNSIGNED_INT_SAMPLER_1D_ARRAY" value="0x8DD6" />
<token name="UNSIGNED_INT_SAMPLER_2D" value="0x8DD2" />
<token name="UNSIGNED_INT_SAMPLER_2D_ARRAY" value="0x8DD7" />
<token name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE" value="0x910A" />
<token name="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" value="0x910D" />
<token name="UNSIGNED_INT_SAMPLER_2D_RECT" value="0x8DD5" />
<token name="UNSIGNED_INT_SAMPLER_3D" value="0x8DD3" />
<token name="UNSIGNED_INT_SAMPLER_BUFFER" value="0x8DD8" />
<token name="UNSIGNED_INT_SAMPLER_CUBE" value="0x8DD4" />
<token name="UNSIGNED_INT_VEC2" value="0x8DC6" />
<token name="UNSIGNED_INT_VEC3" value="0x8DC7" />
<token name="UNSIGNED_INT_VEC4" value="0x8DC8" />
<use enum="VERSION_4_0" token="DOUBLE" />
<use enum="VERSION_1_1" token="FLOAT" />
<use enum="VERSION_2_0" token="FLOAT_VEC2" />
<use enum="VERSION_2_0" token="FLOAT_VEC3" />
<use enum="VERSION_2_0" token="FLOAT_VEC4" />
<use enum="VERSION_1_1" token="DOUBLE" />
<use enum="VERSION_4_0" token="DOUBLE_VEC2" />
<use enum="VERSION_4_0" token="DOUBLE_VEC3" />
<use enum="VERSION_4_0" token="DOUBLE_VEC4" />
<use enum="VERSION_4_0" token="DOUBLE_MAT2" />
<use enum="VERSION_4_0" token="DOUBLE_MAT3" />
<use enum="VERSION_4_0" token="DOUBLE_MAT4" />
<use enum="VERSION_4_0" token="DOUBLE_MAT2x3" />
<use enum="VERSION_4_0" token="DOUBLE_MAT2x4" />
<use enum="VERSION_4_0" token="DOUBLE_MAT3x2" />
<use enum="VERSION_4_0" token="DOUBLE_MAT3x4" />
<use enum="VERSION_4_0" token="DOUBLE_MAT4x2" />
<use enum="VERSION_4_0" token="DOUBLE_MAT4x3" />
<use enum="VERSION_1_1" token="INT" />
<use enum="VERSION_2_0" token="INT_VEC2" />
<use enum="VERSION_2_0" token="INT_VEC3" />
<use enum="VERSION_2_0" token="INT_VEC4" />
<use enum="VERSION_1_1" token="UNSIGNED_INT" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_VEC2" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_VEC3" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_VEC4" />
<use enum="VERSION_1_1" token="BOOL" />
<use enum="VERSION_2_0" token="BOOL_VEC2" />
<use enum="VERSION_2_0" token="BOOL_VEC3" />
<use enum="VERSION_2_0" token="BOOL_VEC4" />
<use enum="VERSION_2_0" token="FLOAT_MAT2" />
<use enum="VERSION_2_0" token="FLOAT_MAT3" />
<use enum="VERSION_2_0" token="FLOAT_MAT4" />
<use enum="VERSION_2_1" token="FLOAT_MAT2x3" />
<use enum="VERSION_2_1" token="FLOAT_MAT2x4" />
<use enum="VERSION_2_1" token="FLOAT_MAT3x4" />
<use enum="VERSION_2_1" token="FLOAT_MAT4x2" />
<use enum="VERSION_2_1" token="FLOAT_MAT4x3" />
<use enum="VERSION_2_0" token="SAMPLER_1D" />
<use enum="VERSION_2_0" token="SAMPLER_2D" />
<use enum="VERSION_2_0" token="SAMPLER_3D" />
<use enum="VERSION_2_0" token="SAMPLER_CUBE" />
<use enum="VERSION_2_0" token="SAMPLER_1D_SHADOW" />
<use enum="VERSION_2_0" token="SAMPLER_2D_SHADOW" />
<use enum="VERSION_3_0" token="SAMPLER_1D_ARRAY" />
<use enum="VERSION_3_0" token="SAMPLER_2D_ARRAY" />
<use enum="VERSION_4_0" token="SAMPLER_CUBE_MAP_ARRAY" />
<use enum="VERSION_3_0" token="SAMPLER_1D_ARRAY_SHADOW" />
<use enum="VERSION_3_0" token="SAMPLER_2D_ARRAY_SHADOW" />
<use enum="VERSION_3_2" token="SAMPLER_2D_MULTISAMPLE" />
<use enum="VERSION_3_2" token="SAMPLER_2D_MULTISAMPLE_ARRAY" />
<use enum="VERSION_3_0" token="SAMPLER_CUBE_SHADOW" />
<use enum="VERSION_4_0" token="SAMPLER_CUBE_MAP_ARRAY_SHADOW" />
<use enum="VERSION_3_1" token="SAMPLER_BUFFER" />
<use enum="VERSION_3_1" token="SAMPLER_2D_RECT" />
<use enum="VERSION_3_1" token="SAMPLER_2D_RECT_SHADOW" />
<use enum="VERSION_3_0" token="INT_SAMPLER_1D" />
<use enum="VERSION_3_0" token="INT_SAMPLER_2D" />
<use enum="VERSION_3_0" token="INT_SAMPLER_3D" />
<use enum="VERSION_3_0" token="INT_SAMPLER_CUBE" />
<use enum="VERSION_3_0" token="INT_SAMPLER_1D_ARRAY" />
<use enum="VERSION_3_0" token="INT_SAMPLER_2D_ARRAY" />
<use enum="VERSION_4_0" token="INT_SAMPLER_CUBE_MAP_ARRAY" />
<use enum="VERSION_3_2" token="INT_SAMPLER_2D_MULTISAMPLE" />
<use enum="VERSION_3_2" token="INT_SAMPLER_2D_MULTISAMPLE_ARRAY" />
<use enum="VERSION_3_1" token="INT_SAMPLER_BUFFER" />
<use enum="VERSION_3_1" token="INT_SAMPLER_2D_RECT" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_SAMPLER_1D" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_SAMPLER_2D" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_SAMPLER_3D" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_SAMPLER_CUBE" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_SAMPLER_1D_ARRAY" />
<use enum="VERSION_3_0" token="UNSIGNED_INT_SAMPLER_2D_ARRAY" />
<use enum="VERSION_4_0" token="UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY" />
<use enum="VERSION_3_2" token="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE" />
<use enum="VERSION_3_2" token="UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" />
<use enum="VERSION_3_1" token="UNSIGNED_INT_SAMPLER_BUFFER" />
<use enum="VERSION_3_1" token="UNSIGNED_INT_SAMPLER_2D_RECT" />
<use enum="VERSION_4_2" token="IMAGE_1D" />
<use enum="VERSION_4_2" token="IMAGE_2D" />
<use enum="VERSION_4_2" token="IMAGE_3D" />
<use enum="VERSION_4_2" token="IMAGE_2D_RECT" />
<use enum="VERSION_4_2" token="IMAGE_CUBE" />
<use enum="VERSION_4_2" token="IMAGE_BUFFER" />
<use enum="VERSION_4_2" token="IMAGE_1D_ARRAY" />
<use enum="VERSION_4_2" token="IMAGE_2D_ARRAY" />
<use enum="VERSION_4_2" token="IMAGE_CUBE_MAP_ARRAY" />
<use enum="VERSION_4_2" token="IMAGE_2D_MULTISAMPLE" />
<use enum="VERSION_4_2" token="IMAGE_2D_MULTISAMPLE_ARRAY" />
<use enum="VERSION_4_2" token="INT_IMAGE_1D" />
<use enum="VERSION_4_2" token="INT_IMAGE_2D" />
<use enum="VERSION_4_2" token="INT_IMAGE_3D" />
<use enum="VERSION_4_2" token="INT_IMAGE_2D_RECT" />
<use enum="VERSION_4_2" token="INT_IMAGE_CUBE" />
<use enum="VERSION_4_2" token="INT_IMAGE_BUFFER" />
<use enum="VERSION_4_2" token="INT_IMAGE_1D_ARRAY" />
<use enum="VERSION_4_2" token="INT_IMAGE_2D_ARRAY" />
<use enum="VERSION_4_2" token="INT_IMAGE_CUBE_MAP_ARRAY" />
<use enum="VERSION_4_2" token="INT_IMAGE_CUBE_MAP_ARRAY" />
<use enum="VERSION_4_2" token="INT_IMAGE_2D_MULTISAMPLE" />
<use enum="VERSION_4_2" token="INT_IMAGE_2D_MULTISAMPLE_ARRAY" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_1D" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_2D" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_3D" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_2D_RECT" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_CUBE" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_BUFFER" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_1D_ARRAY" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_2D_ARRAY" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_2D_MULTISAMPLE" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY" />
<use enum="VERSION_4_2" token="UNSIGNED_INT_ATOMIC_COUNTER" />
</enum>
<enum name="ArrayCap">
<use enum="GetPName" token="VERTEX_ARRAY" />
@ -1391,6 +1551,18 @@
<token name="FRAGMENT_PROGRAM" value="0x8804" />
<token name="VERTEX_PROGRAM" value="0x8620" />
</enum>
<enum name="AtomicCounterBufferParameter">
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_BINDING" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_DATA_SIZE" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER" />
<use enum="VERSION_4_3" token="ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER" />
</enum>
<enum name="AttribMask">
<token name="MULTISAMPLE_BIT" value="0x20000000" />
</enum>
@ -1400,6 +1572,16 @@
<use enum="BeginMode" token="Triangles" />
</enum>
<enum name="BeginMode">
<token name="LINE_LOOP" value="0x0002" />
<token name="LINE_STRIP" value="0x0003" />
<token name="LINES" value="0x0001" />
<token name="POINTS" value="0x0000" />
<token name="POLYGON" value="0x0009" />
<token name="QUAD_STRIP" value="0x0008" />
<token name="QUADS" value="0x0007" />
<token name="TRIANGLE_FAN" value="0x0006" />
<token name="TRIANGLE_STRIP" value="0x0005" />
<token name="TRIANGLES" value="0x0004" />
<token name="LINE_STRIP_ADJACENCY" value="0xB" />
<token name="LINES_ADJACENCY" value="0xA" />
<token name="TRIANGLE_STRIP_ADJACENCY" value="0xD" />
@ -1455,18 +1637,24 @@
<token name="WRITE_ONLY" value="0x88B9" />
</enum>
<enum name="BufferAccessMask">
<use enum="ARB_map_buffer_range" token="MAP_READ_BIT" />
<use enum="ARB_map_buffer_range" token="MAP_WRITE_BIT" />
<use enum="ARB_map_buffer_range" token="MAP_INVALIDATE_RANGE_BIT" />
<use enum="ARB_map_buffer_range" token="MAP_INVALIDATE_BUFFER_BIT" />
<use enum="ARB_map_buffer_range" token="MAP_FLUSH_EXPLICIT_BIT" />
<use enum="ARB_map_buffer_range" token="MAP_UNSYNCHRONIZED_BIT" />
<use enum="VERSION_3_0" token="MAP_READ_BIT" />
<use enum="VERSION_3_0" token="MAP_WRITE_BIT" />
<use enum="VERSION_3_0" token="MAP_INVALIDATE_RANGE_BIT" />
<use enum="VERSION_3_0" token="MAP_INVALIDATE_BUFFER_BIT" />
<use enum="VERSION_3_0" token="MAP_FLUSH_EXPLICIT_BIT" />
<use enum="VERSION_3_0" token="MAP_UNSYNCHRONIZED_BIT" />
<use enum="VERSION_4_4" token="MASK_COHERENT_BIT" />
<use enum="VERSION_4_4" token="MASK_PERSISTENT_BIT" />
</enum>
<enum name="BufferParameterName">
<token name="BUFFER_ACCESS" value="0x88BB" />
<token name="BUFFER_MAPPED" value="0x88BC" />
<token name="BUFFER_SIZE" value="0x8764" />
<token name="BUFFER_USAGE" value="0x8765" />
<use enum="VERSION_1_5" token="BUFFER_SIZE" />
<use enum="VERSION_1_5" token="BUFFER_USAGE" />
<use enum="VERSION_1_5" token="BUFFER_ACCESS" />
<use enum="VERSION_1_5" token="BUFFER_MAPPED" />
<use enum="VERSION_3_0" token="BUFFER_ACCESS_FLAGS" />
<use enum="VERSION_3_0" token="BUFFER_MAP_OFFSET" />
<use enum="VERSION_3_0" token="BUFFER_MAP_LENGTH" />
<use enum="VERSION_4_4" token="BUFFER_IMMUTABLE_STORAGE" />
</enum>
<enum name="BufferParameterNameARB">
<token name="BUFFER_ACCESS" value="0x88BB" />
@ -1480,6 +1668,14 @@
<enum name="BufferPointerNameARB">
<token name="BUFFER_MAP_POINTER" value="0x88BD" />
</enum>
<enum name="BufferStorageFlags">
<use enum="VERSION_3_0" token="MAP_READ_BIT" />
<use enum="VERSION_3_0" token="MAP_WRITE_BIT" />
<use enum="VERSION_4_4" token="CLIENT_STORAGE_BIT" />
<use enum="VERSION_4_4" token="DYNAMIC_STORAGE_BIT" />
<use enum="VERSION_4_4" token="MAP_COHERENT_BIT" />
<use enum="VERSION_4_4" token="MAP_PERSISTENT_BIT" />
</enum>
<enum name="BufferTarget">
<use enum="ARB_copy_buffer" token="COPY_READ_BUFFER" />
<use enum="ARB_copy_buffer" token="COPY_WRITE_BUFFER" />
@ -1491,6 +1687,16 @@
<token name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E" />
<use enum="VERSION_3_1" token="TEXTURE_BUFFER" />
<use enum="VERSION_4_0" token="DRAW_INDIRECT_BUFFER" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER" />
<use enum="VERSION_4_3" token="DISPATCH_INDIRECT_BUFFER" />
<use enum="VERSION_4_3" token="SHADER_STORAGE_BUFFER" />
<use enum="VERSION_4_4" token="QUERY_BUFFER" />
</enum>
<enum name="BufferRangeTarget">
<use token="ATOMIC_COUNTER_BUFFER" />
<use token="SHADER_STORAGE_BUFFER" />
<use token="UNIFORM_BUFFER" />
<use token="TRANSFORM_FEEDBACK_BUFFER" />
</enum>
<enum name="BufferTargetARB">
<token name="ARRAY_BUFFER" value="0x8892" />
@ -2001,7 +2207,7 @@
<use enum="VERSION_3_1" token="MAX_TEXTURE_BUFFER_SIZE" />
<use enum="VERSION_3_1" token="TEXTURE_BINDING_BUFFER" />
<use enum="VERSION_3_1" token="TEXTURE_BUFFER_DATA_STORE_BINDING" />
<use enum="VERSION_3_1" token="TEXTURE_BUFFER_FORMAT" />
<!--<use enum="VERSION_3_1" token="TEXTURE_BUFFER_FORMAT" /> Does not exist in core -->
<use enum="VERSION_3_2" token="MAX_FRAGMENT_INPUT_COMPONENTS" />
<use enum="VERSION_3_2" token="MAX_GEOMETRY_INPUT_COMPONENTS" />
<use enum="VERSION_3_2" token="MAX_GEOMETRY_OUTPUT_COMPONENTS" />
@ -2037,10 +2243,10 @@
<use enum="VERSION_4_0" token="MAX_TESS_EVALUATION_INPUT_COMPONENTS" />
<use enum="VERSION_4_0" token="MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS" />
<use enum="VERSION_4_0" token="MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS" />
<use enum="VERSION_4_0" token="TEXTURE_CUBE_MAP_ARRAY_BINDING" />
<!--<use enum="VERSION_4_0" token="TEXTURE_CUBE_MAP_ARRAY_BINDING" /> Does not exist -->
<use enum="VERSION_4_0" token="MAX_PROGRAM_TEXTURE_GATHER_OFFSET" />
<use enum="VERSION_4_0" token="MIN_PROGRAM_TEXTURE_GATHER_OFFSET" />
<use enum="VERSION_4_0" token="MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS" />
<!--<use enum="VERSION_4_0" token="MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS" /> Does not exist -->
<use enum="VERSION_4_0" token="TRANSFORM_FEEDBACK_BUFFER_PAUSED" />
<use enum="VERSION_4_0" token="TRANSFORM_FEEDBACK_BUFFER_ACTIVE" />
<use enum="VERSION_4_0" token="TRANSFORM_FEEDBACK_BINDING" />
@ -2070,6 +2276,7 @@
<enum name="GetQueryObjectParam">
<token name="QUERY_RESULT" value="0x8866" />
<token name="QUERY_RESULT_AVAILABLE" value="0x8867" />
<token name="QUERY_RESULT_NO_WAIT" value="0x9194" />
</enum>
<enum name="GetQueryParam">
<token name="CURRENT_QUERY" value="0x8865" />
@ -2175,6 +2382,24 @@
<token name="MATRIX8" value="0x88C8" />
<token name="MATRIX9" value="0x88C9" />
</enum>
<enum name="MemoryBarrierFlags">
<use enum="VERSION_4_2" token="ALL_BARRIER_BITS" />
<use enum="VERSION_4_2" token="VERTEX_ATTRIB_ARRAY_BARRIER_BIT" />
<use enum="VERSION_4_2" token="ELEMENT_ARRAY_BARRIER_BIT" />
<use enum="VERSION_4_2" token="UNIFORM_BARRIER_BIT" />
<use enum="VERSION_4_2" token="TEXTURE_FETCH_BARRIER_BIT" />
<use enum="VERSION_4_2" token="BUFFER_UPDATE_BARRIER_BIT" />
<use enum="VERSION_4_2" token="SHADER_IMAGE_ACCESS_BARRIER_BIT" />
<use enum="VERSION_4_2" token="COMMAND_BARRIER_BIT" />
<use enum="VERSION_4_2" token="PIXEL_BUFFER_BARRIER_BIT" />
<use enum="VERSION_4_2" token="TEXTURE_UPDATE_BARRIER_BIT" />
<use enum="VERSION_4_2" token="FRAMEBUFFER_BARRIER_BIT" />
<use enum="VERSION_4_2" token="TRANSFORM_FEEDBACK_BARRIER_BIT" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BARRIER_BIT" />
<use enum="VERSION_4_3" token="SHADER_STORAGE_BARRIER_BIT" />
<use enum="VERSION_4_4" token="CLIENT_MAPPED_BUFFER_BARRIER_BIT" />
<use enum="VERSION_4_4" token="QUERY_BUFFER_BARRIER_BIT" />
</enum>
<enum name="MinmaxTarget">
<token name="MINMAX" value="0x802E" />
</enum>
@ -2208,6 +2433,27 @@
<token name="RED_INTEGER" value="0x8D94" />
<token name="RGB_INTEGER" value="0x8D98" />
<token name="RGBA_INTEGER" value="0x8D99" />
<use enum="EXT_abgr" token="ABGR_EXT" />
<use enum="EXT_cmyka" token="CMYK_EXT" />
<use enum="EXT_cmyka" token="CMYKA_EXT" />
<use enum="SGIX_icc_texture" token="R5_G6_B5_ICC_SGIX" />
<use enum="SGIX_icc_texture" token="R5_G6_B5_A8_ICC_SGIX" />
<use enum="SGIX_icc_texture" token="ALPHA16_ICC_SGIX" />
<use enum="SGIX_icc_texture" token="LUMINANCE16_ICC_SGIX" />
<use enum="SGIX_icc_texture" token="LUMINANCE16_ALPHA8_ICC_SGIX" />
<use enum="SGIX_ycrcb" token="YCRCB_422_SGIX" />
<use enum="SGIX_ycrcb" token="YCRCB_444_SGIX" />
<token name="ALPHA" value="0x1906" />
<token name="BLUE" value="0x1905" />
<token name="COLOR_INDEX" value="0x1900" />
<token name="DEPTH_COMPONENT" value="0x1902" />
<token name="GREEN" value="0x1904" />
<token name="LUMINANCE" value="0x1909" />
<token name="LUMINANCE_ALPHA" value="0x190A" />
<token name="RED" value="0x1903" />
<token name="RGB" value="0x1907" />
<token name="RGBA" value="0x1908" />
<token name="STENCIL_INDEX" value="0x1901" />
</enum>
<enum name="PixelInternalFormat">
<use enum="PixelFormat" token="DEPTH_COMPONENT" />
@ -2336,25 +2582,54 @@
<token name="LOWER_LEFT" value="0x8CA1" />
<token name="UPPER_LEFT" value="0x8CA2" />
</enum>
<enum name="ProgramInterface">
<use enum="VERSION_3_0" token="TRANSFORM_FEEDBACK_BUFFER" />
<use enum="VERSION_4_2" token="ATOMIC_COUNTER_BUFFER" />
<use enum="VERSION_4_3" token="BUFFER_VARIABLE" />
<use enum="VERSION_4_3" token="UNIFORM" />
<use enum="VERSION_4_3" token="UNIFORM_BLOCK" />
<use enum="VERSION_4_3" token="PROGRAM_INPUT" />
<use enum="VERSION_4_3" token="PROGRAM_OUTPUT" />
<use enum="VERSION_4_3" token="SHADER_STORAGE_BLOCK" />
<use enum="VERSION_4_3" token="GEOMETRY_SUBROUTINE" />
<use enum="VERSION_4_3" token="VERTEX_SUBROUTINE" />
<use enum="VERSION_4_3" token="TESS_CONTROL_SUBROUTINE" />
<use enum="VERSION_4_3" token="TESS_EVALUATION_SUBROUTINE" />
<use enum="VERSION_4_3" token="FRAGMENT_SUBROUTINE" />
<use enum="VERSION_4_3" token="COMPUTE_SUBROUTINE" />
<use enum="VERSION_4_3" token="TESS_CONTROL_SUBROUTINE_UNIFORM" />
<use enum="VERSION_4_3" token="TESS_EVALUATION_SUBROUTINE_UNIFORM" />
<use enum="VERSION_4_3" token="GEOMETRY_SUBROUTINE_UNIFORM" />
<use enum="VERSION_4_3" token="VERTEX_SUBROUTINE_UNIFORM" />
<use enum="VERSION_4_3" token="FRAGMENT_SUBROUTINE_UNIFORM" />
<use enum="VERSION_4_3" token="COMPUTE_SUBROUTINE_UNIFORM" />
<use enum="VERSION_4_3" token="TRANSFORM_FEEDBACK_VARYING" />
</enum>
<enum name="ProgramInterfaceParameter">
<use enum="VERSION_4_3" token="ACTIVE_RESOURCES" />
<use enum="VERSION_4_3" token="MAX_NAME_LENGTH" />
<use enum="VERSION_4_3" token="MAX_NUM_ACTIVE_VARIABLES" />
<use enum="VERSION_4_3" token="MAX_NUM_COMPATIBLE_SUBROUTINES" />
</enum>
<enum name="ProgramParameter">
<use enum="ARB_uniform_buffer_object" token="ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" />
<use enum="ARB_uniform_buffer_object" token="ACTIVE_UNIFORM_BLOCKS" />
<token name="ACTIVE_ATTRIBUTE_MAX_LENGTH" value="0x8B8A" />
<token name="ACTIVE_ATTRIBUTES" value="0x8B89" />
<token name="ACTIVE_UNIFORM_MAX_LENGTH" value="0x8B87" />
<token name="ACTIVE_UNIFORMS" value="0x8B86" />
<token name="ATTACHED_SHADERS" value="0x8B85" />
<token name="DELETE_STATUS" value="0x8B80" />
<token name="GEOMETRY_INPUT_TYPE" value="0x8DDB" />
<token name="GEOMETRY_OUTPUT_TYPE" value="0x8DDC" />
<token name="GEOMETRY_VERTICES_OUT" value="0x8DDA" />
<token name="INFO_LOG_LENGTH" value="0x8B84" />
<token name="LINK_STATUS" value="0x8B82" />
<token name="TRANSFORM_FEEDBACK_BUFFER_MODE" value="0x8C7F" />
<token name="TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH" value="0x8C76" />
<token name="TRANSFORM_FEEDBACK_VARYINGS" value="0x8C83" />
<token name="VALIDATE_STATUS" value="0x8B83" />
<use enum="VERSION_4_0" token="GEOMETRY_SHADER_INVOCATIONS" />
<use enum="VERSION_2_0" token="DELETE_STATUS" />
<use enum="VERSION_2_0" token="LINK_STATUS" />
<use enum="VERSION_2_0" token="VALIDATE_STATUS" />
<use enum="VERSION_2_0" token="INFO_LOG_LENGTH" />
<use enum="VERSION_2_0" token="ATTACHED_SHADERS" />
<use enum="VERSION_2_0" token="ACTIVE_ATTRIBUTES" />
<use enum="VERSION_2_0" token="ACTIVE_ATTRIBUTE_MAX_LENGTH" />
<use enum="VERSION_2_0" token="ACTIVE_UNIFORMS" />
<use enum="VERSION_2_0" token="ACTIVE_UNIFORM_MAX_LENGTH" />
<use enum="VERSION_3_0" token="TRANSFORM_FEEDBACK_BUFFER_MODE" />
<use enum="VERSION_3_0" token="TRANSFORM_FEEDBACK_VARYINGS" />
<use enum="VERSION_3_0" token="TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH" />
<use enum="VERSION_3_1" token="ACTIVE_UNIFORM_BLOCKS" />
<use enum="VERSION_3_1" token="ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" />
<use enum="VERSION_3_2" token="GEOMETRY_VERTICES_OUT" />
<use enum="VERSION_3_2" token="GEOMETRY_INPUT_TYPE" />
<use enum="VERSION_3_2" token="GEOMETRY_OUTPUT_TYPE" />
<use enum="VERSION_3_2" token="GEOMETRY_SHADER_INVOCATIONS" />
<use enum="VERSION_4_0" token="TESS_CONTROL_OUTPUT_VERTICES" />
<use enum="VERSION_4_0" token="TESS_GEN_MODE" />
<use enum="VERSION_4_0" token="TESS_GEN_SPACING" />
@ -2362,18 +2637,62 @@
<use enum="VERSION_4_0" token="TESS_GEN_POINT_MODE" />
<use enum="VERSION_4_1" token="PROGRAM_SEPARABLE" />
<use enum="VERSION_4_1" token="PROGRAM_BINARY_RETRIEVABLE_HINT" />
<use enum="VERSION_4_1" token="PROGRAM_BINARY_LENGTH" />
<use enum="VERSION_4_2" token="ACTIVE_ATOMIC_COUNTER_BUFFERS" />
<use enum="VERSION_4_3" token="MAX_COMPUTE_WORK_GROUP_SIZE" />
</enum>
<enum name="ProgramParameterPName">
<use enum="VERSION_4_1" token="PROGRAM_SEPARABLE" />
<use enum="VERSION_4_1" token="PROGRAM_BINARY_RETRIEVABLE_HINT" />
</enum>
<enum name="ProgramPipelineParameter">
<use enum="VERSION_4_1" token="ACTIVE_PROGRAM" />
<use enum="VERSION_2_0" token="VALIDATE_STATUS" />
<use enum="VERSION_2_0" token="VERTEX_SHADER" />
<use enum="VERSION_2_0" token="FRAGMENT_SHADER" />
<use enum="VERSION_3_2" token="GEOMETRY_SHADER" />
<use enum="VERSION_4_2" token="TESS_CONTROL_SHADER" />
<use enum="VERSION_4_2" token="TESS_EVALUATION_SHADER" />
<use enum="VERSION_2_0" token="INFO_LOG_LENGTH" />
<use enum="VERSION_4_3" token="COMPUTE_SHADER" />
</enum>
<enum name="ProgramProperty">
<use enum="VERSION_4_3" token="ACTIVE_VARIABLES" />
<use enum="VERSION_4_3" token="BUFFER_BINDING" />
<use enum="VERSION_4_3" token="NUM_ACTIVE_VARIABLES" />
<use enum="VERSION_4_3" token="ARRAY_SIZE" />
<use enum="VERSION_4_3" token="ARRAY_STRIDE" />
<use enum="VERSION_4_3" token="BLOCK_INDEX" />
<use enum="VERSION_4_3" token="IS_ROW_MAJOR" />
<use enum="VERSION_4_3" token="MATRIX_STRIDE" />
<use enum="VERSION_4_3" token="ATOMIC_COUNTER_BUFFER_INDEX" />
<use enum="VERSION_4_3" token="BUFFER_DATA_SIZE" />
<use enum="VERSION_4_3" token="NUM_COMPATIBLE_SUBROUTINES" />
<use enum="VERSION_4_3" token="COMPATIBLE_SUBROUTINES" />
<use enum="VERSION_4_3" token="IS_PER_PATCH" />
<use enum="VERSION_4_3" token="LOCATION" />
<use enum="VERSION_4_4" token="LOCATION_COMPONENT" />
<use enum="VERSION_4_3" token="LOCATION_INDEX" />
<use enum="VERSION_4_3" token="NAME_LENGTH" />
<use enum="VERSION_4_3" token="OFFSET" />
<use enum="VERSION_4_3" token="REFERENCED_BY_VERTEX_SHADER" />
<use enum="VERSION_4_3" token="REFERENCED_BY_TESS_CONTROL_SHADER" />
<use enum="VERSION_4_3" token="REFERENCED_BY_TESS_EVALUATION_SHADER" />
<use enum="VERSION_4_3" token="REFERENCED_BY_GEOMETRY_SHADER" />
<use enum="VERSION_4_3" token="REFERENCED_BY_FRAGMENT_SHADER" />
<use enum="VERSION_4_4" token="TRANSFORM_FEEDBACK_BUFFER_INDEX" />
<use enum="VERSION_4_4" token="TRANSFORM_FEEDBACK_BUFFER_STRIDE" />
<use enum="VERSION_4_3" token="TOP_LEVEL_ARRAY_SIZE" />
<use enum="VERSION_4_3" token="TOP_LEVEL_ARRAY_STRIDE" />
<use enum="VERSION_4_3" token="TYPE" />
</enum>
<enum name="ProgramStageMask">
<use enum="VERSION_4_1" token="ALL_SHADER_BITS" />
<use enum="VERSION_4_1" token="VERTEX_SHADER_BIT" />
<use enum="VERSION_4_1" token="FRAGMENT_SHADER_BIT" />
<use enum="VERSION_4_1" token="GEOMETRY_SHADER_BIT" />
<use enum="VERSION_4_1" token="TESS_CONTROL_SHADER_BIT" />
<use enum="VERSION_4_1" token="TESS_EVALUATION_SHADER_BIT" />
<use enum="VERSION_4_1" token="ALL_SHADER_BITS" />
<use enum="VERSION_4_4" token="COMPUTE_SHADER_BIT" />
</enum>
<enum name="ProgramStageParameter">
<use enum="VERSION_4_0" token="ACTIVE_SUBROUTINES" />
@ -2395,7 +2714,8 @@
<token name="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN" value="0x8C88" />
<use enum="ARB_occlusion_query2" token="ANY_SAMPLES_PASSED" />
<use enum="VERSION_3_3" token="TIME_ELAPSED" />
<use enum="VERSION_3_3" token="TIMESTAMP" />
<use enum="VERSION_3_3" token="TIMESTAMP" /> <!-- only valid in GetQuery -->
<use enum="VERSION_4_3" token="ANY_SAMPLES_PASSED_CONSERVATIVE" />
</enum>
<enum name="ReadBufferMode">
<use enum="ARB_framebuffer_object" token="COLOR_ATTACHMENT0" />
@ -2551,12 +2871,14 @@
<use enum="VERSION_4_1" token="HIGH_INT" />
</enum>
<enum name="ShaderType">
<token name="FRAGMENT_SHADER" value="0x8B30" />
<token name="GEOMETRY_SHADER" value="0x8DD9" />
<token name="GEOMETRY_SHADER_EXT" value="0x8DD9" />
<token name="VERTEX_SHADER" value="0x8B31" />
<use enum="VERSION_2_0" token="FRAGMENT_SHADER" />
<use enum="VERSION_2_0" token="VERTEX_SHADER" />
<use enum="VERSION_3_2" token="GEOMETRY_SHADER" />
<use enum="EXT_geometry_shader4" token="GEOMETRY_SHADER_EXT" /> <!-- for back compat -->
<use enum="VERSION_4_0" token="TESS_EVALUATION_SHADER" />
<use enum="VERSION_4_0" token="TESS_CONTROL_SHADER" /> </enum>
<use enum="VERSION_4_0" token="TESS_CONTROL_SHADER" />
<use enum="VERSION_4_3" token="COMPUTE_SHADER" />
</enum>
<enum name="SizedInternalFormat">
<use enum="PixelInternalFormat" token="R8" />
<use enum="PixelInternalFormat" token="R16" />
@ -2602,6 +2924,25 @@
<use enum="StringName" token="EXTENSIONS" />
<token name="SHADING_LANGUAGE_VERSION" value="0x8B8C" />
</enum>
<enum name="SyncCondition">
<use enum="VERSION_4_1" token="SYNC_GPU_COMMANDS_COMPLETE" />
</enum>
<enum name="WaitSyncFlags">
<token name="DEFAULT" value="0" />
<use enum="VERSION_4_1" token="SYNC_FLUSH_COMMANDS_BIT" />
</enum>
<enum name="WaitSyncStatus">
<use token="ALREADY_SIGNALED" />
<use token="TIMEOUT_EXPIRED" />
<use token="CONDITION_SATISFIED" />
<use token="WAIT_FAILED" />
</enum>
<enum name="SyncParameter">
<use token="OBJECT_TYPE" />
<use token="SYNC_STATUS" />
<use token="SYNC_CONDITION" />
<use token="SYNC_FLAGS" />
</enum>
<enum name="TexCoordPointerType">
<use enum="ARB_half_float_vertex" token="HALF_FLOAT" />
<use enum="VERSION_3_3" token="UNSIGNED_INT_2_10_10_10_REV" />

File diff suppressed because it is too large Load diff

View file

@ -63,8 +63,9 @@ VoidPointer, void*
float, float
int, int
#void, *
GLDEBUGPROC, DebugProc
GLDEBUGPROCARB, DebugProcArb
GLDEBUGPROCAMD , DebugProcAmd
GLDEBUGPROCAMD, DebugProcAmd
GLvdpauSurfaceNV, IntPtr
# Glu types.

View file

@ -238,7 +238,8 @@ namespace Bind
// "(Const)VoidPointer" -> "void*"
GLTypes.Add(words[0], "void*");
}
else if (words[0] == "CharPointer" || words[0] == "charPointerARB")
else if (words[0] == "CharPointer" || words[0] == "charPointerARB" ||
words[0] == "ConstCharPointer")
{
// The typematching logic cannot handle pointers to pointers, e.g. CharPointer* -> char** -> string* -> string[].
// Hence we give it a push.

View file

@ -42,6 +42,9 @@ namespace CHeaderToXML
enum ParserModes { None, Enum, Func };
ParserModes CurrentMode;
enum EntryModes { Core, Compatibility };
EntryModes CurrentEntryMode;
public override IEnumerable<XElement> Parse(string[] lines)
{
XElement current = null;
@ -64,6 +67,7 @@ namespace CHeaderToXML
new XAttribute("name", words[0]));
CurrentMode = ParserModes.Enum;
CurrentEntryMode = EntryModes.Core;
}
else if (line.StartsWith(words[0] + "("))
{
@ -77,6 +81,11 @@ namespace CHeaderToXML
new XAttribute("name", words[0]),
new XAttribute("extension", extension));
if (words[0].Contains("ShaderSource"))
{
System.Diagnostics.Debugger.Break();
}
CurrentMode = ParserModes.Func;
}
else if (current != null)
@ -90,12 +99,28 @@ namespace CHeaderToXML
current.Add(new XElement("use",
new XAttribute("enum", words[1]),
new XAttribute("token", words[2])));
//new XAttribute("profile", CurrentEntryMode == EntryModes.Compatibility ?
// "compatibility" : "core")));
}
else if (words[1] == "=")
{
current.Add(new XElement("token",
new XAttribute("name", words[0]),
new XAttribute("value", words[2])));
//new XAttribute("profile", CurrentEntryMode == EntryModes.Compatibility ?
// "compatibility" : "core")));
}
else if (words[0] == "profile:")
{
//CurrentEntryMode = words[1] == "compatibility" ?
// EntryModes.Compatibility : EntryModes.Core;
}
else if (words[0].Contains("future_use"))
{
// This is a bug in the 4.3 specs. Unfortunately,
// Khronos is no longer accepting bug reports for
// the .spec files.
continue;
}
else
{

View file

@ -3,6 +3,12 @@
This is a simple tool to convert C headers to XML files. It works using simple pattern matching - it does not actually parse the header files. For this reason, it will work with only a few, specific header files: ES and CL at this point.
[Example]
Convert.exe -p:gl -v:4.3 -t:spec -o:../../../Source/Bind/Specifications/GL2/signatures.xml https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/oldspecs/gl.spec https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/oldspecs/enum.spec https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/oldspecs/enumext.spec
The line above will download the latest .spec files from the public Khronos repository and update signatures.xml for the binding generator.
[Usage]
Convert.exe -p:{PREFIX} -v:{VERSION} -t:{TYPE} -o:{OUT} {INPUT1} ... {INPUTn}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1322,7 +1322,7 @@ namespace OpenTK.Graphics.OpenGL
#region DrawElements
public static void DrawElements(BeginMode mode, int count, DrawElementsType type, int offset)
public static void DrawElements(PrimitiveType mode, int count, DrawElementsType type, int offset)
{
DrawElements(mode, count, type, new IntPtr(offset));
}
@ -1457,13 +1457,75 @@ namespace OpenTK.Graphics.OpenGL
#region Obsolete
[AutoGenerated(Category = "VERSION_1_0_DEPRECATED", Version = "1.0", EntryPoint = "glBegin")]
[Obsolete("Use BeginMode(PrimitiveType) instead")]
public static void Begin(OpenTK.Graphics.OpenGL.BeginMode mode)
{
Begin((PrimitiveType)mode);
}
[AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glDisableClientState")]
[Obsolete("Use DisableClientState(ArrayCap) instead.")]
[Obsolete("Use DisableClientState(ArrayCap) instead")]
public static void DisableClientState(OpenTK.Graphics.OpenGL.EnableCap array)
{
DisableClientState((ArrayCap)array);
}
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glDrawArrays")]
[Obsolete("Use DrawArrays(PrimitiveType) instead")]
public static void DrawArrays(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 first, Int32 count)
{
DrawArrays((PrimitiveType)mode, first, count);
}
[AutoGenerated(Category = "VERSION_3_1", Version = "3.1", EntryPoint = "glDrawArraysInstanced")]
[Obsolete("Use DrawArraysInstanced(PrimitiveType) instead")]
public static void DrawArraysInstanced(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 first, Int32 count, Int32 primcount)
{
DrawArraysInstanced((PrimitiveType)mode, first, count, primcount);
}
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glDrawElements")]
[Obsolete("Use DrawElements(PrimitiveType) instead")]
public static void DrawElements(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 count, OpenTK.Graphics.OpenGL.DrawElementsType type, IntPtr indices)
{
DrawElements((PrimitiveType)mode, count, type, indices);
}
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glDrawElements")]
[Obsolete("Use DrawElements(PrimitiveType) instead")]
public static void DrawElements<T3>(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 count, OpenTK.Graphics.OpenGL.DrawElementsType type, [InAttribute, OutAttribute] T3[] indices)
where T3 : struct
{
DrawElements((PrimitiveType)mode, count, type, indices);
}
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glDrawElements")]
[Obsolete("Use DrawElements(PrimitiveType) instead")]
[CLSCompliant(false)]
public static void DrawElements<T3>(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 count, OpenTK.Graphics.OpenGL.DrawElementsType type, [InAttribute, OutAttribute] T3[,] indices)
where T3 : struct
{
DrawElements((PrimitiveType)mode, count, type, indices);
}
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glDrawElements")]
[Obsolete("Use DrawElements(PrimitiveType) instead")]
[CLSCompliant(false)]
public static void DrawElements<T3>(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 count, OpenTK.Graphics.OpenGL.DrawElementsType type, [InAttribute, OutAttribute] T3[,,] indices)
where T3 : struct
{
DrawElements((PrimitiveType)mode, count, type, indices);
}
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glDrawElements")]
[Obsolete("Use DrawElements(PrimitiveType) instead")]
public static void DrawElements<T3>(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 count, OpenTK.Graphics.OpenGL.DrawElementsType type, [InAttribute, OutAttribute] ref T3 indices)
where T3 : struct
{
DrawElements((PrimitiveType)mode, count, type, ref indices);
}
[AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEnableClientState")]
[Obsolete("Use EnableClientState(ArrayCap) instead.")]
public static void EnableClientState(OpenTK.Graphics.OpenGL.EnableCap array)
@ -1517,8 +1579,36 @@ namespace OpenTK.Graphics.OpenGL
GetActiveUniforms(program, uniformCount, uniformIndices, (ActiveUniformParameter)pname, @params);
}
[AutoGenerated(Category = "VERSION_1_4", Version = "1.4", EntryPoint = "glMultiDrawArrays")]
[Obsolete("Use MultiDrawArrays(PrimitiveType) instead")]
public static void MultiDrawArrays(OpenTK.Graphics.OpenGL.BeginMode mode, Int32[] first, Int32[] count, Int32 primcount)
{
MultiDrawArrays((PrimitiveType)mode, first, count, primcount);
}
[AutoGenerated(Category = "VERSION_1_4", Version = "1.4", EntryPoint = "glMultiDrawArrays")]
[Obsolete("Use MultiDrawArrays(PrimitiveType) instead")]
public static void MultiDrawArrays(OpenTK.Graphics.OpenGL.BeginMode mode, ref Int32 first, ref Int32 count, Int32 primcount)
{
MultiDrawArrays((PrimitiveType)mode, ref first, ref count, primcount);
}
[AutoGenerated(Category = "VERSION_1_4", Version = "1.4", EntryPoint = "glMultiDrawArrays")]
[Obsolete("Use MultiDrawArrays(PrimitiveType) instead")]
unsafe public static void MultiDrawArrays(OpenTK.Graphics.OpenGL.BeginMode mode, Int32* first, Int32* count, Int32 primcount)
{
MultiDrawArrays((PrimitiveType)mode, first, count, primcount);
}
public static partial class Arb
{
[AutoGenerated(Category = "ARB_draw_instanced", Version = "2.0", EntryPoint = "glDrawArraysInstancedARB")]
[Obsolete("Use DrawArraysInstanced(PrimitiveType) instead.")]
public static void DrawArraysInstanced(OpenTK.Graphics.OpenGL.BeginMode mode, Int32 first, Int32 count, Int32 primcount)
{
DrawArraysInstanced((PrimitiveType)mode, first, count, primcount);
}
[AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glProgramParameteriARB")]
[Obsolete("Use ProgramParameter(..., AssemblyProgramParameterArb, ...) instead.")]
public static void ProgramParameter(Int32 program, ArbGeometryShader4 pname, Int32 value)
@ -1570,4 +1660,8 @@ namespace OpenTK.Graphics.OpenGL
public delegate void DebugProcArb(int id,
ArbDebugOutput category, ArbDebugOutput severity,
IntPtr length, string message, IntPtr userParam);
public delegate void DebugProc(int id,
ArbDebugOutput category, ArbDebugOutput severity,
IntPtr length, string message, IntPtr userParam);
}

View file

@ -1631,7 +1631,7 @@ namespace OpenTK.Platform.Windows
internal static readonly IntPtr MESSAGE_ONLY = new IntPtr(-3);
internal static readonly IntPtr HKEY_LOCAL_MACHINE = new IntPtr(0x80000002);
internal static readonly IntPtr HKEY_LOCAL_MACHINE = new IntPtr(unchecked((int)0x80000002));
}
#endregion