diff --git a/Source/Bind/Specifications/GL2/enumext.spec b/Source/Bind/Specifications/GL2/enumext.spec
index 8db0a713..acc73255 100644
--- a/Source/Bind/Specifications/GL2/enumext.spec
+++ b/Source/Bind/Specifications/GL2/enumext.spec
@@ -7937,4 +7937,15 @@ GetPName enum:
# ARB_draw_elements_base_vertex tokens
# http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt
+# VertexAttribIPointerType (see OpenGL 3.2 reference card)
+# Note: the underscore is there to avoid changing IPointer to Ipointer.
+VertexAttribI_PointerType enum:
+ use DataType BYTE
+ use DataType UNSIGNED_BYTE
+ use DataType SHORT
+ use DataType UNSIGNED_SHORT
+ use DataType INT
+ use DataType UNSIGNED_INT
+
+
# End (don't remove, or the last token may be removed!)
diff --git a/Source/Bind/Specifications/GL2/gloverrides.xml b/Source/Bind/Specifications/GL2/gloverrides.xml
index e9321d3d..85a04912 100644
--- a/Source/Bind/Specifications/GL2/gloverrides.xml
+++ b/Source/Bind/Specifications/GL2/gloverrides.xml
@@ -247,7 +247,7 @@
- VertexAttribParameter
+ VertexAttribIPointerType
diff --git a/Source/OpenTK/Graphics/OpenGL/GL.cs b/Source/OpenTK/Graphics/OpenGL/GL.cs
index 7daffdf8..b7a7afdf 100644
--- a/Source/OpenTK/Graphics/OpenGL/GL.cs
+++ b/Source/OpenTK/Graphics/OpenGL/GL.cs
@@ -80549,7 +80549,7 @@ namespace OpenTK.Graphics.OpenGL
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] ref T4 pointer)
+ void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] ref T4 pointer)
where T4 : struct
{
#if DEBUG
@@ -80559,7 +80559,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
pointer = (T4)pointer_ptr.Target;
}
finally
@@ -80573,7 +80573,7 @@ namespace OpenTK.Graphics.OpenGL
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] T4[,,] pointer)
+ void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] T4[,,] pointer)
where T4 : struct
{
#if DEBUG
@@ -80583,7 +80583,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
}
finally
{
@@ -80596,7 +80596,7 @@ namespace OpenTK.Graphics.OpenGL
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] T4[,] pointer)
+ void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] T4[,] pointer)
where T4 : struct
{
#if DEBUG
@@ -80606,7 +80606,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
}
finally
{
@@ -80619,7 +80619,7 @@ namespace OpenTK.Graphics.OpenGL
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] T4[] pointer)
+ void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] T4[] pointer)
where T4 : struct
{
#if DEBUG
@@ -80629,7 +80629,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
}
finally
{
@@ -80642,13 +80642,13 @@ namespace OpenTK.Graphics.OpenGL
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, IntPtr pointer)
+ void VertexAttribIPointer(Int32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, IntPtr pointer)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer);
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer);
#if DEBUG
}
#endif
@@ -80657,7 +80657,7 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] ref T4 pointer)
+ void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] ref T4 pointer)
where T4 : struct
{
#if DEBUG
@@ -80667,7 +80667,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
pointer = (T4)pointer_ptr.Target;
}
finally
@@ -80682,7 +80682,7 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] T4[,,] pointer)
+ void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] T4[,,] pointer)
where T4 : struct
{
#if DEBUG
@@ -80692,7 +80692,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
}
finally
{
@@ -80706,7 +80706,7 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] T4[,] pointer)
+ void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] T4[,] pointer)
where T4 : struct
{
#if DEBUG
@@ -80716,7 +80716,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
}
finally
{
@@ -80730,7 +80730,7 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, [InAttribute, OutAttribute] T4[] pointer)
+ void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, [InAttribute, OutAttribute] T4[] pointer)
where T4 : struct
{
#if DEBUG
@@ -80740,7 +80740,7 @@ namespace OpenTK.Graphics.OpenGL
GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
try
{
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
}
finally
{
@@ -80754,13 +80754,13 @@ namespace OpenTK.Graphics.OpenGL
[System.CLSCompliant(false)]
[AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
public static
- void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, IntPtr pointer)
+ void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, IntPtr pointer)
{
#if DEBUG
using (new ErrorHelper(GraphicsContext.CurrentContext))
{
#endif
- Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer);
+ Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (OpenTK.Graphics.OpenGL.VertexAttribIPointerType)type, (Int32)stride, (IntPtr)pointer);
#if DEBUG
}
#endif
diff --git a/Source/OpenTK/Graphics/OpenGL/GLCore.cs b/Source/OpenTK/Graphics/OpenGL/GLCore.cs
index 98bd9f26..44481ec0 100644
--- a/Source/OpenTK/Graphics/OpenGL/GLCore.cs
+++ b/Source/OpenTK/Graphics/OpenGL/GLCore.cs
@@ -5339,7 +5339,7 @@ namespace OpenTK.Graphics.OpenGL
internal extern static unsafe void VertexAttribI4usvEXT(UInt32 index, UInt16* v);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribIPointer", ExactSpelling = true)]
- internal extern static void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, IntPtr pointer);
+ internal extern static void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, IntPtr pointer);
[System.Security.SuppressUnmanagedCodeSecurity()]
[System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribIPointerEXT", ExactSpelling = true)]
internal extern static void VertexAttribIPointerEXT(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.NvVertexProgram4 type, Int32 stride, IntPtr pointer);
diff --git a/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs b/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs
index e41d10b9..442e664d 100644
--- a/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs
+++ b/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs
@@ -5337,7 +5337,7 @@ namespace OpenTK.Graphics.OpenGL
internal unsafe delegate void VertexAttribI4usvEXT(UInt32 index, UInt16* v);
internal unsafe static VertexAttribI4usvEXT glVertexAttribI4usvEXT;
[System.Security.SuppressUnmanagedCodeSecurity()]
- internal delegate void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribParameter type, Int32 stride, IntPtr pointer);
+ internal delegate void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.VertexAttribIPointerType type, Int32 stride, IntPtr pointer);
internal static VertexAttribIPointer glVertexAttribIPointer;
[System.Security.SuppressUnmanagedCodeSecurity()]
internal delegate void VertexAttribIPointerEXT(UInt32 index, Int32 size, OpenTK.Graphics.OpenGL.NvVertexProgram4 type, Int32 stride, IntPtr pointer);
diff --git a/Source/OpenTK/Graphics/OpenGL/GLEnums.cs b/Source/OpenTK/Graphics/OpenGL/GLEnums.cs
index 014e1c07..79d48f6c 100644
--- a/Source/OpenTK/Graphics/OpenGL/GLEnums.cs
+++ b/Source/OpenTK/Graphics/OpenGL/GLEnums.cs
@@ -11884,6 +11884,16 @@ namespace OpenTK.Graphics.OpenGL
TimeoutIgnored = unchecked((int)0xFFFFFFFFFFFFFFFF),
}
+ public enum VertexAttribIPointerType : int
+ {
+ Byte = ((int)0x1400),
+ UnsignedByte = ((int)0x1401),
+ Short = ((int)0x1402),
+ UnsignedShort = ((int)0x1403),
+ Int = ((int)0x1404),
+ UnsignedInt = ((int)0x1405),
+ }
+
public enum VertexAttribParameter : int
{
ArrayEnabled = ((int)0x8622),