diff --git a/.travis.yml b/.travis.yml
index fccc2cd72..87f073601 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,10 +2,10 @@ language: objective-c
env:
global:
- - EnableNuGetPackageRestore=true
+ - EnableNuGetPackageRestore=true
matrix:
- MONO_VER="2.10.11"
- - MONO_VER="3.2.6"
+ - MONO_VER="3.6.0"
before_install:
- wget "http://download.mono-project.com/archive/${MONO_VER}/macos-10-x86/MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.pkg" "http://download.mono-project.com/archive/${MONO_VER}/macos-10-x86/MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.dmg" || true
@@ -15,4 +15,3 @@ before_install:
script:
- xbuild && xbuild /p:Configuration=Release
-
diff --git a/Documentation/Todo.txt b/Documentation/Todo.txt
index 04f277246..244bed97c 100644
--- a/Documentation/Todo.txt
+++ b/Documentation/Todo.txt
@@ -7,6 +7,11 @@
- Implement touch input API.
- Implement force feedback API.
- Add Portable Class Library (PCL) target.
+- Add OpenCL support.
+- Add OpenGL ES 3.1 support.
+- Port to Linux/Wayland.
+- Port to Blackberry (WIP at https://github.com/rcmaniac25/opentk).
+- Port to Tizen.
[Hard]
- Merge with mono/opentk.
diff --git a/OpenTK.sln b/OpenTK.sln
index 1e8cfd8df..91151b380 100644
--- a/OpenTK.sln
+++ b/OpenTK.sln
@@ -74,6 +74,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Generator.Rewrite", "Source
{75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.API.Desktop", "Source\Tests\Test.API.Desktop\Test.API.Desktop.csproj", "{C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}"
+ ProjectSection(ProjectDependencies) = postProject
+ {75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -158,6 +163,14 @@ Global
{C426C9D1-8857-4E52-BAC7-4C05EE6070AB}.Nsis|Any CPU.Build.0 = Release|Any CPU
{C426C9D1-8857-4E52-BAC7-4C05EE6070AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C426C9D1-8857-4E52-BAC7-4C05EE6070AB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Documentation|Any CPU.ActiveCfg = Debug|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Documentation|Any CPU.Build.0 = Debug|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Nsis|Any CPU.ActiveCfg = Release|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Nsis|Any CPU.Build.0 = Release|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C4DDD20F-CB4E-43F4-A75C-4A3D668E1F99}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/README.md b/README.md
index b919f243a..dd2c5b39d 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
OpenTK
======
-The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenGL ES and OpenAL. It is suitable for games, scientific applications and any other project that requires 3d graphics, audio or compute functionality.
+The Open Toolkit library is a fast, low-level C# binding for OpenGL, OpenGL ES and OpenAL. It runs on all major platforms and powers hundreds of apps, games and scientific research.
+
+Use OpenTK to add cross-platform 3d graphics, audio, compute and haptics to your C# application. Integrate it into your existing user interface or use it standalone without any external dependencies.
Project website: http://www.opentk.com/
@@ -12,7 +14,7 @@ Features
========
- Create cutting-edge graphics with OpenGL 4.4 and OpenGL ES 3.0
-- Spice up your GUI with 3d graphics
+- Spice up your GUI with 3d acceleration
- Improve your code flow with strong types and inline documentation
- Write once run everywhere
@@ -24,7 +26,11 @@ OpenTK is available for Windows, Linux, Mac OS X, *BSD, SteamOS, Android and iOS
Instructions
============
-The simplest way to use OpenTK in your project is to install the [NuGet package](http://www.nuget.org/packages/OpenTK/).
+The simplest way to use OpenTK in your project is to install the [NuGet package](http://www.nuget.org/packages/OpenTK/).
+
+Note what installing NuGet package will add reference to OpenTK.dll, but OpenTK.dll.config
+will not be copied to the project output directory automatically, so you need to add it to your project
+and then enable the "Copy to Output Directory" option (as in step 3 below).
Alternatively, download the [OpenTK binaries](http://www.opentk.com) and:
@@ -32,71 +38,54 @@ Alternatively, download the [OpenTK binaries](http://www.opentk.com) and:
2. Use "Add reference" to add OpenTK.dll as a project reference
3. Use "Add files" to add OpenTK.dll.config to your project, and enable the "Copy to Output Directory" option.
-If you wish to build OpenTK from source, simply double-click OpenTK.sln
+To build OpenTK from source, simply double-click OpenTK.sln and build through your IDE.
+
+Alternatively, open a command prompt and type:
+```
+git clone https://github.com/opentk/opentk # Download source code from git
+cd opentk # Enter the source directory
+msbuild /p:Configuration=Release OpenTK.sln # Build on .Net (Windows)
+xbuild /p:Configuration=Release OpenTK.sln # Build on Mono (Linux / Mac OS X)
+```
News
====
-OpenTK 1.1.2 was released on 19 May 2014.
+OpenTK 1.1.4c was released on 24 July 2014.
-It contains performance and stability improvements and synchronizes the OpenGL and OpenGL ES bindings with the May 2014 Khronos specifications.
+This is a hotfix release that improves stability on Mac OS X. Moreover, it synchronizes the GamePad configuration database with SDL 2.0.4 and fixes an invalid GUID introduced in 1.1.4b.
+
+OpenTK 1.1.4 was released on 21 July 2014.
+
+This release resolves a number of identified issues, adds experimental support for Linux/KMS and synchronizes the OpenGL and OpenGL ES bindings with the July 2014 Khronos specifications.
**Changelog:**
-1. New Cocoa backend for Mac OS X, with support for OpenGL 4.x and retina displays. Huge thanks to [Ollhax](https://github.com/Ollhax) for implementing the backend from scratch, including the necessary Cocoa bindings!
-2. Custom hardware cursors are now supported: `INativeWindow.Cursor = new MouseCursor(...)`
-3. Up to 2000% improvement in binding loading speed. The exact numbers depend on the operating system and hardware configuration. On a Nvidia 650M GPU and a 2.3GHz processor:
- - Linux: 6.5ms instead of 45ms
- - MacOS: 9.5ms instead of 165ms
- - Win64: 5.9ms instead of 108ms
-4. Up to 1000% improvement in memory consumption. The object graph has been reduced from 9000 to 900 objects, consuming between 185-220KB of memory depending on the platform and hardware configuration.
-5. Support for high-resolution X/Y scrolling on all platforms:
- - `OpenTK.Input.MouseState.Scroll.X/Y`
-6. Improved mouse input APIs:
- - new INativeWindow.MouseMove, MouseUp, MouseDown and MouseWheel events
- - new OpenTK.Mouse.GetCursorPos() API to retrieve the state of the system cursor
- - all mouse event arguments now carry the current MouseState
-7. Improved keyboard input APIs:
- - support for non-US layouts on Linux/X11
- - all keyboard event arguments now carry the current KeyboardState
- - all keyboard event arguments now report the correct KeyModifiers state
-8. New OpenGL extensions:
- - AMD_gcn_shader
- - AMD_gpu_shader_int64
- - AMD_transform_feedback4
- - EXT_shader_image_load_formatted
- - NV_shader_thread_group
- - NV_shader_thread_shuffle
-9. New OpenGL ES extensions:
- - ARM_shader_framebuffer_fetch
- - ARM_shader_framebuffer_fetch_depth_stencil
- - EXT_shader_pixel_local_storage
- - KHR_blend_equation_advanced
- - OES_sample_shading
- - OES_sample_variables
- - OES_shader_image_atomic
- - OES_shader_multisample_interpolation
- - OES_texture_stencil8
- - OES_texture_storage_multisample_2d_array
-10. Improved OpenGL ES documentation tooltips.
-11. Improved stability when using EGL on Linux and Windows/ANGLE.
-12. Improved stability when using SDL2 on 32bit platforms.
-13. Improved the shutdown sequence on X11.
-14. Fixed a marshaling issue affecting 2d and 3d arrays on Windows/.Net.
-
-
-OpenTK 1.1.2 is backwards compatible with 1.1.1. Users of previous versions are encouraged to upgrade.
+1. Fixed a memory leak in OpenGL functions accepting a string array.
+2. Fixed an issue where `MakeCurrent()` might fail on Linux/X11 when using the Nvidia closed-source drivers.
+3. Fixed an issue where `GameWindow` might remain open on Linux/X11 after calling `Close()` or `Dispose()`.
+4. Fixed a potential crash on Mac OS X systems without hardware acceleration (e.g. virtual machines).
+5. Fixed function parameters for the `OES_byte_coordinates` extension.
+6. Fixed an issue where OpenTK would always perform a full rebuild even when a partial rebuild could work.
+7. Fixed all compilation warnings on VS2013 and Mono 3.4.0.
+8. Improved OpenGL and OpenGL ES documentation on 'count' parameters.
+9. New platform: Linux/KMS. You can now run OpenTK applications on a Linux terminal without an X11 display server.
+10. New OpenGL ES extensions:
+ - ANDROID_extension_pack_es31a
+
+OpenTK 1.1.4 is backwards compatible with 1.1.3. Users of previous versions are **strongly** encouraged to upgrade.
Known issues
============
-The SDL2 backend has a number of limitations compared to the native platform backends. In particular, SDL2 does not support:
- - `OpenTK.GLControl`. OpenTK will automatically use a native platform backend instead.
+1. The SDL2 backend has a number of limitations compared to the native platform backends. In particular, SDL2 does not support:
+ - `OpenTK.GLControl`. OpenTK will automatically switch to a native platform backend instead.
- `DisplayDevice.ChangeResolution()` without a fullscreen `INativeWindow`.
- - changing `INativeWindow.WindowBorder` once a window is created.
- - high-resolution mouse input. Additionally, it is limited to a single keyboard and mouse device.
+ - Switching between `WindowBorder.Fixed` and `WindowBorder.Resizable`.
+ - High-resolution mouse input. Additionally, it is limited to a single keyboard and mouse device.
+2. OpenTK.Input.GamePad.SetVibration is currently not implemented. This API will be implemented in a future release.
Contributing
@@ -113,17 +102,16 @@ Some areas we could really use your help:
- Tutorials for OpenGL 3.x and 4.x. [Inspiration here](https://github.com/Groovounet/ogl-samples)
- New platforms:
- Native Client (NaCL)
- - Raspberry PI (EGL without X11)
+ - Blackberry
- Wayland
- Mir
- WinRT (via ANGLE)
- New features:
- Multitouch
- - Clipboard
- - Input Method Editors (IMEs)
- - USB HID joystick backend (Windows, Linux)
+ - Force feedback
+ - Improved joystick support (HID backend for Windows, Linux)
-Further ideas for improvement are always welcome.
+Further ideas for improvement are always welcome!
Requirements
@@ -164,6 +152,10 @@ http://www.opentk.com/project/license
API compatibility
=================
+OpenTK 1.1.4 is backwards compatible with 1.1.3.
+
+OpenTK 1.1.3 is backwards compatible with 1.1.2.
+
OpenTK 1.1.2 is backwards compatible with 1.1.1.
OpenTK 1.1.1 is backwards compatible with 1.1.0.
@@ -250,3 +242,10 @@ Change namespace:
- GL.DisableDriverControlQCOM -> GL.Qcom.DisableDriverControl
- GL.GetDriverControlsQCOM -> GL.Qcom.GetDriverControls
- GL.GetDriverControlStringQCOM -> GL.Qcom.GetDriverControlString
+
+
+See also
+========
+
+[Delta Engine](http://deltaengine.net/), a high-level, open-source game engine.
+[MonoGame](https://github.com/mono/monogame), an open-source, cross-platform implementation of XNA.
diff --git a/Source/Bind/CSharpSpecWriter.cs b/Source/Bind/CSharpSpecWriter.cs
index f64086059..d347f545a 100644
--- a/Source/Bind/CSharpSpecWriter.cs
+++ b/Source/Bind/CSharpSpecWriter.cs
@@ -384,7 +384,7 @@ void WriteDocumentation(BindStreamWriter sw, Function f)
else
{
Console.Error.WriteLine(
- "[Warning] Parameter '{0}' in function '{1}' not found in documentation '{{{3}}}'",
+ "[Warning] Parameter '{0}' in function '{1}' not found in documentation '{{{2}}}'",
param.Name, f.Name,
String.Join(",", docs.Parameters.Select(p => p.Name).ToArray()));
sw.WriteLine("/// {1}",
@@ -505,6 +505,10 @@ void WriteEnums(BindStreamWriter sw, EnumCollection enums, FunctionCollection wr
sw.WriteLine("/// ");
}
+ if (@enum.IsObsolete)
+ sw.WriteLine("[Obsolete(\"{0}\")]", @enum.Obsolete);
+ if (!@enum.CLSCompliant)
+ sw.WriteLine("[CLSCompliant(false)]");
if (@enum.IsFlagCollection)
sw.WriteLine("[Flags]");
sw.WriteLine("public enum " + @enum.Name + " : " + @enum.Type);
diff --git a/Source/Bind/ES/ES2Generator.cs b/Source/Bind/ES/ES2Generator.cs
index ccfafe4ec..e54f37d4b 100644
--- a/Source/Bind/ES/ES2Generator.cs
+++ b/Source/Bind/ES/ES2Generator.cs
@@ -25,6 +25,8 @@ public ES2Generator(Settings settings, string dirName)
Settings.DefaultDocPath = Path.Combine(
Settings.DefaultDocPath, "ES20");
+ Settings.OverridesFiles.Add("GL2/overrides.xml");
+
Profile = "gles2";
Version = "2.0";
diff --git a/Source/Bind/ES/ES31Generator.cs b/Source/Bind/ES/ES31Generator.cs
new file mode 100644
index 000000000..4e2167de4
--- /dev/null
+++ b/Source/Bind/ES/ES31Generator.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Xml.XPath;
+using Bind.GL2;
+using Bind.Structures;
+using Delegate=Bind.Structures.Delegate;
+using Enum=Bind.Structures.Enum;
+
+namespace Bind.ES
+{
+ // Generation implementation for OpenGL ES 3.1
+ class ES31Generator : Generator
+ {
+ public ES31Generator(Settings settings, string dirName)
+ : base(settings, dirName)
+ {
+ Settings.DefaultOutputPath = Path.Combine(
+ Settings.DefaultOutputPath, "../ES31");
+ Settings.DefaultOutputNamespace = "OpenTK.Graphics.ES31";
+ Settings.DefaultImportsFile = "ES31.Core.cs";
+ Settings.DefaultDelegatesFile = "ES31.Delegates.cs";
+ Settings.DefaultEnumsFile = "ES31.Enums.cs";
+ Settings.DefaultWrappersFile = "ES31.cs";
+ Settings.DefaultDocPath = Path.Combine(
+ Settings.DefaultDocPath, "ES31");
+
+ Settings.OverridesFiles.Add("GL2/overrides.xml");
+ Settings.OverridesFiles.Add("GL2/ES/3.1");
+
+ Profile = "gles2";
+ Version = "2.0|3.0|3.1";
+
+ // For compatibility with OpenTK 1.0 and Xamarin, generate
+ // overloads using the "All" enum in addition to strongly-typed enums.
+ // This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
+ Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
+ //Settings.DefaultCompatibility |= Settings.Legacy.UseDllImports;
+ }
+ }
+}
diff --git a/Source/Bind/ES/ES3Generator.cs b/Source/Bind/ES/ES3Generator.cs
index ba0e51358..e2dce0412 100644
--- a/Source/Bind/ES/ES3Generator.cs
+++ b/Source/Bind/ES/ES3Generator.cs
@@ -25,6 +25,8 @@ public ES3Generator(Settings settings, string dirName)
Settings.DefaultDocPath = Path.Combine(
Settings.DefaultDocPath, "ES30");
+ Settings.OverridesFiles.Add("GL2/overrides.xml");
+
Profile = "gles2"; // The 3.0 spec reuses the gles2 apiname
Version = "2.0|3.0";
diff --git a/Source/Bind/ES/ESGenerator.cs b/Source/Bind/ES/ESGenerator.cs
index f9124754a..c3a508833 100644
--- a/Source/Bind/ES/ESGenerator.cs
+++ b/Source/Bind/ES/ESGenerator.cs
@@ -25,6 +25,9 @@ public ESGenerator(Settings settings, string dirName)
Settings.DefaultDocPath = Path.Combine(
Settings.DefaultDocPath, "ES20"); // no ES11 docbook sources available
+ Settings.OverridesFiles.Add("GL2/overrides.xml");
+ Settings.OverridesFiles.Add("GL2/ES/1.1/");
+
// Khronos releases a combined 1.0+1.1 specification,
// so we cannot distinguish between the two.
// Todo: add support for common and light profiles.
diff --git a/Source/Bind/EnumProcessor.cs b/Source/Bind/EnumProcessor.cs
index 1e1a17145..2983d9544 100644
--- a/Source/Bind/EnumProcessor.cs
+++ b/Source/Bind/EnumProcessor.cs
@@ -39,12 +39,12 @@ namespace Bind
{
class EnumProcessor
{
- string Overrides { get; set; }
+ readonly IEnumerable Overrides;
IBind Generator { get; set; }
Settings Settings { get { return Generator.Settings; } }
- public EnumProcessor(IBind generator, string overrides)
+ public EnumProcessor(IBind generator, IEnumerable overrides)
{
if (generator == null)
throw new ArgumentNullException("generator");
@@ -57,9 +57,14 @@ public EnumProcessor(IBind generator, string overrides)
public EnumCollection Process(EnumCollection enums, string apiname)
{
- var nav = new XPathDocument(Overrides).CreateNavigator();
- enums = ProcessNames(enums, nav, apiname);
- enums = ProcessConstants(enums, nav, apiname);
+ foreach (var file in Overrides)
+ {
+ Console.WriteLine("Processing enums in {0}.", file);
+
+ var nav = new XPathDocument(file).CreateNavigator();
+ enums = ProcessNames(enums, nav, apiname);
+ enums = ProcessConstants(enums, nav, apiname);
+ }
return enums;
}
@@ -98,6 +103,25 @@ EnumCollection ProcessNames(EnumCollection enums, XPathNavigator nav, string api
e.Name = name;
processed_enums.Add(e.Name, e);
}
+
+ // Mark enums differing only in case as not CLS-compliant.
+ var list = enums.Values.ToList();
+ while (list.Count > 0)
+ {
+ var e1 = list.Last();
+ list.RemoveAt(list.Count - 1);
+
+ var e2 = list.FirstOrDefault(l => String.Compare(e1.Name, l.Name, true) == 0);
+ if (e2 != null)
+ {
+ e1.CLSCompliant = false;
+ e2.CLSCompliant = false;
+ }
+ }
+ foreach (var e in enums.Values)
+ {
+ }
+
return processed_enums;
}
@@ -115,6 +139,17 @@ static string ReplaceName(XPathNavigator nav, string apiname, string name)
return name;
}
+ static bool IsAlreadyProcessed(string name)
+ {
+ string extension = Utilities.GetExtension(name, true);
+ bool unprocessed = false;
+ unprocessed |= name.Contains("_") || name.Contains("-");
+ unprocessed |= Char.IsDigit(name[0]);
+ unprocessed |= name.All(c => Char.IsUpper(c));
+ unprocessed |= !String.IsNullOrEmpty(extension) && extension.All(c => Char.IsUpper(c));
+ return !unprocessed;
+ }
+
public string TranslateEnumName(string name)
{
if (String.IsNullOrEmpty(name))
@@ -123,70 +158,73 @@ public string TranslateEnumName(string name)
if (Utilities.Keywords(Settings.Language).Contains(name))
return name;
- if (Char.IsDigit(name[0]))
- name = Settings.ConstantPrefix + name;
+ if (!IsAlreadyProcessed(name))
+ {
+ if (Char.IsDigit(name[0]))
+ name = Settings.ConstantPrefix + name;
- StringBuilder translator = new StringBuilder(name);
+ StringBuilder translator = new StringBuilder(name);
- // Split on IHV names and acronyms, to ensure that characters appearing after these name are uppercase.
- var match = Utilities.Acronyms.Match(name);
- int offset = 0; // Everytime we insert a match, we must increase offset to compensate.
- while (match.Success)
- {
- int insert_pos = match.Index + match.Length + offset++;
- translator.Insert(insert_pos, "_");
- match = match.NextMatch();
- }
- name = translator.ToString();
- translator.Remove(0, translator.Length);
-
- // Process according to these rules:
- // 1. if current char is '_', '-' remove it and make next char uppercase
- // 2. if current char is or '0-9' keep it and make next char uppercase.
- // 3. if current char is uppercase make next char lowercase.
- // 4. if current char is lowercase, respect next char case.
- bool is_after_underscore_or_number = true;
- bool is_previous_uppercase = false;
- foreach (char c in name)
- {
- char char_to_add;
- if (c == '_' || c == '-')
+ // Split on IHV names and acronyms, to ensure that characters appearing after these name are uppercase.
+ var match = Utilities.Acronyms.Match(name);
+ int offset = 0; // Everytime we insert a match, we must increase offset to compensate.
+ while (match.Success)
{
- is_after_underscore_or_number = true;
- continue; // skip this character
+ int insert_pos = match.Index + match.Length + offset++;
+ translator.Insert(insert_pos, "_");
+ match = match.NextMatch();
}
- else if (Char.IsDigit(c))
+ name = translator.ToString();
+ translator.Remove(0, translator.Length);
+
+ // Process according to these rules:
+ // 1. if current char is '_', '-' remove it and make next char uppercase
+ // 2. if current char is or '0-9' keep it and make next char uppercase.
+ // 3. if current char is uppercase make next char lowercase.
+ // 4. if current char is lowercase, respect next char case.
+ bool is_after_underscore_or_number = true;
+ bool is_previous_uppercase = false;
+ foreach (char c in name)
{
- is_after_underscore_or_number = true;
- }
+ char char_to_add;
+ if (c == '_' || c == '-')
+ {
+ is_after_underscore_or_number = true;
+ continue; // skip this character
+ }
+ else if (Char.IsDigit(c))
+ {
+ is_after_underscore_or_number = true;
+ }
- if (is_after_underscore_or_number)
- char_to_add = Char.ToUpper(c);
- else if (is_previous_uppercase)
- char_to_add = Char.ToLower(c);
- else
- char_to_add = c;
+ if (is_after_underscore_or_number)
+ char_to_add = Char.ToUpper(c);
+ else if (is_previous_uppercase)
+ char_to_add = Char.ToLower(c);
+ else
+ char_to_add = c;
- translator.Append(char_to_add);
+ translator.Append(char_to_add);
- is_previous_uppercase = Char.IsUpper(c);
- is_after_underscore_or_number = false;
- }
+ is_previous_uppercase = Char.IsUpper(c);
+ is_after_underscore_or_number = false;
+ }
- // First letter should always be uppercase in order
- // to conform to .Net style guidelines.
- translator[0] = Char.ToUpper(translator[0]);
+ // First letter should always be uppercase in order
+ // to conform to .Net style guidelines.
+ translator[0] = Char.ToUpper(translator[0]);
- // Replace a number of words that do not play well
- // with the previous process (i.e. they have two
- // consecutive uppercase letters).
- translator.Replace("Pname", "PName");
- translator.Replace("AttribIp", "AttribIP");
- translator.Replace("SRgb", "Srgb");
+ // Replace a number of words that do not play well
+ // with the previous process (i.e. they have two
+ // consecutive uppercase letters).
+ translator.Replace("Pname", "PName");
+ translator.Replace("AttribIp", "AttribIP");
+ translator.Replace("SRgb", "Srgb");
- name = translator.ToString();
- if (name.StartsWith(Settings.EnumPrefix))
- name = name.Substring(Settings.EnumPrefix.Length);
+ name = translator.ToString();
+ if (name.StartsWith(Settings.EnumPrefix))
+ name = name.Substring(Settings.EnumPrefix.Length);
+ }
return name;
}
diff --git a/Source/Bind/FuncProcessor.cs b/Source/Bind/FuncProcessor.cs
index 308f03265..7411b31d1 100644
--- a/Source/Bind/FuncProcessor.cs
+++ b/Source/Bind/FuncProcessor.cs
@@ -54,12 +54,12 @@ class FuncProcessor
RegexOptions.Compiled);
static readonly Regex EndingsAddV = new Regex("^0", RegexOptions.Compiled);
- string Overrides { get; set; }
+ readonly IEnumerable Overrides;
IBind Generator { get; set; }
Settings Settings { get { return Generator.Settings; } }
- public FuncProcessor(IBind generator, string overrides)
+ public FuncProcessor(IBind generator, IEnumerable overrides)
{
if (generator == null)
throw new ArgumentNullException("generator");
@@ -73,43 +73,47 @@ public FuncProcessor(IBind generator, string overrides)
public FunctionCollection Process(EnumProcessor enum_processor, DocProcessor doc_processor,
DelegateCollection delegates, EnumCollection enums, string apiname, string apiversion)
{
- Console.WriteLine("Processing delegates.");
- var nav = new XPathDocument(Overrides).CreateNavigator();
- foreach (var version in apiversion.Split('|'))
+ foreach (var file in Overrides)
{
- // Translate each delegate:
- // 1st using the elements in overrides.xml
- // 2nd using the hardcoded rules in FuncProcessor (e.g. char* -> string)
- foreach (var signatures in delegates.Values)
+ Console.WriteLine("Processing funcs in {0}.", file);
+
+ var nav = new XPathDocument(file).CreateNavigator();
+ foreach (var version in apiversion.Split('|'))
{
- foreach (var d in signatures)
+ // Translate each delegate:
+ // 1st using the elements in overrides.xml
+ // 2nd using the hardcoded rules in FuncProcessor (e.g. char* -> string)
+ foreach (var signatures in delegates.Values)
{
- var replace = GetFuncOverride(nav, d, apiname, apiversion);
- TranslateExtension(d);
- TranslateReturnType(d, replace, nav, enum_processor, enums, apiname, version);
- TranslateParameters(d, replace, nav, enum_processor, enums, apiname, version);
- TranslateAttributes(d, replace, nav, apiname, version);
+ foreach (var d in signatures)
+ {
+ var replace = GetFuncOverride(nav, d, apiname, apiversion);
+ TranslateExtension(d);
+ TranslateReturnType(d, replace, nav, enum_processor, enums, apiname, version);
+ TranslateParameters(d, replace, nav, enum_processor, enums, apiname, version);
+ TranslateAttributes(d, replace, nav, apiname, version);
+ }
}
- }
- // Create overloads for backwards compatibility,
- // by resolving elements
- var overload_list = new List();
- foreach (var d in delegates.Values.Select(v => v.First()))
- {
- var overload_elements = GetFuncOverload(nav, d, apiname, apiversion);
- foreach (XPathNavigator overload_element in overload_elements)
+ // Create overloads for backwards compatibility,
+ // by resolving elements
+ var overload_list = new List();
+ foreach (var d in delegates.Values.Select(v => v.First()))
{
- var overload = new Delegate(d);
- TranslateReturnType(overload, overload_element, nav, enum_processor, enums, apiname, version);
- TranslateParameters(overload, overload_element, nav, enum_processor, enums, apiname, version);
- TranslateAttributes(overload, overload_element, nav, apiname, version);
- overload_list.Add(overload);
+ var overload_elements = GetFuncOverload(nav, d, apiname, apiversion);
+ foreach (XPathNavigator overload_element in overload_elements)
+ {
+ var overload = new Delegate(d);
+ TranslateReturnType(overload, overload_element, nav, enum_processor, enums, apiname, version);
+ TranslateParameters(overload, overload_element, nav, enum_processor, enums, apiname, version);
+ TranslateAttributes(overload, overload_element, nav, apiname, version);
+ overload_list.Add(overload);
+ }
+ }
+ foreach (var overload in overload_list)
+ {
+ delegates.Add(overload);
}
- }
- foreach (var overload in overload_list)
- {
- delegates.Add(overload);
}
}
@@ -324,19 +328,18 @@ void TranslateType(Bind.Structures.Type type,
}
else
{
- // Todo: what is the point of this here? It is overwritten below.
- // A few translations for consistency
- switch (type.CurrentType.ToLower())
- {
- case "string":
- type.QualifiedType = "String";
- break;
- }
-
type.QualifiedType = s;
}
}
+ if ((type.Array == 0 && type.Pointer == 0 && !type.Reference) &&
+ (type.QualifiedType.ToLower().Contains("buffersize") ||
+ type.QualifiedType.ToLower().Contains("sizeiptr") ||
+ type.QualifiedType.Contains("size_t")))
+ {
+ type.WrapperType |= WrapperTypes.SizeParameter;
+ }
+
type.CurrentType =
Generator.CSTypes.ContainsKey(type.CurrentType) ?
Generator.CSTypes[type.CurrentType] : type.CurrentType;
@@ -588,6 +591,12 @@ void TranslateReturnType(Delegate d,
d.ReturnType.QualifiedType = "int";
}
+ if (d.ReturnType.CurrentType.ToLower().Contains("bool"))
+ {
+ d.ReturnType.QualifiedType = "byte";
+ d.ReturnType.WrapperType |= WrapperTypes.BoolParameter;
+ }
+
d.ReturnType.CurrentType = GetCLSCompliantType(d.ReturnType);
}
@@ -954,6 +963,27 @@ IEnumerable CreateConvenienceOverloads(FunctionCollection wrappers)
convenience_wrappers.Add(f);
}
}
+
+ // Check for IntPtr parameters that correspond to size_t (e.g. GLsizei)
+ // and add Int32 overloads for convenience.
+ {
+ Function f = null;
+ int i = 0;
+ foreach (var p in d.Parameters)
+ {
+ if ((p.WrapperType & WrapperTypes.SizeParameter) != 0)
+ {
+ f = f ?? new Function(d);
+ f.Parameters[i].QualifiedType = "Int32";
+ }
+ i++;
+ }
+
+ if (f != null)
+ {
+ convenience_wrappers.Add(f);
+ }
+ }
}
return convenience_wrappers;
}
@@ -1212,6 +1242,11 @@ static void WrapReturnType(Function func)
// Nothing else we can do, using generics will break the runtime
func.ReturnType.QualifiedType = "IntPtr";
}
+
+ if ((func.ReturnType.WrapperType & WrapperTypes.BoolParameter) != 0)
+ {
+ func.ReturnType.QualifiedType = "bool";
+ }
}
#endregion
diff --git a/Source/Bind/GL2/GL2Generator.cs b/Source/Bind/GL2/GL2Generator.cs
index 9d1b46312..7e36c0243 100644
--- a/Source/Bind/GL2/GL2Generator.cs
+++ b/Source/Bind/GL2/GL2Generator.cs
@@ -56,6 +56,9 @@ public GL2Generator(Settings settings, string dirname)
Settings.DefaultDocPath = Path.Combine(
Settings.DefaultDocPath, "GL");
+ Settings.OverridesFiles.Add("GL2/overrides.xml");
+ Settings.OverridesFiles.Add("GL2/GL/");
+
//Settings.DefaultCompatibility |=
// Settings.Legacy.UseDllImports | Settings.Legacy.UseWindowsCompatibleGL;
}
diff --git a/Source/Bind/GL2/GL4Generator.cs b/Source/Bind/GL2/GL4Generator.cs
index 5266e8958..a9b6c7404 100644
--- a/Source/Bind/GL2/GL4Generator.cs
+++ b/Source/Bind/GL2/GL4Generator.cs
@@ -48,6 +48,9 @@ public GL4Generator(Settings settings, string dirname)
Settings.DefaultDocPath = Path.Combine(
Settings.DefaultDocPath, "GL");
+ Settings.OverridesFiles.Add("GL2/overrides.xml");
+ Settings.OverridesFiles.Add("GL2/GL/");
+
Profile = "glcore";
//Settings.DefaultCompatibility |=
diff --git a/Source/Bind/GL2/Generator.cs b/Source/Bind/GL2/Generator.cs
index 260848b7a..baa35dc2a 100644
--- a/Source/Bind/GL2/Generator.cs
+++ b/Source/Bind/GL2/Generator.cs
@@ -76,7 +76,6 @@ public Generator(Settings settings, string dirName)
enumSpecExt = String.Empty;
glSpec = Path.Combine(dirName, "signatures.xml");
glSpecExt = String.Empty;
- Settings.OverridesFile = Path.Combine(dirName, "overrides.xml");
Settings.ImportsClass = "Core";
Settings.DelegatesClass = "Delegates";
@@ -91,6 +90,27 @@ public Generator(Settings settings, string dirName)
#endregion
+ #region Private Members
+
+ IEnumerable GetFiles(string path)
+ {
+ path = Path.Combine(Settings.InputPath, path);
+ if ((File.GetAttributes(path) & FileAttributes.Directory) != 0)
+ {
+ foreach (var file in Directory.GetFiles(
+ path, "*.xml", SearchOption.AllDirectories))
+ {
+ yield return file;
+ }
+ }
+ else
+ {
+ yield return path;
+ }
+ }
+
+ #endregion
+
#region IBind Members
public DelegateCollection Delegates { get; private set; }
@@ -101,15 +121,24 @@ public Generator(Settings settings, string dirName)
public virtual void Process()
{
- string overrides = Path.Combine(Settings.InputPath, Settings.OverridesFile);
-
+ var overrides = Settings.OverridesFiles.SelectMany(GetFiles);
+
GLTypes = SpecReader.ReadTypeMap(Path.Combine(Settings.InputPath, glTypemap));
CSTypes = SpecReader.ReadCSTypeMap(Path.Combine(Settings.InputPath, csTypemap));
+ // Read enum signatures
SpecReader.ReadEnums(Path.Combine(Settings.InputPath, enumSpec), Enums, Profile, Version);
- SpecReader.ReadEnums(overrides, Enums, Profile, Version);
+ foreach (var file in overrides)
+ {
+ SpecReader.ReadEnums(file, Enums, Profile, Version);
+ }
+
+ // Read delegate signatures
SpecReader.ReadDelegates(Path.Combine(Settings.InputPath, glSpec), Delegates, Profile, Version);
- SpecReader.ReadDelegates(overrides, Delegates, Profile, Version);
+ foreach (var file in overrides)
+ {
+ SpecReader.ReadDelegates(file, Delegates, Profile, Version);
+ }
var enum_processor = new EnumProcessor(this, overrides);
var func_processor = new FuncProcessor(this, overrides);
diff --git a/Source/Bind/Generator.Bind.csproj b/Source/Bind/Generator.Bind.csproj
index 13241edd3..dd7e49919 100644
--- a/Source/Bind/Generator.Bind.csproj
+++ b/Source/Bind/Generator.Bind.csproj
@@ -2,7 +2,7 @@
Local
- 8.0.50727
+ 8.0.30703
2.0
{31D19132-0000-0000-0000-000000000000}
Debug
@@ -233,7 +233,6 @@
-
Code
@@ -242,6 +241,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+
+
@@ -271,5 +291,8 @@
+
+
+
\ No newline at end of file
diff --git a/Source/Bind/Main.cs b/Source/Bind/Main.cs
index 8078220fa..3ddd37c60 100644
--- a/Source/Bind/Main.cs
+++ b/Source/Bind/Main.cs
@@ -29,6 +29,7 @@ enum GeneratorMode
ES11,
ES20,
ES30,
+ ES31,
CL10,
}
@@ -186,12 +187,13 @@ static void Main(string[] arguments)
{
case GeneratorMode.All:
Console.WriteLine("Using 'all' generator mode.");
- Console.WriteLine("Use '-mode:all/gl2/gl4/es10/es11/es20/es30' to select a specific mode.");
+ Console.WriteLine("Use '-mode:all/gl2/gl4/es10/es11/es20/es30/es31' to select a specific mode.");
Generators.Add(new GL2Generator(Settings, dirName));
Generators.Add(new GL4Generator(Settings, dirName));
Generators.Add(new ESGenerator(Settings, dirName));
Generators.Add(new ES2Generator(Settings, dirName));
Generators.Add(new ES3Generator(Settings, dirName));
+ Generators.Add(new ES31Generator(Settings, dirName));
break;
case GeneratorMode.GL2:
@@ -219,6 +221,10 @@ static void Main(string[] arguments)
Generators.Add(new ES3Generator(Settings, dirName));
break;
+ case GeneratorMode.ES31:
+ Generators.Add(new ES31Generator(Settings, dirName));
+ break;
+
case GeneratorMode.CL10:
Generators.Add(new CLGenerator(Settings, dirName));
break;
@@ -315,6 +321,11 @@ private static void SetGeneratorMode(string dirName, string arg)
Settings.DefaultOutputNamespace = "OpenTK.Graphics.ES30";
break;
+ case "es31":
+ mode = GeneratorMode.ES31;
+ Settings.DefaultOutputNamespace = "OpenTK.Graphics.ES31";
+ break;
+
case "cl":
case "cl10":
mode = GeneratorMode.CL10;
diff --git a/Source/Bind/Settings.cs b/Source/Bind/Settings.cs
index 9864b9259..59c92dc9e 100644
--- a/Source/Bind/Settings.cs
+++ b/Source/Bind/Settings.cs
@@ -5,6 +5,7 @@
#endregion
using System;
+using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
@@ -14,9 +15,9 @@ namespace Bind
[Serializable]
class Settings
{
- // Disable BeforeFieldInit.
public Settings()
{
+ OverridesFiles = new List();
}
public string DefaultInputPath = "../../../Source/Bind/Specifications";
@@ -25,7 +26,6 @@ public Settings()
public string DefaultDocPath = "../../../Source/Bind/Specifications/Docs";
public string DefaultFallbackDocPath = "../../../Source/Bind/Specifications/Docs/GL";
public string DefaultLicenseFile = "License.txt";
- public string DefaultOverridesFile = "GL2/gloverrides.xml";
public string DefaultLanguageTypeMapFile = "csharp.tm";
public string DefaultKeywordEscapeCharacter = "@";
public string DefaultImportsFile = "Core.cs";
@@ -34,7 +34,7 @@ public Settings()
public string DefaultWrappersFile = "GL.cs";
public Legacy DefaultCompatibility = Legacy.NoDropMultipleTokens;
- string inputPath, outputPath, outputNamespace, docPath, fallbackDocPath, licenseFile, overridesFile,
+ string inputPath, outputPath, outputNamespace, docPath, fallbackDocPath, licenseFile,
languageTypeMapFile, keywordEscapeCharacter, importsFile, delegatesFile, enumsFile,
wrappersFile;
Nullable compatibility;
@@ -44,7 +44,7 @@ public Settings()
public string DocPath { get { return docPath ?? DefaultDocPath; } set { docPath = value; } }
public string FallbackDocPath { get { return fallbackDocPath ?? DefaultFallbackDocPath; } set { fallbackDocPath = value; } }
public string LicenseFile { get { return licenseFile ?? DefaultLicenseFile; } set { licenseFile = value; } }
- public string OverridesFile { get { return overridesFile ?? DefaultOverridesFile; } set { overridesFile = value; } }
+ public List OverridesFiles { get; private set; }
public string LanguageTypeMapFile { get { return languageTypeMapFile ?? DefaultLanguageTypeMapFile; } set { languageTypeMapFile = value; } }
public string KeywordEscapeCharacter { get { return keywordEscapeCharacter ?? DefaultKeywordEscapeCharacter; } set { keywordEscapeCharacter = value; } }
public string ImportsFile { get { return importsFile ?? DefaultImportsFile; } set { importsFile = value; } }
diff --git a/Source/Bind/Specifications/GL2/ES/1.1/obsolete.xml b/Source/Bind/Specifications/GL2/ES/1.1/obsolete.xml
new file mode 100644
index 000000000..610237313
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/1.1/obsolete.xml
@@ -0,0 +1,318 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml
new file mode 100644
index 000000000..79ca6414f
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_compute_shader.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml
new file mode 100644
index 000000000..3ecb29de3
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_draw_indirect.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ PrimitiveType
+
+
+ PrimitiveType
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_explicit_uniform_location.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_explicit_uniform_location.xml
new file mode 100644
index 000000000..693488074
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_explicit_uniform_location.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_framebuffer_no_attachments.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_framebuffer_no_attachments.xml
new file mode 100644
index 000000000..7418ea234
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_framebuffer_no_attachments.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ FramebufferTarget
+ FramebufferDefaultParameter
+
+
+ FramebufferTarget
+ FramebufferDefaultParameter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_program_interface_queries.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_program_interface_queries.xml
new file mode 100644
index 000000000..8cb7b7fa3
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_program_interface_queries.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ ProgramInterface
+ ProgramInterfaceParameter
+
+
+
+ ProgramInterface
+
+
+
+ ProgramInterface
+
+
+
+ ProgramInterface
+ ProgramProperty
+
+
+
+ ProgramInterface
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_separate_shader_objects.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_separate_shader_objects.xml
new file mode 100644
index 000000000..d0e462740
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_separate_shader_objects.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+ ShaderType
+
+
+ ProgramPipelineParameter
+
+
+ ProgramStageMask
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_atomic_counters.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_atomic_counters.xml
new file mode 100644
index 000000000..656cd5489
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_atomic_counters.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_image_load_store.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_image_load_store.xml
new file mode 100644
index 000000000..e3fca8d37
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_image_load_store.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+ TextureAccess
+ SizedInternalFormat
+
+
+ GetIndexedPName
+
+
+ MemoryBarrierFlags
+
+
+ MemoryBarrierRegionFlags
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_storage_buffer_object.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_storage_buffer_object.xml
new file mode 100644
index 000000000..6b3b178ba
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_shader_storage_buffer_object.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_stencil_texturing.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_stencil_texturing.xml
new file mode 100644
index 000000000..7e813182f
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_stencil_texturing.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_gather.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_gather.xml
new file mode 100644
index 000000000..766668568
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_gather.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_storage_multisample.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_storage_multisample.xml
new file mode 100644
index 000000000..12c4e8359
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_texture_storage_multisample.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ TextureTargetMultisample2d
+ SizedInternalFormat
+
+
+ GetMultisamplePName
+
+
+ TextureTarget
+ GetTextureParameterName
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/ES/3.1/KHR_vertex_attrib_binding.xml b/Source/Bind/Specifications/GL2/ES/3.1/KHR_vertex_attrib_binding.xml
new file mode 100644
index 000000000..ad5ecd73e
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/ES/3.1/KHR_vertex_attrib_binding.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+ VertexAttribType
+
+
+ VertexAttribIntegerType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/GL/4.5/ARB_ES3_1_compatibility.xml b/Source/Bind/Specifications/GL2/GL/4.5/ARB_ES3_1_compatibility.xml
new file mode 100644
index 000000000..eaf97769f
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/GL/4.5/ARB_ES3_1_compatibility.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+ MemoryBarrierRegionFlags
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/GL/4.5/ARB_direct_state_access.xml b/Source/Bind/Specifications/GL2/GL/4.5/ARB_direct_state_access.xml
new file mode 100644
index 000000000..79b50dcd2
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/GL/4.5/ARB_direct_state_access.xml
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+ TransformFeedbackParameter
+
+
+ TransformFeedbackIndexedParameter
+
+
+ TransformFeedbackIndexedParameter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BufferTarget
+ PixelInternalFormat
+ PixelFormat
+
+
+ BufferTarget
+ PixelInternalFormat
+ PixelFormat
+
+
+ BufferParameterName
+
+
+ BufferPointer
+
+
+ BufferAccess
+
+
+ BufferAccessMask
+
+
+ BufferUsageHint
+
+
+ BufferStorageFlags
+
+
+
+
+
+
+ ClearBufferMask
+ BlitFramebufferFilter
+
+
+ FramebufferTarget
+
+
+ ClearBuffer
+
+
+ ClearBufferCombined
+
+
+ FramebufferAttachment
+
+
+ FramebufferAttachment
+
+
+ FramebufferAttachment
+ FramebufferParameterName
+
+
+ FramebufferDefaultParameter
+
+
+ DrawBufferMode
+
+
+ DrawBuffersEnum
+
+
+ FramebufferDefaultParameter
+
+
+ ReadBufferMode
+
+
+ FramebufferAttachment
+ RenderbufferTarget
+
+
+ FramebufferAttachment
+
+
+ FramebufferAttachment
+
+
+
+
+
+
+ RenderbufferParameterName
+
+
+ RenderbufferStorage
+
+
+ RenderbufferStorage
+
+
+
+
+
+
+ PixelFormat
+
+
+ PixelFormat
+
+
+ PixelFormat
+
+
+ TextureTarget
+
+
+ PixelFormat
+ PixelType
+
+
+ GetTextureParameter
+
+
+ GetTextureParameter
+
+
+ SizedInternalFormat
+
+
+ SizedInternalFormat
+
+
+ TextureParameterName
+
+
+ SizedInternalFormat
+
+
+ SizedInternalFormat
+
+
+ SizedInternalFormat
+
+
+ SizedInternalFormat
+
+
+ SizedInternalFormat
+
+
+ PixelFormat
+ PixelType
+
+
+ PixelFormat
+ PixelType
+
+
+ PixelFormat
+ PixelType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VertexArrayParameter
+
+
+ VertexArrayIndexedParameter
+
+
+ VertexArrayIndexed64Parameter
+
+
+ VertexAttribType
+
+
+ VertexAttribType
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ QueryTarget
+
+
+
+
+
+
+
+
+
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+ PixelFormat
+
+
+ ExtDirectStateAccess
+ int
+
+
+ ExtDirectStateAccess
+
+
+ NvShaderBufferLoad
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ uint
+
+
+ ExtDirectStateAccess
+
+
+ FramebufferParameterName
+
+
+ ExtDirectStateAccess
+
+
+ PixelInternalFormat
+
+
+ ExtDirectStateAccess
+
+
+ PixelInternalFormat
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+ ExtDirectStateAccess
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/GL/4.5/ARB_robustness.xml b/Source/Bind/Specifications/GL2/GL/4.5/ARB_robustness.xml
new file mode 100644
index 000000000..765a9b0de
--- /dev/null
+++ b/Source/Bind/Specifications/GL2/GL/4.5/ARB_robustness.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ ArbRobustness
+ ArbRobustness
+
+
+
+
+
+ All
+ All
+
+
+
+
diff --git a/Source/Bind/Specifications/GL2/overrides.xml b/Source/Bind/Specifications/GL2/overrides.xml
index 1d956a182..35b510e1e 100644
--- a/Source/Bind/Specifications/GL2/overrides.xml
+++ b/Source/Bind/Specifications/GL2/overrides.xml
@@ -1237,6 +1237,27 @@
+
+
+
+ ClipOrigin
+ ClipDepthMode
+
+
+
+ ResetStatus
+
+
+
+ PixelFormat
+ PixelType
+
+
+
+ PixelFormat
+ PixelType
+
+
@@ -1645,7 +1666,14 @@
-
+
+
+
+ int
+
+
+
+
0
@@ -1814,7 +1842,7 @@
0
-
+
0
@@ -1949,7 +1977,7 @@
ExtDirectStateAccess
-
+
0
@@ -2838,6 +2866,7 @@
+
@@ -2929,6 +2958,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -2951,6 +2990,10 @@
+
+
+
+
@@ -3119,6 +3162,7 @@
+
@@ -3568,6 +3612,13 @@
+
+
+
+
+
+
+
@@ -3623,6 +3674,14 @@
+
+
+
+
+
+
+
+
@@ -4027,7 +4086,7 @@
-
+
@@ -4363,6 +4422,12 @@
+
+
+
+
+
+
@@ -4784,9 +4849,6 @@
-
-
-
@@ -4856,6 +4918,9 @@
+
+
+
@@ -4885,6 +4950,11 @@
+
+
+
+
+
@@ -4933,20 +5003,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -4961,304 +5017,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5759,7 +5517,16 @@
QueryCounterTarget
-
+
+
+
+ ResetStatus
+
+
+ PixelFormat
+ PixelType
+
+
DebugSourceControl
@@ -5786,7 +5553,7 @@
-
+
0
@@ -6107,6 +5874,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6316,7 +6098,12 @@
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 17, 17
-
-
\ No newline at end of file
diff --git a/Source/Examples/OpenTK/Test/MatrixTest.cs b/Source/Examples/OpenTK/Test/MatrixTest.cs
index 690ae2d69..e19646b67 100644
--- a/Source/Examples/OpenTK/Test/MatrixTest.cs
+++ b/Source/Examples/OpenTK/Test/MatrixTest.cs
@@ -19,8 +19,6 @@ public static void Main()
float y = 1.0f;
float z = 1.0f;
- Matrix4 createdTranslation = Matrix4.CreateTranslation(new Vector3(2, 3, -1));
-
Matrix4 translation = new Matrix4(new Vector4(1, 0, 0, 2), new Vector4(0, 1, 0, 3), new Vector4(0, 0, 1, -1), new Vector4(0, 0, 0, 1));
Vector4 point = new Vector4(x, y, z, 1);
diff --git a/Source/Examples/OpenTK/Test/Multithreading.cs b/Source/Examples/OpenTK/Test/Multithreading.cs
index 77c90f8fa..7e8383be8 100644
--- a/Source/Examples/OpenTK/Test/Multithreading.cs
+++ b/Source/Examples/OpenTK/Test/Multithreading.cs
@@ -39,7 +39,7 @@ static void RunGame()
using (Tutorial.T03_Immediate_Mode_Cube game = new Examples.Tutorial.T03_Immediate_Mode_Cube())
{
Utilities.SetWindowTitle(game);
- game.Keyboard.KeyUp += delegate(object sender, OpenTK.Input.KeyboardKeyEventArgs e)
+ game.KeyUp += delegate(object sender, OpenTK.Input.KeyboardKeyEventArgs e)
{
if (e.Key == OpenTK.Input.Key.F11)
{
diff --git a/Source/Examples/OpenTK/Test/TestResolutionChanges.cs b/Source/Examples/OpenTK/Test/TestResolutionChanges.cs
index 314a34a30..740f60f45 100644
--- a/Source/Examples/OpenTK/Test/TestResolutionChanges.cs
+++ b/Source/Examples/OpenTK/Test/TestResolutionChanges.cs
@@ -23,16 +23,35 @@ public static void Main()
DisplayDevice dev = DisplayDevice.GetDisplay(DisplayIndex.First + i);
if (dev != null)
{
- Trace.WriteLine(dev.ToString());
- MessageBox.Show(dev.ToString());
+ Print(dev.ToString());
+
dev.ChangeResolution(dev.SelectResolution(640, 480, 32, 60.0f));
Thread.Sleep(1000);
- MessageBox.Show(dev.ToString());
+ Print(dev.ToString());
+
dev.RestoreResolution();
Thread.Sleep(1000);
- MessageBox.Show(dev.ToString());
+ Print(dev.ToString());
+ }
+ }
+ }
+
+ static void Print(string msg)
+ {
+ Trace.WriteLine(msg);
+
+ // Also display a MessageBox when running on a platform
+ // with WinForms support.
+ try
+ {
+ if (Configuration.RunningOnWindows || Configuration.RunningOnX11 || Configuration.RunningOnMacOS)
+ {
+ MessageBox.Show(msg);
}
}
+ catch
+ {
+ }
}
}
}
diff --git a/Source/Examples/OpenTK/Test/TestShaderUtf8Support.cs b/Source/Examples/OpenTK/Test/TestShaderUtf8Support.cs
index b410fca04..f61a3b2b7 100644
--- a/Source/Examples/OpenTK/Test/TestShaderUtf8Support.cs
+++ b/Source/Examples/OpenTK/Test/TestShaderUtf8Support.cs
@@ -207,7 +207,8 @@ protected override void OnUpdateFrame(FrameEventArgs e)
Matrix4.Mult(ref rotation, ref modelviewMatrix, out modelviewMatrix);
GL.UniformMatrix4(modelviewMatrixLocation, false, ref modelviewMatrix);
- if (Keyboard[OpenTK.Input.Key.Escape])
+ var keyboard = OpenTK.Input.Keyboard.GetState();
+ if (keyboard[OpenTK.Input.Key.Escape])
Exit();
}
diff --git a/Source/Examples/Shapes/Helpers/MengerCube.cs b/Source/Examples/Shapes/Helpers/MengerCube.cs
index d7360ad96..763ddc457 100644
--- a/Source/Examples/Shapes/Helpers/MengerCube.cs
+++ b/Source/Examples/Shapes/Helpers/MengerCube.cs
@@ -119,8 +119,6 @@ private void DrawSide( eSides side, ref List chunks )
double _Six = 0.66666666666666; // 2/3
double _One = 1.0; // 3/3
- double ThirdLength = SideLength / 3f;
-
Vector3d C0 = Center + new Vector3d( -SideLength, -SideLength, +SideLength );
Vector3d C1 = Center + new Vector3d( +SideLength, -SideLength, +SideLength );
Vector3d C2 = Center + new Vector3d( +SideLength, +SideLength, +SideLength );
diff --git a/Source/GLControl/X11GLControl.cs b/Source/GLControl/X11GLControl.cs
index 19d036b7f..6d70fbfba 100644
--- a/Source/GLControl/X11GLControl.cs
+++ b/Source/GLControl/X11GLControl.cs
@@ -77,7 +77,22 @@ internal X11GLControl(GraphicsMode mode, Control control)
if (control == null)
throw new ArgumentNullException("control");
- this.mode = mode;
+ // Note: the X11 window is created with a default XVisualInfo,
+ // that is not necessarily compatible with the desired GraphicsMode.
+ // This manifests in Nvidia binary drivers that fail in Glx.MakeCurrent()
+ // when GraphicsMode has a 32bpp color format.
+ // To work around this issue, we implicitly select a 24bpp color format when 32bpp is
+ // requested - this appears to work correctly in all cases.
+ // (The loss of the alpha channel does not matter, since WinForms do not support
+ // translucent windows on X11 in the first place.)
+ this.mode = new GraphicsMode(
+ new ColorFormat(mode.ColorFormat.Red, mode.ColorFormat.Green, mode.ColorFormat.Blue, 0),
+ mode.Depth,
+ mode.Stencil,
+ mode.Samples,
+ mode.AccumulatorFormat,
+ mode.Buffers,
+ mode.Stereo);
if (xplatui == null) throw new PlatformNotSupportedException(
"System.Windows.Forms.XplatUIX11 missing. Unsupported platform or Mono runtime version, aborting.");
@@ -105,6 +120,8 @@ public IGraphicsContext CreateContext(int major, int minor, GraphicsContextFlags
info = (XVisualInfo)Marshal.PtrToStructure(infoPtr, typeof(XVisualInfo));
// set the X11 colormap.
+ // Note: this only affects windows created in the future
+ // (do we even need this here?)
SetStaticFieldValue(xplatui, "CustomVisual", info.Visual);
SetStaticFieldValue(xplatui, "CustomColormap", XCreateColormap(display, rootWindow, info.Visual, 0));
diff --git a/Source/Generator.Rewrite/Program.cs b/Source/Generator.Rewrite/Program.cs
index c5c3b5cb7..873d6e454 100644
--- a/Source/Generator.Rewrite/Program.cs
+++ b/Source/Generator.Rewrite/Program.cs
@@ -50,7 +50,6 @@ static void Main(string[] args)
// mscorlib types
static AssemblyDefinition mscorlib;
static TypeDefinition TypeMarshal;
- static TypeDefinition TypeStringArray;
static TypeDefinition TypeStringBuilder;
static TypeDefinition TypeVoid;
static TypeDefinition TypeIntPtr;
@@ -116,7 +115,6 @@ void Rewrite(string file, string keyfile, IEnumerable options)
return;
}
TypeMarshal = mscorlib.MainModule.GetType("System.Runtime.InteropServices.Marshal");
- TypeStringArray = mscorlib.MainModule.GetType("System.String").MakeArrayType().Resolve();
TypeStringBuilder = mscorlib.MainModule.GetType("System.Text.StringBuilder");
TypeVoid = mscorlib.MainModule.GetType("System.Void");
TypeIntPtr = mscorlib.MainModule.GetType("System.IntPtr");
@@ -260,7 +258,7 @@ static void ProcessMethod(MethodDefinition wrapper, MethodDefinition native, int
// Patch convenience wrappers
if (wrapper.Parameters.Count == native.Parameters.Count)
{
- EmitParameters(wrapper, body, il);
+ EmitParameters(wrapper, native, body, il);
}
else
{
@@ -286,19 +284,9 @@ static void ProcessMethod(MethodDefinition wrapper, MethodDefinition native, int
{
EmitReturnTypeWrapper(wrapper, native, body, il);
}
- if (wrapper.Parameters.Any(p => p.ParameterType.Name == "StringBuilder"))
- {
- EmitStringBuilderEpilogue(wrapper, native, body, il);
- }
- if (wrapper.Parameters.Any(p => p.ParameterType.Name == "String" && p.ParameterType.IsArray))
- {
- EmitStringArrayEpilogue(wrapper, body, il);
- }
- if (wrapper.Parameters.Any(p => p.ParameterType.Name == "String" && !p.ParameterType.IsArray))
- {
- EmitStringEpilogue(wrapper, body, il);
- }
-
+
+ EmitParameterEpilogues(wrapper, native, body, il);
+
if (options.Contains("-debug"))
{
EmitDebugEpilogue(wrapper, il, vars);
@@ -497,6 +485,14 @@ private static void EmitReturnTypeWrapper(MethodDefinition wrapper, MethodDefini
{
// Nothing to do
}
+ else if (wrapper.ReturnType.Name == "Boolean" && native.ReturnType.Name == "Byte")
+ {
+ // Nothing to do
+ // It appears that a byte with 1 = true (GL_TRUE) and 0 = false (GL_FALSE)
+ // can be reinterpreted as a bool without a problem.
+ // Todo: maybe we should return (value == 0 ? false : true) just to be
+ // on the safe side?
+ }
else
{
Console.Error.WriteLine("Return wrapper for '{1}' not implemented yet ({0})", native.Name, wrapper.ReturnType.Name);
@@ -509,49 +505,102 @@ private static void EmitReturnTypeWrapper(MethodDefinition wrapper, MethodDefini
}
}
- static void EmitStringBuilderEpilogue(MethodDefinition wrapper, MethodDefinition native, MethodBody body, ILProcessor il)
+ static void EmitParameterEpilogues(MethodDefinition wrapper, MethodDefinition native, MethodBody body, ILProcessor il)
{
- for (int i = 0; i < wrapper.Parameters.Count; i++)
+ foreach (var p in wrapper.Parameters)
{
- var p = wrapper.Parameters[i].ParameterType;
- if (p.Name == "StringBuilder")
+ if (p.ParameterType.Name == "StringBuilder")
{
- // void GetShaderInfoLog(..., StringBuilder foo)
- // try {
- // foo_sb_ptr = Marshal.AllocHGlobal(sb.Capacity + 1); -- already emitted
- // glGetShaderInfoLog(..., foo_sb_ptr); -- already emitted
- // MarshalPtrToStringBuilder(foo_sb_ptr, foo);
- // }
- // finally {
- // Marshal.FreeHGlobal(foo_sb_ptr);
- // }
+ EmitStringBuilderEpilogue(wrapper, native, p, body, il);
+ }
+
+ if (!p.ParameterType.IsArray && p.ParameterType.Name == "String")
+ {
+ EmitStringEpilogue(wrapper, p, body, il);
+ }
+
+ if (p.ParameterType.IsArray && p.ParameterType.GetElementType().Name == "String")
+ {
+ EmitStringArrayEpilogue(wrapper, p, body, il);
+ }
+ }
+ }
- // Make sure we have imported BindingsBase::MasrhalPtrToStringBuilder and Marshal::FreeHGlobal
- var ptr_to_sb = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "MarshalPtrToStringBuilder"));
- var free_hglobal = wrapper.Module.Import(TypeMarshal.Methods.First(m => m.Name == "FreeHGlobal"));
+ static void EmitStringBuilderParameter(MethodDefinition method, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ {
+ var p = parameter.ParameterType;
+
+ // void GetShaderInfoLog(..., StringBuilder foo)
+ // IntPtr foo_sb_ptr;
+ // try {
+ // foo_sb_ptr = Marshal.AllocHGlobal(sb.Capacity + 1);
+ // glGetShaderInfoLog(..., foo_sb_ptr);
+ // MarshalPtrToStringBuilder(foo_sb_ptr, sb);
+ // }
+ // finally {
+ // Marshal.FreeHGlobal(sb_ptr);
+ // }
+ // Make sure we have imported StringBuilder::Capacity and Marshal::AllocHGlobal
+ var sb_get_capacity = method.Module.Import(TypeStringBuilder.Methods.First(m => m.Name == "get_Capacity"));
+ var alloc_hglobal = method.Module.Import(TypeMarshal.Methods.First(m => m.Name == "AllocHGlobal"));
- var block = new ExceptionHandler(ExceptionHandlerType.Finally);
- block.TryStart = body.Instructions[0];
+ // IntPtr ptr;
+ var variable_name = parameter.Name + " _sb_ptr";
+ body.Variables.Add(new VariableDefinition(variable_name, TypeIntPtr));
+ int index = body.Variables.Count - 1;
- var variable_name = p.Name + " _sb_ptr";
- var v = body.Variables.First(m => m.Name == variable_name);
- il.Emit(OpCodes.Ldloc, v.Index);
- il.Emit(OpCodes.Ldarg, i);
- il.Emit(OpCodes.Call, ptr_to_sb);
+ // ptr = Marshal.AllocHGlobal(sb.Capacity + 1);
+ il.Emit(OpCodes.Callvirt, sb_get_capacity);
+ il.Emit(OpCodes.Call, alloc_hglobal);
+ il.Emit(OpCodes.Stloc, index);
+ il.Emit(OpCodes.Ldloc, index);
- block.TryEnd = body.Instructions.Last();
- block.HandlerStart = body.Instructions.Last();
+ // We'll emit the try-finally block in the epilogue implementation,
+ // because we haven't yet emitted all necessary instructions here.
+ }
- il.Emit(OpCodes.Ldloc, v.Index);
- il.Emit(OpCodes.Call, free_hglobal);
+ static void EmitStringBuilderEpilogue(MethodDefinition wrapper, MethodDefinition native, ParameterDefinition parameter, MethodBody body, ILProcessor il)
+ {
+ var p = parameter.ParameterType;
+ if (p.Name == "StringBuilder")
+ {
+ // void GetShaderInfoLog(..., StringBuilder foo)
+ // try {
+ // foo_sb_ptr = Marshal.AllocHGlobal(sb.Capacity + 1); -- already emitted
+ // glGetShaderInfoLog(..., foo_sb_ptr); -- already emitted
+ // MarshalPtrToStringBuilder(foo_sb_ptr, foo);
+ // }
+ // finally {
+ // Marshal.FreeHGlobal(foo_sb_ptr);
+ // }
- block.HandlerEnd = body.Instructions.Last();
- }
+ // Make sure we have imported BindingsBase::MasrhalPtrToStringBuilder and Marshal::FreeHGlobal
+ var ptr_to_sb = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "MarshalPtrToStringBuilder"));
+ var free_hglobal = wrapper.Module.Import(TypeMarshal.Methods.First(m => m.Name == "FreeHGlobal"));
+
+ var block = new ExceptionHandler(ExceptionHandlerType.Finally);
+ block.TryStart = body.Instructions[0];
+
+ var variable_name = parameter.Name + " _sb_ptr";
+ var v = body.Variables.First(m => m.Name == variable_name);
+ il.Emit(OpCodes.Ldloc, v.Index);
+ il.Emit(OpCodes.Ldarg, parameter.Index);
+ il.Emit(OpCodes.Call, ptr_to_sb);
+
+ block.TryEnd = body.Instructions.Last();
+ block.HandlerStart = body.Instructions.Last();
+
+ il.Emit(OpCodes.Ldloc, v.Index);
+ il.Emit(OpCodes.Call, free_hglobal);
+
+ block.HandlerEnd = body.Instructions.Last();
}
}
- static void EmitStringParameter(MethodDefinition wrapper, TypeReference p, MethodBody body, ILProcessor il)
+ static void EmitStringParameter(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
{
+ var p = parameter.ParameterType;
+
// string marshaling:
// IntPtr ptr = MarshalStringToPtr(str);
// try { calli }
@@ -559,7 +608,7 @@ static void EmitStringParameter(MethodDefinition wrapper, TypeReference p, Metho
var marshal_str_to_ptr = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "MarshalStringToPtr"));
// IntPtr ptr;
- var variable_name = p.Name + "_string_ptr";
+ var variable_name = parameter.Name + "_string_ptr";
body.Variables.Add(new VariableDefinition(variable_name, TypeIntPtr));
int index = body.Variables.Count - 1;
@@ -571,34 +620,30 @@ static void EmitStringParameter(MethodDefinition wrapper, TypeReference p, Metho
// The finally block will be emitted in the function epilogue
}
- static void EmitStringEpilogue(MethodDefinition wrapper, MethodBody body, ILProcessor il)
+ static void EmitStringEpilogue(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
{
- for (int i = 0; i < wrapper.Parameters.Count; i++)
- {
- var p = wrapper.Parameters[i].ParameterType;
- if (p.Name == "String" && !p.IsArray)
- {
- var free = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringPtr"));
-
- // FreeStringPtr(ptr)
- var variable_name = p.Name + "_string_ptr";
- var v = body.Variables.First(m => m.Name == variable_name);
- il.Emit(OpCodes.Ldloc, v.Index);
- il.Emit(OpCodes.Call, free);
- }
- }
+ var p = parameter.ParameterType;
+ var free = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringPtr"));
+
+ // FreeStringPtr(ptr)
+ var variable_name = parameter.Name + "_string_ptr";
+ var v = body.Variables.First(m => m.Name == variable_name);
+ il.Emit(OpCodes.Ldloc, v.Index);
+ il.Emit(OpCodes.Call, free);
}
- static void EmitStringArrayParameter(MethodDefinition wrapper, TypeReference p, MethodBody body, ILProcessor il)
+ static void EmitStringArrayParameter(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
{
+ var p = parameter.ParameterType;
+
// string[] masrhaling:
// IntPtr ptr = MarshalStringArrayToPtr(strings);
// try { calli }
- // finally { UnmarshalStringArray(ptr); }
+ // finally { FreeStringArrayPtr(ptr); }
var marshal_str_array_to_ptr = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "MarshalStringArrayToPtr"));
// IntPtr ptr;
- var variable_name = p.Name + " _string_array_ptr";
+ var variable_name = parameter.Name + "_string_array_ptr";
body.Variables.Add(new VariableDefinition(variable_name, TypeIntPtr));
int index = body.Variables.Count - 1;
@@ -610,28 +655,30 @@ static void EmitStringArrayParameter(MethodDefinition wrapper, TypeReference p,
// The finally block will be emitted in the function epilogue
}
- static void EmitStringArrayEpilogue(MethodDefinition wrapper, MethodBody body, ILProcessor il)
+ static void EmitStringArrayEpilogue(MethodDefinition wrapper, ParameterDefinition parameter, MethodBody body, ILProcessor il)
{
- for (int i = 0; i < wrapper.Parameters.Count; i++)
- {
- var p = wrapper.Parameters[i].ParameterType;
- if (p.Name == "String" && p.IsArray)
- {
- var free = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringArrayPtr"));
- var get_length = wrapper.Module.Import(TypeStringArray.Methods.First(m => m.Name == "get_Length"));
-
- // FreeStringArrayPtr(string_array_ptr, string_array.Length)
- var variable_name = p.Name + "_string_array_ptr";
- var v = body.Variables.First(m => m.Name == variable_name);
- il.Emit(OpCodes.Ldloc, v.Index);
- il.Emit(OpCodes.Ldarg, i);
- il.Emit(OpCodes.Callvirt, get_length);
- il.Emit(OpCodes.Call, free);
- }
- }
+ // Note: only works for string vectors (1d arrays).
+ // We do not (and will probably never) support 2d or higher string arrays
+ var p = parameter.ParameterType;
+ var free = wrapper.Module.Import(TypeBindingsBase.Methods.First(m => m.Name == "FreeStringArrayPtr"));
+
+ // FreeStringArrayPtr(string_array_ptr, string_array.Length)
+ var variable_name = parameter.Name + "_string_array_ptr";
+ var v = body.Variables.First(m => m.Name == variable_name);
+
+ // load string_array_ptr
+ il.Emit(OpCodes.Ldloc, v.Index);
+
+ // load string_array.Length
+ il.Emit(OpCodes.Ldarg, parameter.Index);
+ il.Emit(OpCodes.Ldlen);
+ il.Emit(OpCodes.Conv_I4);
+
+ // call FreeStringArrayPtr
+ il.Emit(OpCodes.Call, free);
}
- private static void EmitConvenienceWrapper(MethodDefinition wrapper,
+ static void EmitConvenienceWrapper(MethodDefinition wrapper,
MethodDefinition native, int difference, MethodBody body, ILProcessor il)
{
if (wrapper.Parameters.Count > 2)
@@ -666,7 +713,7 @@ private static void EmitConvenienceWrapper(MethodDefinition wrapper,
// return result;
// }
body.Variables.Add(new VariableDefinition(wrapper.ReturnType));
- EmitParameters(wrapper, body, il);
+ EmitParameters(wrapper, native, body, il);
il.Emit(OpCodes.Ldloca, body.Variables.Count - 1);
}
else
@@ -694,48 +741,28 @@ private static void EmitConvenienceWrapper(MethodDefinition wrapper,
}
}
- static int EmitParameters(MethodDefinition method, MethodBody body, ILProcessor il)
+ static int EmitParameters(MethodDefinition method, MethodDefinition native, MethodBody body, ILProcessor il)
{
int i;
for (i = 0; i < method.Parameters.Count; i++)
{
+ var parameter = method.Parameters[i];
var p = method.Module.Import(method.Parameters[i].ParameterType);
il.Emit(OpCodes.Ldarg, i);
- if (p.Name == "StringBuilder")
+ if (p.Name.Contains("Int32") && native.Parameters[i].ParameterType.Name.Contains("IntPtr"))
{
- // void GetShaderInfoLog(..., StringBuilder foo)
- // IntPtr foo_sb_ptr;
- // try {
- // foo_sb_ptr = Marshal.AllocHGlobal(sb.Capacity + 1);
- // glGetShaderInfoLog(..., foo_sb_ptr);
- // MarshalPtrToStringBuilder(foo_sb_ptr, sb);
- // }
- // finally {
- // Marshal.FreeHGlobal(sb_ptr);
- // }
-
- // Make sure we have imported StringBuilder::Capacity and Marshal::AllocHGlobal
- var sb_get_capacity = method.Module.Import(TypeStringBuilder.Methods.First(m => m.Name == "get_Capacity"));
- var alloc_hglobal = method.Module.Import(TypeMarshal.Methods.First(m => m.Name == "AllocHGlobal"));
-
- // IntPtr ptr;
- var variable_name = p.Name + " _sb_ptr";
- body.Variables.Add(new VariableDefinition(variable_name, TypeIntPtr));
- int index = body.Variables.Count - 1;
-
- // ptr = Marshal.AllocHGlobal(sb.Capacity + 1);
- il.Emit(OpCodes.Callvirt, sb_get_capacity);
- il.Emit(OpCodes.Call, alloc_hglobal);
- il.Emit(OpCodes.Stloc, index);
- il.Emit(OpCodes.Ldloc, index);
-
- // We'll emit the try-finally block in the epilogue implementation,
- // because we haven't yet emitted all necessary instructions here.
+ // This is a convenience Int32 overload for an IntPtr (size_t) parameter.
+ // We need to convert the loaded argument to IntPtr.
+ il.Emit(OpCodes.Conv_I);
+ }
+ else if (p.Name == "StringBuilder")
+ {
+ EmitStringBuilderParameter(method, parameter, body, il);
}
else if (p.Name == "String" && !p.IsArray)
{
- EmitStringParameter(method, p, body, il);
+ EmitStringParameter(method, parameter, body, il);
}
else if (p.IsByReference)
{
@@ -837,7 +864,7 @@ static int EmitParameters(MethodDefinition method, MethodBody body, ILProcessor
}
else
{
- EmitStringArrayParameter(method, p, body, il);
+ EmitStringArrayParameter(method, parameter, body, il);
}
}
}
diff --git a/Source/OpenTK/Audio/AudioDeviceEnumerator.cs b/Source/OpenTK/Audio/AudioDeviceEnumerator.cs
index 6b3f74191..a5ffea8f6 100644
--- a/Source/OpenTK/Audio/AudioDeviceEnumerator.cs
+++ b/Source/OpenTK/Audio/AudioDeviceEnumerator.cs
@@ -204,12 +204,22 @@ static AudioDeviceEnumerator()
{
Debug.Unindent();
- // clean up the dummy context
- Alc.MakeContextCurrent(ContextHandle.Zero);
- if (dummy_context != ContextHandle.Zero && dummy_context.Handle != IntPtr.Zero)
- Alc.DestroyContext(dummy_context);
- if (dummy_device != IntPtr.Zero)
- Alc.CloseDevice(dummy_device);
+ if (openal_supported)
+ {
+ try
+ {
+ // clean up the dummy context
+ Alc.MakeContextCurrent(ContextHandle.Zero);
+ if (dummy_context != ContextHandle.Zero && dummy_context.Handle != IntPtr.Zero)
+ Alc.DestroyContext(dummy_context);
+ if (dummy_device != IntPtr.Zero)
+ Alc.CloseDevice(dummy_device);
+ }
+ catch
+ {
+ openal_supported = false;
+ }
+ }
}
}
diff --git a/Source/OpenTK/BindingsBase.cs b/Source/OpenTK/BindingsBase.cs
index a12c7a6ac..8043f4e69 100644
--- a/Source/OpenTK/BindingsBase.cs
+++ b/Source/OpenTK/BindingsBase.cs
@@ -202,10 +202,25 @@ protected static IntPtr MarshalStringArrayToPtr(string[] str_array)
throw new OutOfMemoryException();
}
- for (int i = 0; i < str_array.Length; i++)
+ int i = 0;
+ try
{
- IntPtr str = MarshalStringToPtr(str_array[i]);
- Marshal.WriteIntPtr(ptr, i * IntPtr.Size, str);
+ for (i = 0; i < str_array.Length; i++)
+ {
+ IntPtr str = MarshalStringToPtr(str_array[i]);
+ Marshal.WriteIntPtr(ptr, i * IntPtr.Size, str);
+ }
+ }
+ catch (OutOfMemoryException)
+ {
+ for (i = i - 1; i >= 0; --i)
+ {
+ Marshal.FreeHGlobal(Marshal.ReadIntPtr(ptr, i * IntPtr.Size));
+ }
+
+ Marshal.FreeHGlobal(ptr);
+
+ throw;
}
}
return ptr;
@@ -220,7 +235,7 @@ protected static void FreeStringArrayPtr(IntPtr ptr, int length)
{
for (int i = 0; i < length; i++)
{
- Marshal.FreeHGlobal(Marshal.ReadIntPtr(ptr, length * IntPtr.Size));
+ Marshal.FreeHGlobal(Marshal.ReadIntPtr(ptr, i * IntPtr.Size));
}
Marshal.FreeHGlobal(ptr);
}
diff --git a/Source/OpenTK/Configuration.cs b/Source/OpenTK/Configuration.cs
index 10670dff2..1b29eaefc 100644
--- a/Source/OpenTK/Configuration.cs
+++ b/Source/OpenTK/Configuration.cs
@@ -95,7 +95,7 @@ public static bool RunningOnSdl2
#region public static bool RunningOnLinux
- /// Gets a System.Boolean indicating whether OpenTK is running on an X11 platform.
+ /// Gets a System.Boolean indicating whether OpenTK is running on the Linux kernel.
public static bool RunningOnLinux { get { return runningOnLinux; } }
#endregion
@@ -201,31 +201,54 @@ static bool DetectSdl2()
bool supported = false;
// Detect whether SDL2 is supported
+ // We require:
+ // - SDL2 version 2.0.0 or higher (previous beta
+ // versions are not ABI-compatible)
+ // - Successful SDL2 initialization (sometimes the
+ // binary exists but fails to initialize correctly)
+ var version = new Platform.SDL2.Version();
try
{
- if (!OpenTK.Platform.SDL2.SDL.WasInit(0))
+ version = Platform.SDL2.SDL.Version;
+ if (version.Number >= 2000)
{
- var flags =
- OpenTK.Platform.SDL2.SystemFlags.VIDEO | Platform.SDL2.SystemFlags.TIMER;
- if (OpenTK.Platform.SDL2.SDL.Init(flags) == 0)
+ if (Platform.SDL2.SDL.WasInit(0))
{
supported = true;
}
else
{
- Debug.Print("SDL2 init failed with error: {0}", OpenTK.Platform.SDL2.SDL.GetError());
+ // Attempt to initialize SDL2.
+ var flags =
+ Platform.SDL2.SystemFlags.VIDEO |
+ Platform.SDL2.SystemFlags.TIMER;
+
+ if (Platform.SDL2.SDL.Init(flags) == 0)
+ {
+ supported = true;
+ }
+ else
+ {
+ Debug.Print("SDL2 init failed with error: {0}",
+ Platform.SDL2.SDL.GetError());
+ }
}
}
- else
- {
- supported = true;
- }
}
catch (Exception e)
{
Debug.Print("SDL2 init failed with exception: {0}", e);
}
- Debug.Print("SDL2 is {0}", supported ? "supported" : "not supported");
+
+ if (!supported)
+ {
+ Debug.Print("SDL2 is not supported");
+ }
+ else
+ {
+ Debug.Print("SDL2 is supported. Version is {0}.{1}.{2}",
+ version.Major, version.Minor, version.Patch);
+ }
return supported;
}
diff --git a/Source/OpenTK/DisplayDevice.cs b/Source/OpenTK/DisplayDevice.cs
index 4e8c7a3dc..bfd3960a9 100644
--- a/Source/OpenTK/DisplayDevice.cs
+++ b/Source/OpenTK/DisplayDevice.cs
@@ -78,11 +78,13 @@ internal DisplayDevice(DisplayResolution currentResolution, bool primary,
object id)
: this()
{
-#warning "Consolidate current resolution with bounds? Can they fall out of sync right now?"
+ // Todo: Consolidate current resolution with bounds? Can they fall out of sync right now?
this.current_resolution = currentResolution;
IsPrimary = primary;
this.available_resolutions.AddRange(availableResolutions);
+ #pragma warning disable 612,618
this.bounds = bounds == Rectangle.Empty ? currentResolution.Bounds : bounds;
+ #pragma warning restore 612,618
this.Id = id;
}
@@ -351,6 +353,26 @@ internal DisplayResolution OriginalResolution
#endregion
+ #region FromPoint
+
+ internal static DisplayDevice FromPoint(int x, int y)
+ {
+ for (DisplayIndex i = DisplayIndex.First; i < DisplayIndex.Sixth; i++)
+ {
+ DisplayDevice display = DisplayDevice.GetDisplay(i);
+ if (display != null)
+ {
+ if (display.Bounds.Contains(x, y))
+ {
+ return display;
+ }
+ }
+ }
+ return null;
+ }
+
+ #endregion
+
#endregion
#region --- Private Methods ---
diff --git a/Source/OpenTK/DisplayResolution.cs b/Source/OpenTK/DisplayResolution.cs
index 02fd04faf..434194080 100644
--- a/Source/OpenTK/DisplayResolution.cs
+++ b/Source/OpenTK/DisplayResolution.cs
@@ -153,7 +153,9 @@ public float RefreshRate
/// A System.String representing this DisplayResolution.
public override string ToString()
{
+ #pragma warning disable 612,618
return String.Format("{0}x{1}@{2}Hz", Bounds, bits_per_pixel, refresh_rate);
+ #pragma warning restore 612,618
}
#endregion
@@ -187,7 +189,9 @@ public override bool Equals(object obj)
/// A System.Int32 that may serve as a hash code for this resolution.
public override int GetHashCode()
{
+ #pragma warning disable 612,618
return Bounds.GetHashCode() ^ bits_per_pixel ^ refresh_rate.GetHashCode();
+ #pragma warning restore 612,618
}
#endregion
diff --git a/Source/OpenTK/GameWindow.cs b/Source/OpenTK/GameWindow.cs
index 41029bc67..2a6df0c1c 100644
--- a/Source/OpenTK/GameWindow.cs
+++ b/Source/OpenTK/GameWindow.cs
@@ -78,8 +78,12 @@ public class GameWindow : NativeWindow, IGameWindow, IDisposable
const double MaxFrequency = 500.0; // Frequency cap for Update/RenderFrame events
readonly Stopwatch watch = new Stopwatch();
+
+ #pragma warning disable 612,618
readonly IJoystickDriver LegacyJoystick =
Factory.Default.CreateLegacyJoystickDriver();
+ #pragma warning restore 612,618
+
IGraphicsContext glContext;
@@ -592,6 +596,8 @@ public IList Joysticks
#region Keyboard
+ #pragma warning disable 0612
+
///
/// Gets the primary Keyboard device, or null if no Keyboard exists.
///
@@ -600,10 +606,14 @@ public KeyboardDevice Keyboard
get { return InputDriver.Keyboard.Count > 0 ? InputDriver.Keyboard[0] : null; }
}
+ #pragma warning restore 0612
+
#endregion
#region Mouse
+ #pragma warning disable 0612
+
///
/// Gets the primary Mouse device, or null if no Mouse exists.
///
@@ -612,6 +622,8 @@ public MouseDevice Mouse
get { return InputDriver.Mouse.Count > 0 ? InputDriver.Mouse[0] : null; }
}
+ #pragma warning restore 0612
+
#endregion
#region --- GameWindow Timing ---
diff --git a/Source/OpenTK/Graphics/Color4.cs b/Source/OpenTK/Graphics/Color4.cs
index 972747ac4..3174d7017 100644
--- a/Source/OpenTK/Graphics/Color4.cs
+++ b/Source/OpenTK/Graphics/Color4.cs
@@ -914,6 +914,521 @@ public override string ToString()
#endregion
+ #region Color conversions
+
+ #region sRGB
+
+ ///
+ /// Converts sRGB color values to RGB color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ ///
+ ///
+ /// Color value to convert in sRGB.
+ ///
+ public static Color4 FromSrgb(Color4 srgb)
+ {
+ float r, g, b;
+
+ if (srgb.R <= 0.04045f)
+ {
+ r = srgb.R / 12.92f;
+ }
+ else
+ {
+ r = (float)Math.Pow((srgb.R + 0.055f) / (1.0f + 0.055f), 2.4f);
+ }
+
+ if (srgb.G <= 0.04045f)
+ {
+ g = srgb.G / 12.92f;
+ }
+ else
+ {
+ g = (float)Math.Pow((srgb.G + 0.055f) / (1.0f + 0.055f), 2.4f);
+ }
+
+ if (srgb.B <= 0.04045f)
+ {
+ b = srgb.B / 12.92f;
+ }
+ else
+ {
+ b = (float)Math.Pow((srgb.B + 0.055f) / (1.0f + 0.055f), 2.4f);
+ }
+
+ return new Color4(r, g, b, srgb.A);
+ }
+
+ ///
+ /// Converts RGB color values to sRGB color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ ///
+ /// Color value to convert.
+ public static Color4 ToSrgb(Color4 rgb)
+ {
+ float r, g, b;
+
+ if (rgb.R <= 0.0031308)
+ {
+ r = 12.92f * rgb.R;
+ }
+ else
+ {
+ r = (1.0f + 0.055f) * (float)Math.Pow(rgb.R, 1.0f / 2.4f) - 0.055f;
+ }
+
+ if (rgb.G <= 0.0031308)
+ {
+ g = 12.92f * rgb.G;
+ }
+ else
+ {
+ g = (1.0f + 0.055f) * (float)Math.Pow(rgb.G, 1.0f / 2.4f) - 0.055f;
+ }
+
+ if (rgb.B <= 0.0031308)
+ {
+ b = 12.92f * rgb.B;
+ }
+ else
+ {
+ b = (1.0f + 0.055f) * (float)Math.Pow(rgb.B, 1.0f / 2.4f) - 0.055f;
+ }
+
+ return new Color4(r, g, b, rgb.A);
+ }
+
+ #endregion
+
+ #region HSL
+
+ ///
+ /// Converts HSL color values to RGB color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ ///
+ ///
+ /// Color value to convert in hue, saturation, lightness (HSL).
+ /// The X element is Hue (H), the Y element is Saturation (S), the Z element is Lightness (L), and the W element is Alpha (which is copied to the output's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ public static Color4 FromHsl(Vector4 hsl)
+ {
+ var hue = hsl.X * 360.0f;
+ var saturation = hsl.Y;
+ var lightness = hsl.Z;
+
+ var C = (1.0f - Math.Abs(2.0f * lightness - 1.0f)) * saturation;
+
+ var h = hue / 60.0f;
+ var X = C * (1.0f - Math.Abs(h % 2.0f - 1.0f));
+
+ float r, g, b;
+ if (0.0f <= h && h < 1.0f)
+ {
+ r = C;
+ g = X;
+ b = 0.0f;
+ }
+ else if (1.0f <= h && h < 2.0f)
+ {
+ r = X;
+ g = C;
+ b = 0.0f;
+ }
+ else if (2.0f <= h && h < 3.0f)
+ {
+ r = 0.0f;
+ g = C;
+ b = X;
+ }
+ else if (3.0f <= h && h < 4.0f)
+ {
+ r = 0.0f;
+ g = X;
+ b = C;
+ }
+ else if (4.0f <= h && h < 5.0f)
+ {
+ r = X;
+ g = 0.0f;
+ b = C;
+ }
+ else if (5.0f <= h && h < 6.0f)
+ {
+ r = C;
+ g = 0.0f;
+ b = X;
+ }
+ else
+ {
+ r = 0.0f;
+ g = 0.0f;
+ b = 0.0f;
+ }
+
+ var m = lightness - (C / 2.0f);
+ return new Color4(r + m, g + m, b + m, hsl.W);
+ }
+
+ ///
+ /// Converts RGB color values to HSL color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ /// The X element is Hue (H), the Y element is Saturation (S), the Z element is Lightness (L), and the W element is Alpha (a copy of the input's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ /// Color value to convert.
+ public static Vector4 ToHsl(Color4 rgb)
+ {
+ var M = Math.Max(rgb.R, Math.Max(rgb.G, rgb.B));
+ var m = Math.Min(rgb.R, Math.Min(rgb.G, rgb.B));
+ var C = M - m;
+
+ float h = 0.0f;
+ if (M == rgb.R)
+ {
+ h = ((rgb.G - rgb.B) / C);
+ }
+ else if (M == rgb.G)
+ {
+ h = ((rgb.B - rgb.R) / C) + 2.0f;
+ }
+ else if (M == rgb.B)
+ {
+ h = ((rgb.R - rgb.G) / C) + 4.0f;
+ }
+
+ var hue = h / 6.0f;
+ if (hue < 0.0f)
+ {
+ hue += 1.0f;
+ }
+
+ var lightness = (M + m) / 2.0f;
+
+ var saturation = 0.0f;
+ if (0.0f != lightness && lightness != 1.0f)
+ {
+ saturation = C / (1.0f - Math.Abs(2.0f * lightness - 1.0f));
+ }
+
+ return new Vector4(hue, saturation, lightness, rgb.A);
+ }
+
+ #endregion
+
+ #region HSV
+
+ ///
+ /// Converts HSV color values to RGB color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ ///
+ ///
+ /// Color value to convert in hue, saturation, value (HSV).
+ /// The X element is Hue (H), the Y element is Saturation (S), the Z element is Value (V), and the W element is Alpha (which is copied to the output's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ public static Color4 FromHsv(Vector4 hsv)
+ {
+ var hue = hsv.X * 360.0f;
+ var saturation = hsv.Y;
+ var value = hsv.Z;
+
+ var C = value * saturation;
+
+ var h = hue / 60.0f;
+ var X = C * (1.0f - Math.Abs(h % 2.0f - 1.0f));
+
+ float r, g, b;
+ if (0.0f <= h && h < 1.0f)
+ {
+ r = C;
+ g = X;
+ b = 0.0f;
+ }
+ else if (1.0f <= h && h < 2.0f)
+ {
+ r = X;
+ g = C;
+ b = 0.0f;
+ }
+ else if (2.0f <= h && h < 3.0f)
+ {
+ r = 0.0f;
+ g = C;
+ b = X;
+ }
+ else if (3.0f <= h && h < 4.0f)
+ {
+ r = 0.0f;
+ g = X;
+ b = C;
+ }
+ else if (4.0f <= h && h < 5.0f)
+ {
+ r = X;
+ g = 0.0f;
+ b = C;
+ }
+ else if (5.0f <= h && h < 6.0f)
+ {
+ r = C;
+ g = 0.0f;
+ b = X;
+ }
+ else
+ {
+ r = 0.0f;
+ g = 0.0f;
+ b = 0.0f;
+ }
+
+ var m = value - C;
+ return new Color4(r + m, g + m, b + m, hsv.W);
+ }
+
+ ///
+ /// Converts RGB color values to HSV color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ /// The X element is Hue (H), the Y element is Saturation (S), the Z element is Value (V), and the W element is Alpha (a copy of the input's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ /// Color value to convert.
+ public static Vector4 ToHsv(Color4 rgb)
+ {
+ var M = Math.Max(rgb.R, Math.Max(rgb.G, rgb.B));
+ var m = Math.Min(rgb.R, Math.Min(rgb.G, rgb.B));
+ var C = M - m;
+
+ float h = 0.0f;
+ if (M == rgb.R)
+ {
+ h = ((rgb.G - rgb.B) / C) % 6.0f;
+ }
+ else if (M == rgb.G)
+ {
+ h = ((rgb.B - rgb.R) / C) + 2.0f;
+ }
+ else if (M == rgb.B)
+ {
+ h = ((rgb.R - rgb.G) / C) + 4.0f;
+ }
+
+ var hue = (h * 60.0f) / 360.0f;
+
+ var saturation = 0.0f;
+ if (0.0f != M)
+ {
+ saturation = C / M;
+ }
+
+ return new Vector4(hue, saturation, M, rgb.A);
+ }
+
+ #endregion
+
+ #region XYZ
+
+ ///
+ /// Converts XYZ color values to RGB color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ ///
+ ///
+ /// Color value to convert with the trisimulus values of X, Y, and Z in the corresponding element, and the W element with Alpha (which is copied to the output's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ /// Uses the CIE XYZ colorspace.
+ public static Color4 FromXyz(Vector4 xyz)
+ {
+ var r = 0.41847f * xyz.X + -0.15866f * xyz.Y + -0.082835f * xyz.Z;
+ var g = -0.091169f * xyz.X + 0.25243f * xyz.Y + 0.015708f * xyz.Z;
+ var b = 0.00092090f * xyz.X + -0.0025498f * xyz.Y + 0.17860f * xyz.Z;
+ return new Color4(r, g, b, xyz.W);
+ }
+
+ ///
+ /// Converts RGB color values to XYZ color values.
+ ///
+ ///
+ /// Returns the converted color value with the trisimulus values of X, Y, and Z in the corresponding element, and the W element with Alpha (a copy of the input's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ /// Color value to convert.
+ /// Uses the CIE XYZ colorspace.
+ public static Vector4 ToXyz(Color4 rgb)
+ {
+ var x = (0.49f * rgb.R + 0.31f * rgb.G + 0.20f * rgb.B) / 0.17697f;
+ var y = (0.17697f * rgb.R + 0.81240f * rgb.G + 0.01063f * rgb.B) / 0.17697f;
+ var z = (0.00f * rgb.R + 0.01f * rgb.G + 0.99f * rgb.B) / 0.17697f;
+ return new Vector4(x, y, z, rgb.A);
+ }
+
+ #endregion
+
+ #region YUV
+
+ ///
+ /// Converts YCbCr color values to RGB color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ ///
+ ///
+ /// Color value to convert in Luma-Chrominance (YCbCr) aka YUV.
+ /// The X element contains Luma (Y, 0.0 to 1.0), the Y element contains Blue-difference chroma (U, -0.5 to 0.5), the Z element contains the Red-difference chroma (V, -0.5 to 0.5), and the W element contains the Alpha (which is copied to the output's Alpha value).
+ ///
+ /// Converts using ITU-R BT.601/CCIR 601 W(r) = 0.299 W(b) = 0.114 U(max) = 0.436 V(max) = 0.615.
+ public static Color4 FromYcbcr(Vector4 ycbcr)
+ {
+ var r = 1.0f * ycbcr.X + 0.0f * ycbcr.Y + 1.402f * ycbcr.Z;
+ var g = 1.0f * ycbcr.X + -0.344136f * ycbcr.Y + -0.714136f * ycbcr.Z;
+ var b = 1.0f * ycbcr.X + 1.772f * ycbcr.Y + 0.0f * ycbcr.Z;
+ return new Color4(r, g, b, ycbcr.W);
+ }
+
+ ///
+ /// Converts RGB color values to YUV color values.
+ ///
+ ///
+ /// Returns the converted color value in Luma-Chrominance (YCbCr) aka YUV.
+ /// The X element contains Luma (Y, 0.0 to 1.0), the Y element contains Blue-difference chroma (U, -0.5 to 0.5), the Z element contains the Red-difference chroma (V, -0.5 to 0.5), and the W element contains the Alpha (a copy of the input's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ /// Color value to convert.
+ /// Converts using ITU-R BT.601/CCIR 601 W(r) = 0.299 W(b) = 0.114 U(max) = 0.436 V(max) = 0.615.
+ public static Vector4 ToYcbcr(Color4 rgb)
+ {
+ var y = 0.299f * rgb.R + 0.587f * rgb.G + 0.114f * rgb.B;
+ var u = -0.168736f * rgb.R + -0.331264f * rgb.G + 0.5f * rgb.B;
+ var v = 0.5f * rgb.R + -0.418688f * rgb.G + -0.081312f * rgb.B;
+ return new Vector4(y, u, v, rgb.A);
+ }
+
+ #endregion
+
+ #region HCY
+
+ ///
+ /// Converts HCY color values to RGB color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ ///
+ ///
+ /// Color value to convert in hue, chroma, luminance (HCY).
+ /// The X element is Hue (H), the Y element is Chroma (C), the Z element is luminance (Y), and the W element is Alpha (which is copied to the output's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ public static Color4 FromHcy(Vector4 hcy)
+ {
+ var hue = hcy.X * 360.0f;
+ var C = hcy.Y;
+ var luminance = hcy.Z;
+
+ var h = hue / 60.0f;
+ var X = C * (1.0f - Math.Abs(h % 2.0f - 1.0f));
+
+ float r, g, b;
+ if (0.0f <= h && h < 1.0f)
+ {
+ r = C;
+ g = X;
+ b = 0.0f;
+ }
+ else if (1.0f <= h && h < 2.0f)
+ {
+ r = X;
+ g = C;
+ b = 0.0f;
+ }
+ else if (2.0f <= h && h < 3.0f)
+ {
+ r = 0.0f;
+ g = C;
+ b = X;
+ }
+ else if (3.0f <= h && h < 4.0f)
+ {
+ r = 0.0f;
+ g = X;
+ b = C;
+ }
+ else if (4.0f <= h && h < 5.0f)
+ {
+ r = X;
+ g = 0.0f;
+ b = C;
+ }
+ else if (5.0f <= h && h < 6.0f)
+ {
+ r = C;
+ g = 0.0f;
+ b = X;
+ }
+ else
+ {
+ r = 0.0f;
+ g = 0.0f;
+ b = 0.0f;
+ }
+
+ var m = luminance - (0.30f * r + 0.59f * g + 0.11f * b);
+ return new Color4(r + m, g + m, b + m, hcy.W);
+ }
+
+ ///
+ /// Converts RGB color values to HCY color values.
+ ///
+ ///
+ /// Returns the converted color value.
+ /// The X element is Hue (H), the Y element is Chroma (C), the Z element is luminance (Y), and the W element is Alpha (a copy of the input's Alpha value).
+ /// Each has a range of 0.0 to 1.0.
+ ///
+ /// Color value to convert.
+ public static Vector4 ToHcy(Color4 rgb)
+ {
+ var M = Math.Max(rgb.R, Math.Max(rgb.G, rgb.B));
+ var m = Math.Min(rgb.R, Math.Min(rgb.G, rgb.B));
+ var C = M - m;
+
+ float h = 0.0f;
+ if (M == rgb.R)
+ {
+ h = ((rgb.G - rgb.B) / C) % 6.0f;
+ }
+ else if (M == rgb.G)
+ {
+ h = ((rgb.B - rgb.R) / C) + 2.0f;
+ }
+ else if (M == rgb.B)
+ {
+ h = ((rgb.R - rgb.G) / C) + 4.0f;
+ }
+
+ var hue = (h * 60.0f) / 360.0f;
+
+ var luminance = 0.30f * rgb.R + 0.59f * rgb.G + 0.11f * rgb.B;
+
+ return new Vector4(hue, C, luminance, rgb.A);
+ }
+
+ #endregion
+
+ #endregion
+
#region IEquatable Members
///
diff --git a/Source/OpenTK/Graphics/ES11/ES11.cs b/Source/OpenTK/Graphics/ES11/ES11.cs
index eb8b8e734..9903b97bf 100644
--- a/Source/OpenTK/Graphics/ES11/ES11.cs
+++ b/Source/OpenTK/Graphics/ES11/ES11.cs
@@ -1447,6 +1447,18 @@ public static void BufferSubData(OpenTK.Graphics.ES11.All target, IntPtr off
///
[Obsolete("Use ClearMask overload instead")]
[AutoGenerated(Category = "VERSION_ES_CM_1_0", Version = "1.0", EntryPoint = "glClear")]
+ [CLSCompliant(false)]
+ public static void Clear(Int32 mask) { throw new NotImplementedException(); }
+
+ /// [requires: v1.0]
+ /// Clear buffers to preset values
+ ///
+ ///
+ /// Bitwise OR of masks that indicate the buffers to be cleared. The three masks are ColorBufferBit, DepthBufferBit, and StencilBufferBit.
+ ///
+ [Obsolete("Use ClearMask overload instead")]
+ [AutoGenerated(Category = "VERSION_ES_CM_1_0", Version = "1.0", EntryPoint = "glClear")]
+ [CLSCompliant(false)]
public static void Clear(UInt32 mask) { throw new NotImplementedException(); }
/// [requires: v1.0]
@@ -13181,9 +13193,12 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
///
/// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
///
+ ///
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
[AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex2bOES")]
[CLSCompliant(false)]
- public static void Vertex2(Byte x) { throw new NotImplementedException(); }
+ public static void Vertex2(Byte x, Byte y) { throw new NotImplementedException(); }
/// [requires: OES_byte_coordinates]
/// Specify a vertex
@@ -13191,9 +13206,12 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
///
/// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
///
+ ///
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
[AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex2bOES")]
[CLSCompliant(false)]
- public static void Vertex2(SByte x) { throw new NotImplementedException(); }
+ public static void Vertex2(SByte x, SByte y) { throw new NotImplementedException(); }
/// [requires: OES_byte_coordinates]
/// Specify a vertex
@@ -13205,6 +13223,16 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
[CLSCompliant(false)]
public static void Vertex2(Byte[] coords) { throw new NotImplementedException(); }
+ /// [requires: OES_byte_coordinates]
+ /// Specify a vertex
+ ///
+ /// [length: 2]
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
+ [AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex2bvOES")]
+ [CLSCompliant(false)]
+ public static void Vertex2(ref Byte coords) { throw new NotImplementedException(); }
+
/// [requires: OES_byte_coordinates]
/// Specify a vertex
///
@@ -13225,6 +13253,16 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
[CLSCompliant(false)]
public static void Vertex2(SByte[] coords) { throw new NotImplementedException(); }
+ /// [requires: OES_byte_coordinates]
+ /// Specify a vertex
+ ///
+ /// [length: 2]
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
+ [AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex2bvOES")]
+ [CLSCompliant(false)]
+ public static void Vertex2(ref SByte coords) { throw new NotImplementedException(); }
+
/// [requires: OES_byte_coordinates]
/// Specify a vertex
///
@@ -13261,9 +13299,12 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
///
/// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
///
+ ///
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
[AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex3bOES")]
[CLSCompliant(false)]
- public static void Vertex3(Byte x, Byte y) { throw new NotImplementedException(); }
+ public static void Vertex3(Byte x, Byte y, Byte z) { throw new NotImplementedException(); }
/// [requires: OES_byte_coordinates]
/// Specify a vertex
@@ -13274,9 +13315,12 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
///
/// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
///
+ ///
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
[AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex3bOES")]
[CLSCompliant(false)]
- public static void Vertex3(SByte x, SByte y) { throw new NotImplementedException(); }
+ public static void Vertex3(SByte x, SByte y, SByte z) { throw new NotImplementedException(); }
/// [requires: OES_byte_coordinates]
/// Specify a vertex
@@ -13374,9 +13418,12 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
///
/// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
///
+ ///
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
[AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex4bOES")]
[CLSCompliant(false)]
- public static void Vertex4(Byte x, Byte y, Byte z) { throw new NotImplementedException(); }
+ public static void Vertex4(Byte x, Byte y, Byte z, Byte w) { throw new NotImplementedException(); }
/// [requires: OES_byte_coordinates]
/// Specify a vertex
@@ -13390,9 +13437,12 @@ public static void PointSizePointer(OpenTK.Graphics.ES11.All type, Int32 str
///
/// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
///
+ ///
+ /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
+ ///
[AutoGenerated(Category = "OES_byte_coordinates", Version = "", EntryPoint = "glVertex4bOES")]
[CLSCompliant(false)]
- public static void Vertex4(SByte x, SByte y, SByte z) { throw new NotImplementedException(); }
+ public static void Vertex4(SByte x, SByte y, SByte z, SByte w) { throw new NotImplementedException(); }
/// [requires: OES_byte_coordinates]
/// Specify a vertex
@@ -14372,7 +14422,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern unsafe void glGetSyncivAPPLE(IntPtr sync, System.Int32 pname, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* values);
[Slot(189)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsSyncAPPLE(IntPtr sync);
+ static extern byte glIsSyncAPPLE(IntPtr sync);
[Slot(294)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleAPPLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
@@ -14600,13 +14650,13 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern void glHint(System.Int32 target, System.Int32 mode);
[Slot(184)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsBuffer(UInt32 buffer);
+ static extern byte glIsBuffer(UInt32 buffer);
[Slot(185)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsEnabled(System.Int32 cap);
+ static extern byte glIsEnabled(System.Int32 cap);
[Slot(190)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsTexture(UInt32 texture);
+ static extern byte glIsTexture(UInt32 texture);
[Slot(192)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glLightf(System.Int32 light, System.Int32 pname, Single param);
@@ -14903,13 +14953,13 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern unsafe void glGetFenceivNV(UInt32 fence, System.Int32 pname, [OutAttribute] Int32* @params);
[Slot(186)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsFenceNV(UInt32 fence);
+ static extern byte glIsFenceNV(UInt32 fence);
[Slot(310)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glSetFenceNV(UInt32 fence, System.Int32 condition);
[Slot(316)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glTestFenceNV(UInt32 fence);
+ static extern byte glTestFenceNV(UInt32 fence);
[Slot(0)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glAccumxOES(System.Int32 op, int value);
@@ -15134,13 +15184,13 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern unsafe void glIndexxvOES(int* component);
[Slot(187)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsFramebufferOES(UInt32 framebuffer);
+ static extern byte glIsFramebufferOES(UInt32 framebuffer);
[Slot(188)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsRenderbufferOES(UInt32 renderbuffer);
+ static extern byte glIsRenderbufferOES(UInt32 renderbuffer);
[Slot(191)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsVertexArrayOES(UInt32 array);
+ static extern byte glIsVertexArrayOES(UInt32 array);
[Slot(197)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glLightModelxOES(System.Int32 pname, int param);
@@ -15407,10 +15457,10 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern void glTranslatexOES(int x, int y, int z);
[Slot(367)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glUnmapBufferOES(System.Int32 target);
+ static extern byte glUnmapBufferOES(System.Int32 target);
[Slot(368)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glVertex2bOES(SByte x);
+ static extern void glVertex2bOES(SByte x, SByte y);
[Slot(369)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertex2bvOES(SByte* coords);
@@ -15422,7 +15472,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern unsafe void glVertex2xvOES(int* coords);
[Slot(372)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glVertex3bOES(SByte x, SByte y);
+ static extern void glVertex3bOES(SByte x, SByte y, SByte z);
[Slot(373)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertex3bvOES(SByte* coords);
@@ -15434,7 +15484,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern unsafe void glVertex3xvOES(int* coords);
[Slot(376)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glVertex4bOES(SByte x, SByte y, SByte z);
+ static extern void glVertex4bOES(SByte x, SByte y, SByte z, SByte w);
[Slot(377)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertex4bvOES(SByte* coords);
@@ -15488,7 +15538,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES11.All target, Int32
static extern unsafe void glExtGetTexturesQCOM([OutAttribute] UInt32* textures, Int32 maxTextures, [OutAttribute] Int32* numTextures);
[Slot(103)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glExtIsProgramBinaryQCOM(UInt32 program);
+ static extern byte glExtIsProgramBinaryQCOM(UInt32 program);
[Slot(104)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glExtTexObjectStateOverrideiQCOM(System.Int32 target, System.Int32 pname, Int32 param);
diff --git a/Source/OpenTK/Graphics/ES11/ES11Enums.cs b/Source/OpenTK/Graphics/ES11/ES11Enums.cs
index 1e6fb6cec..bc5b5a9fa 100644
--- a/Source/OpenTK/Graphics/ES11/ES11Enums.cs
+++ b/Source/OpenTK/Graphics/ES11/ES11Enums.cs
@@ -6123,6 +6123,8 @@ public enum AlphaFunction : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Amdcompressed3Dctexture : int
{
///
@@ -6142,6 +6144,7 @@ public enum Amdcompressed3Dctexture : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum AmdCompressed3DcTexture : int
{
///
@@ -6157,6 +6160,8 @@ public enum AmdCompressed3DcTexture : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum AmdcompressedAtctexture : int
{
///
@@ -6180,6 +6185,7 @@ public enum AmdcompressedAtctexture : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum AmdCompressedAtcTexture : int
{
///
@@ -7930,6 +7936,8 @@ public enum ExtTextureCompressionDxt1 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum ExttextureFilterAnisotropic : int
{
///
@@ -7949,6 +7957,7 @@ public enum ExttextureFilterAnisotropic : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum ExtTextureFilterAnisotropic : int
{
///
@@ -7964,6 +7973,8 @@ public enum ExtTextureFilterAnisotropic : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum ExttextureFormatBgra8888 : int
{
///
@@ -7979,6 +7990,7 @@ public enum ExttextureFormatBgra8888 : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum ExtTextureFormatBgra8888 : int
{
///
@@ -10673,6 +10685,8 @@ public enum ImgMultisampledRenderToTexture : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum ImgreadFormat : int
{
///
@@ -10696,6 +10710,7 @@ public enum ImgreadFormat : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum ImgReadFormat : int
{
///
@@ -10711,6 +10726,8 @@ public enum ImgReadFormat : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum ImgtextureCompressionPvrtc : int
{
///
@@ -10738,6 +10755,7 @@ public enum ImgtextureCompressionPvrtc : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum ImgTextureCompressionPvrtc : int
{
///
@@ -10761,6 +10779,8 @@ public enum ImgTextureCompressionPvrtc : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum ImgtextureEnvEnhancedFixedFunction : int
{
///
@@ -10800,6 +10820,7 @@ public enum ImgtextureEnvEnhancedFixedFunction : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum ImgTextureEnvEnhancedFixedFunction : int
{
///
@@ -10835,6 +10856,8 @@ public enum ImgTextureEnvEnhancedFixedFunction : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum ImguserClipPlane : int
{
///
@@ -10874,6 +10897,7 @@ public enum ImguserClipPlane : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum ImgUserClipPlane : int
{
///
@@ -12031,6 +12055,8 @@ public enum NormalPointerType : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Nvfence : int
{
///
@@ -12054,6 +12080,7 @@ public enum Nvfence : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum NvFence : int
{
///
@@ -12101,6 +12128,8 @@ public enum OcclusionQueryEventMaskAmd : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesblendEquationSeparate : int
{
///
@@ -12120,6 +12149,7 @@ public enum OesblendEquationSeparate : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesBlendEquationSeparate : int
{
///
@@ -12135,6 +12165,8 @@ public enum OesBlendEquationSeparate : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesblendFuncSeparate : int
{
///
@@ -12162,6 +12194,7 @@ public enum OesblendFuncSeparate : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesBlendFuncSeparate : int
{
///
@@ -12185,6 +12218,8 @@ public enum OesBlendFuncSeparate : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesblendSubtract : int
{
///
@@ -12212,6 +12247,7 @@ public enum OesblendSubtract : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesBlendSubtract : int
{
///
@@ -12235,6 +12271,8 @@ public enum OesBlendSubtract : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesbyteCoordinates : int
{
///
@@ -12246,13 +12284,20 @@ public enum OesbyteCoordinates : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesByteCoordinates : int
{
+ ///
+ /// Original was GL_BYTE = 0x1400
+ ///
+ Byte = ((int)0x1400) ,
}
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OescompressedEtc1Rgb8Texture : int
{
///
@@ -12268,6 +12313,7 @@ public enum OescompressedEtc1Rgb8Texture : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesCompressedEtc1Rgb8Texture : int
{
///
@@ -12279,6 +12325,8 @@ public enum OesCompressedEtc1Rgb8Texture : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OescompressedPalettedTexture : int
{
///
@@ -12330,6 +12378,7 @@ public enum OescompressedPalettedTexture : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesCompressedPalettedTexture : int
{
///
@@ -12377,6 +12426,8 @@ public enum OesCompressedPalettedTexture : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oesdepth24 : int
{
///
@@ -12392,6 +12443,7 @@ public enum Oesdepth24 : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesDepth24 : int
{
///
@@ -12403,6 +12455,8 @@ public enum OesDepth24 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oesdepth32 : int
{
///
@@ -12418,6 +12472,7 @@ public enum Oesdepth32 : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesDepth32 : int
{
///
@@ -12429,6 +12484,8 @@ public enum OesDepth32 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesdrawTexture : int
{
///
@@ -12444,6 +12501,7 @@ public enum OesdrawTexture : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesDrawTexture : int
{
///
@@ -12455,6 +12513,8 @@ public enum OesDrawTexture : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oeseglimage : int
{
///
@@ -12466,6 +12526,7 @@ public enum Oeseglimage : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesEglImage : int
{
}
@@ -12496,6 +12557,8 @@ public enum OesEglImageExternal : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OeselementIndexUint : int
{
///
@@ -12507,6 +12570,7 @@ public enum OeselementIndexUint : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesElementIndexUint : int
{
///
@@ -12518,6 +12582,8 @@ public enum OesElementIndexUint : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesextendedMatrixPalette : int
{
///
@@ -12529,6 +12595,7 @@ public enum OesextendedMatrixPalette : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesExtendedMatrixPalette : int
{
}
@@ -12536,6 +12603,8 @@ public enum OesExtendedMatrixPalette : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesfboRenderMipmap : int
{
///
@@ -12547,6 +12616,7 @@ public enum OesfboRenderMipmap : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesFboRenderMipmap : int
{
}
@@ -12554,6 +12624,8 @@ public enum OesFboRenderMipmap : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesfixedPoint : int
{
///
@@ -12569,6 +12641,7 @@ public enum OesfixedPoint : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesFixedPoint : int
{
///
@@ -12580,6 +12653,8 @@ public enum OesFixedPoint : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesframebufferObject : int
{
///
@@ -12723,6 +12798,7 @@ public enum OesframebufferObject : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesFramebufferObject : int
{
///
@@ -12862,6 +12938,8 @@ public enum OesFramebufferObject : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oesmapbuffer : int
{
///
@@ -12889,6 +12967,7 @@ public enum Oesmapbuffer : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesMapbuffer : int
{
///
@@ -12912,6 +12991,8 @@ public enum OesMapbuffer : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesmatrixGet : int
{
///
@@ -12935,6 +13016,7 @@ public enum OesmatrixGet : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesMatrixGet : int
{
///
@@ -12954,6 +13036,8 @@ public enum OesMatrixGet : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesmatrixPalette : int
{
///
@@ -13029,6 +13113,7 @@ public enum OesmatrixPalette : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesMatrixPalette : int
{
///
@@ -13100,6 +13185,8 @@ public enum OesMatrixPalette : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OespackedDepthStencil : int
{
///
@@ -13123,6 +13210,7 @@ public enum OespackedDepthStencil : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesPackedDepthStencil : int
{
///
@@ -13142,6 +13230,8 @@ public enum OesPackedDepthStencil : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OespointSizeArray : int
{
///
@@ -13173,6 +13263,7 @@ public enum OespointSizeArray : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesPointSizeArray : int
{
///
@@ -13200,6 +13291,8 @@ public enum OesPointSizeArray : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OespointSprite : int
{
///
@@ -13219,6 +13312,7 @@ public enum OespointSprite : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesPointSprite : int
{
///
@@ -13234,6 +13328,8 @@ public enum OesPointSprite : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesqueryMatrix : int
{
///
@@ -13245,6 +13341,7 @@ public enum OesqueryMatrix : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesQueryMatrix : int
{
}
@@ -13252,6 +13349,8 @@ public enum OesQueryMatrix : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesreadFormat : int
{
///
@@ -13271,6 +13370,7 @@ public enum OesreadFormat : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesReadFormat : int
{
///
@@ -13353,6 +13453,8 @@ public enum OesRequiredInternalformat : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oesrgb8Rgba8 : int
{
///
@@ -13372,6 +13474,7 @@ public enum Oesrgb8Rgba8 : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesRgb8Rgba8 : int
{
///
@@ -13387,6 +13490,8 @@ public enum OesRgb8Rgba8 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OessinglePrecision : int
{
///
@@ -13398,6 +13503,7 @@ public enum OessinglePrecision : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesSinglePrecision : int
{
}
@@ -13405,6 +13511,8 @@ public enum OesSinglePrecision : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oesstencil1 : int
{
///
@@ -13420,6 +13528,7 @@ public enum Oesstencil1 : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesStencil1 : int
{
///
@@ -13431,6 +13540,8 @@ public enum OesStencil1 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oesstencil4 : int
{
///
@@ -13446,6 +13557,7 @@ public enum Oesstencil4 : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesStencil4 : int
{
///
@@ -13457,6 +13569,8 @@ public enum OesStencil4 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum Oesstencil8 : int
{
///
@@ -13472,6 +13586,7 @@ public enum Oesstencil8 : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesStencil8 : int
{
///
@@ -13483,6 +13598,8 @@ public enum OesStencil8 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OesstencilWrap : int
{
///
@@ -13502,6 +13619,7 @@ public enum OesstencilWrap : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesStencilWrap : int
{
///
@@ -13517,6 +13635,8 @@ public enum OesStencilWrap : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OestextureCubeMap : int
{
///
@@ -13580,6 +13700,7 @@ public enum OestextureCubeMap : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesTextureCubeMap : int
{
///
@@ -13639,6 +13760,8 @@ public enum OesTextureCubeMap : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OestextureEnvCrossbar : int
{
///
@@ -13650,6 +13773,7 @@ public enum OestextureEnvCrossbar : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesTextureEnvCrossbar : int
{
}
@@ -13657,6 +13781,8 @@ public enum OesTextureEnvCrossbar : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum OestextureMirroredRepeat : int
{
///
@@ -13672,6 +13798,7 @@ public enum OestextureMirroredRepeat : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum OesTextureMirroredRepeat : int
{
///
@@ -13694,6 +13821,7 @@ public enum OesVertexArrayObject : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
public enum OpenGlescoreVersions : int
{
///
@@ -14604,6 +14732,8 @@ public enum PrimitiveType : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum QcomdriverControl : int
{
///
@@ -14615,6 +14745,7 @@ public enum QcomdriverControl : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum QcomDriverControl : int
{
}
@@ -14680,6 +14811,8 @@ public enum QcomExtendedGet2 : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
+ [CLSCompliant(false)]
public enum QcomperfmonGlobalMode : int
{
///
@@ -14695,6 +14828,7 @@ public enum QcomperfmonGlobalMode : int
///
/// Not used directly.
///
+ [CLSCompliant(false)]
public enum QcomPerfmonGlobalMode : int
{
///
@@ -15135,6 +15269,7 @@ public enum TexCoordPointerType : int
///
/// Not used directly.
///
+ [Obsolete("Use enum with correct capitalisation instead.")]
public enum TextureCombineDot3 : int
{
///
diff --git a/Source/OpenTK/Graphics/ES20/ES20.cs b/Source/OpenTK/Graphics/ES20/ES20.cs
index b8df17990..a3d3a1002 100644
--- a/Source/OpenTK/Graphics/ES20/ES20.cs
+++ b/Source/OpenTK/Graphics/ES20/ES20.cs
@@ -285,6 +285,7 @@ static GL()
103, 108, 80, 111, 112, 68, 101, 98, 117, 103, 71, 114, 111, 117, 112, 0,
103, 108, 80, 111, 112, 68, 101, 98, 117, 103, 71, 114, 111, 117, 112, 75, 72, 82, 0,
103, 108, 80, 111, 112, 71, 114, 111, 117, 112, 77, 97, 114, 107, 101, 114, 69, 88, 84, 0,
+ 103, 108, 80, 114, 105, 109, 105, 116, 105, 118, 101, 66, 111, 117, 110, 100, 105, 110, 103, 66, 111, 120, 69, 88, 84, 0,
103, 108, 80, 114, 111, 103, 114, 97, 109, 66, 105, 110, 97, 114, 121, 79, 69, 83, 0,
103, 108, 80, 114, 111, 103, 114, 97, 109, 80, 97, 114, 97, 109, 101, 116, 101, 114, 105, 69, 88, 84, 0,
103, 108, 80, 114, 111, 103, 114, 97, 109, 85, 110, 105, 102, 111, 114, 109, 49, 102, 69, 88, 84, 0,
@@ -666,137 +667,138 @@ static GL()
4939,
4958,
4978,
- 4997,
- 5020,
- 5042,
- 5065,
- 5087,
- 5110,
- 5133,
- 5157,
- 5179,
- 5202,
- 5224,
- 5247,
- 5270,
- 5294,
- 5316,
- 5339,
- 5361,
- 5384,
- 5407,
- 5431,
- 5453,
- 5476,
- 5498,
- 5521,
- 5544,
- 5568,
- 5597,
- 5628,
- 5659,
- 5688,
- 5719,
- 5750,
- 5779,
- 5810,
- 5841,
- 5858,
- 5878,
- 5899,
- 5917,
- 5940,
- 5955,
- 5972,
- 5985,
- 6009,
- 6031,
- 6069,
- 6107,
- 6143,
- 6179,
- 6214,
- 6251,
- 6268,
- 6293,
+ 5004,
+ 5023,
+ 5046,
+ 5068,
+ 5091,
+ 5113,
+ 5136,
+ 5159,
+ 5183,
+ 5205,
+ 5228,
+ 5250,
+ 5273,
+ 5296,
+ 5320,
+ 5342,
+ 5365,
+ 5387,
+ 5410,
+ 5433,
+ 5457,
+ 5479,
+ 5502,
+ 5524,
+ 5547,
+ 5570,
+ 5594,
+ 5623,
+ 5654,
+ 5685,
+ 5714,
+ 5745,
+ 5776,
+ 5805,
+ 5836,
+ 5867,
+ 5884,
+ 5904,
+ 5925,
+ 5943,
+ 5966,
+ 5981,
+ 5998,
+ 6011,
+ 6035,
+ 6057,
+ 6095,
+ 6133,
+ 6169,
+ 6205,
+ 6240,
+ 6277,
+ 6294,
6319,
- 6329,
- 6360,
- 6373,
- 6388,
- 6403,
- 6421,
- 6435,
- 6457,
- 6471,
- 6493,
- 6505,
- 6525,
- 6539,
- 6554,
- 6574,
- 6587,
- 6603,
- 6619,
- 6636,
- 6652,
- 6673,
- 6695,
- 6712,
- 6730,
- 6748,
- 6766,
- 6795,
- 6811,
- 6830,
- 6852,
- 6874,
- 6896,
- 6913,
- 6925,
- 6938,
- 6950,
- 6963,
- 6975,
- 6988,
- 7000,
- 7013,
- 7025,
- 7038,
- 7050,
- 7063,
- 7075,
- 7088,
- 7100,
- 7113,
- 7132,
- 7155,
- 7178,
- 7197,
- 7220,
- 7243,
- 7262,
- 7285,
- 7308,
- 7325,
- 7338,
- 7360,
- 7382,
- 7400,
- 7429,
- 7446,
- 7464,
- 7481,
- 7499,
- 7516,
- 7534,
- 7551,
- 7569,
- 7596,
- 7621,
- 7645,
- 7667,
- 7678,
+ 6345,
+ 6355,
+ 6386,
+ 6399,
+ 6414,
+ 6429,
+ 6447,
+ 6461,
+ 6483,
+ 6497,
+ 6519,
+ 6531,
+ 6551,
+ 6565,
+ 6580,
+ 6600,
+ 6613,
+ 6629,
+ 6645,
+ 6662,
+ 6678,
+ 6699,
+ 6721,
+ 6738,
+ 6756,
+ 6774,
+ 6792,
+ 6821,
+ 6837,
+ 6856,
+ 6878,
+ 6900,
+ 6922,
+ 6939,
+ 6951,
+ 6964,
+ 6976,
+ 6989,
+ 7001,
+ 7014,
+ 7026,
+ 7039,
+ 7051,
+ 7064,
+ 7076,
+ 7089,
+ 7101,
+ 7114,
+ 7126,
+ 7139,
+ 7158,
+ 7181,
+ 7204,
+ 7223,
+ 7246,
+ 7269,
+ 7288,
+ 7311,
+ 7334,
+ 7351,
+ 7364,
+ 7386,
+ 7408,
+ 7426,
+ 7455,
+ 7472,
+ 7490,
+ 7507,
+ 7525,
+ 7542,
+ 7560,
+ 7577,
+ 7595,
+ 7622,
+ 7647,
+ 7671,
+ 7693,
+ 7704,
};
EntryPoints = new IntPtr[EntryPointNameOffsets.Length];
}
@@ -10101,7 +10103,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -10117,7 +10119,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -10133,7 +10135,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -10149,7 +10151,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -10165,7 +10167,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -10181,7 +10183,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -10197,7 +10199,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -10213,7 +10215,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -10229,7 +10231,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -10245,7 +10247,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -10261,7 +10263,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -10277,7 +10279,7 @@ public static void GetPointer(OpenTK.Graphics.ES20.GetPointervPName pname, [
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -15100,7 +15102,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*1]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -15116,7 +15118,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*1]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -15132,7 +15134,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*1]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -15160,7 +15162,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*1]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -15176,7 +15178,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*1]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -15192,7 +15194,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*1]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -15223,7 +15225,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*2]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -15239,7 +15241,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*2]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -15255,7 +15257,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*2]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -15286,7 +15288,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*2]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2iv")]
@@ -15302,7 +15304,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*2]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2iv")]
@@ -15336,7 +15338,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*3]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3fv")]
@@ -15352,7 +15354,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*3]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3fv")]
@@ -15368,7 +15370,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*3]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3fv")]
@@ -15402,7 +15404,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*3]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3iv")]
@@ -15418,7 +15420,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*3]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3iv")]
@@ -15434,7 +15436,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*3]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3iv")]
@@ -15471,7 +15473,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*4]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4fv")]
@@ -15487,7 +15489,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*4]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4fv")]
@@ -15503,7 +15505,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*4]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4fv")]
@@ -15540,7 +15542,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*4]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4iv")]
@@ -15556,7 +15558,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*4]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4iv")]
@@ -15572,7 +15574,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
/// Specifies the new values to be used for the specified uniform variable.
///
- /// [length: count]
+ /// [length: count*4]
/// Specifies the new values to be used for the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4iv")]
@@ -15583,7 +15585,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
[CLSCompliant(false)]
public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -15592,7 +15594,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
[CLSCompliant(false)]
public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -15601,7 +15603,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -15610,7 +15612,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
[CLSCompliant(false)]
public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -15619,7 +15621,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
[CLSCompliant(false)]
public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -15628,7 +15630,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -15637,7 +15639,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
[CLSCompliant(false)]
public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -15646,7 +15648,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
[CLSCompliant(false)]
public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -15655,7 +15657,7 @@ public static void TexSubImage2D(OpenTK.Graphics.ES20.TextureTarget2d target
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -16948,6 +16950,7 @@ public static partial class Ext
///
/// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: Zero, One, SrcColor, OneMinusSrcColor, DstColor, OneMinusDstColor, SrcAlpha, OneMinusSrcAlpha, DstAlpha, OneMinusDstAlpha. ConstantColor, OneMinusConstantColor, ConstantAlpha, and OneMinusConstantAlpha. The initial value is Zero.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glBlendFunciEXT")]
[CLSCompliant(false)]
public static void BlendFunc(Int32 buf, OpenTK.Graphics.ES20.All src, OpenTK.Graphics.ES20.All dst) { throw new NotImplementedException(); }
@@ -16961,6 +16964,7 @@ public static partial class Ext
///
/// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: Zero, One, SrcColor, OneMinusSrcColor, DstColor, OneMinusDstColor, SrcAlpha, OneMinusSrcAlpha, DstAlpha, OneMinusDstAlpha. ConstantColor, OneMinusConstantColor, ConstantAlpha, and OneMinusConstantAlpha. The initial value is Zero.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glBlendFunciEXT")]
[CLSCompliant(false)]
public static void BlendFunc(UInt32 buf, OpenTK.Graphics.ES20.All src, OpenTK.Graphics.ES20.All dst) { throw new NotImplementedException(); }
@@ -17024,6 +17028,7 @@ public static partial class Ext
///
/// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all True, indicating that the color components can be written.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glColorMaskiEXT")]
[CLSCompliant(false)]
public static void ColorMask(Int32 index, bool r, bool g, bool b, bool a) { throw new NotImplementedException(); }
@@ -17043,6 +17048,7 @@ public static partial class Ext
///
/// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all True, indicating that the color components can be written.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glColorMaskiEXT")]
[CLSCompliant(false)]
public static void ColorMask(UInt32 index, bool r, bool g, bool b, bool a) { throw new NotImplementedException(); }
@@ -17797,6 +17803,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
/// Specifies a symbolic constant indicating a GL capability.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glEnableiEXT")]
[CLSCompliant(false)]
public static void Enable(OpenTK.Graphics.ES20.All target, Int32 index) { throw new NotImplementedException(); }
@@ -17807,6 +17814,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
/// Specifies a symbolic constant indicating a GL capability.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glEnableiEXT")]
[CLSCompliant(false)]
public static void Enable(OpenTK.Graphics.ES20.All target, UInt32 index) { throw new NotImplementedException(); }
@@ -19522,6 +19530,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
/// Specifies a symbolic constant indicating a GL capability.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glIsEnablediEXT")]
[CLSCompliant(false)]
public static bool IsEnabled(OpenTK.Graphics.ES20.All target, Int32 index) { throw new NotImplementedException(); }
@@ -19532,6 +19541,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
/// Specifies a symbolic constant indicating a GL capability.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glIsEnablediEXT")]
[CLSCompliant(false)]
public static bool IsEnabled(OpenTK.Graphics.ES20.All target, UInt32 index) { throw new NotImplementedException(); }
@@ -20528,6 +20538,18 @@ public static unsafe void MultiDrawElements(OpenTK.Graphics.ES20.PrimitiveTy
[AutoGenerated(Category = "EXT_debug_marker", Version = "", EntryPoint = "glPopGroupMarkerEXT")]
public static void PopGroupMarker() { throw new NotImplementedException(); }
+ /// [requires: EXT_primitive_bounding_box]
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ [AutoGenerated(Category = "EXT_primitive_bounding_box", Version = "", EntryPoint = "glPrimitiveBoundingBoxEXT")]
+ public static void PrimitiveBoundingBox(Single minX, Single minY, Single minZ, Single minW, Single maxX, Single maxY, Single maxZ, Single maxW) { throw new NotImplementedException(); }
+
/// [requires: EXT_separate_shader_objects]
/// Specify a parameter for a program object
///
@@ -26680,7 +26702,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -26689,7 +26711,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -26698,7 +26720,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x3fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -26707,7 +26729,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -26716,7 +26738,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -26725,7 +26747,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x4fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -26734,7 +26756,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -26743,7 +26765,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -26752,7 +26774,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x2fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -26761,7 +26783,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -26770,7 +26792,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -26779,7 +26801,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x4fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -26788,7 +26810,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -26797,7 +26819,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -26806,7 +26828,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x2fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -26815,7 +26837,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -26824,7 +26846,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -26833,7 +26855,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES20.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x3fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -31126,7 +31148,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
[Slot(176)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glGetPerfMonitorGroupStringAMD(UInt32 group, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] IntPtr groupString);
- [Slot(300)]
+ [Slot(301)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSelectPerfMonitorCountersAMD(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [OutAttribute] UInt32* counterList);
[Slot(28)]
@@ -31141,10 +31163,10 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
[Slot(205)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute] Int32* length, [OutAttribute] IntPtr source);
- [Slot(290)]
+ [Slot(291)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleANGLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(371)]
+ [Slot(372)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribDivisorANGLE(UInt32 index, UInt32 divisor);
[Slot(37)]
@@ -31167,14 +31189,14 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
static extern unsafe void glGetSyncivAPPLE(IntPtr sync, System.Int32 pname, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* values);
[Slot(224)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsSyncAPPLE(IntPtr sync);
- [Slot(291)]
+ static extern byte glIsSyncAPPLE(IntPtr sync);
+ [Slot(292)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleAPPLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(295)]
+ [Slot(296)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glResolveMultisampleFramebufferAPPLE();
- [Slot(376)]
+ [Slot(377)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glWaitSyncAPPLE(IntPtr sync, System.Int32 flags, UInt64 timeout);
[Slot(2)]
@@ -31443,25 +31465,25 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
static extern void glHint(System.Int32 target, System.Int32 mode);
[Slot(214)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsBuffer(UInt32 buffer);
+ static extern byte glIsBuffer(UInt32 buffer);
[Slot(215)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsEnabled(System.Int32 cap);
+ static extern byte glIsEnabled(System.Int32 cap);
[Slot(218)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsFramebuffer(UInt32 framebuffer);
+ static extern byte glIsFramebuffer(UInt32 framebuffer);
[Slot(219)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsProgram(UInt32 program);
+ static extern byte glIsProgram(UInt32 program);
[Slot(222)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsRenderbuffer(UInt32 renderbuffer);
+ static extern byte glIsRenderbuffer(UInt32 renderbuffer);
[Slot(223)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsShader(UInt32 shader);
+ static extern byte glIsShader(UInt32 shader);
[Slot(225)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsTexture(UInt32 texture);
+ static extern byte glIsTexture(UInt32 texture);
[Slot(228)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glLineWidth(Single width);
@@ -31483,157 +31505,157 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
[Slot(242)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPopDebugGroup();
- [Slot(280)]
+ [Slot(281)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPushDebugGroup(System.Int32 source, UInt32 id, Int32 length, IntPtr message);
- [Slot(287)]
+ [Slot(288)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, System.Int32 format, System.Int32 type, [OutAttribute] IntPtr pixels);
- [Slot(288)]
+ [Slot(289)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReleaseShaderCompiler();
- [Slot(289)]
+ [Slot(290)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorage(System.Int32 target, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(296)]
+ [Slot(297)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glSampleCoverage(Single value, bool invert);
- [Slot(299)]
+ [Slot(300)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glScissor(Int32 x, Int32 y, Int32 width, Int32 height);
- [Slot(302)]
+ [Slot(303)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glShaderBinary(Int32 count, UInt32* shaders, System.Int32 binaryformat, IntPtr binary, Int32 length);
- [Slot(303)]
+ [Slot(304)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glShaderSource(UInt32 shader, Int32 count, IntPtr @string, Int32* length);
- [Slot(305)]
+ [Slot(306)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilFunc(System.Int32 func, Int32 @ref, UInt32 mask);
- [Slot(306)]
+ [Slot(307)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilFuncSeparate(System.Int32 face, System.Int32 func, Int32 @ref, UInt32 mask);
- [Slot(307)]
+ [Slot(308)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilMask(UInt32 mask);
- [Slot(308)]
+ [Slot(309)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilMaskSeparate(System.Int32 face, UInt32 mask);
- [Slot(309)]
+ [Slot(310)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilOp(System.Int32 fail, System.Int32 zfail, System.Int32 zpass);
- [Slot(310)]
+ [Slot(311)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilOpSeparate(System.Int32 face, System.Int32 sfail, System.Int32 dpfail, System.Int32 dppass);
- [Slot(314)]
+ [Slot(315)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexImage2D(System.Int32 target, Int32 level, System.Int32 internalformat, Int32 width, Int32 height, Int32 border, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(316)]
+ [Slot(317)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexParameterf(System.Int32 target, System.Int32 pname, Single param);
- [Slot(317)]
+ [Slot(318)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameterfv(System.Int32 target, System.Int32 pname, Single* @params);
- [Slot(318)]
+ [Slot(319)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexParameteri(System.Int32 target, System.Int32 pname, Int32 param);
- [Slot(321)]
+ [Slot(322)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameteriv(System.Int32 target, System.Int32 pname, Int32* @params);
- [Slot(326)]
+ [Slot(327)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexSubImage2D(System.Int32 target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(332)]
+ [Slot(333)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform1f(Int32 location, Single v0);
- [Slot(333)]
+ [Slot(334)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform1fv(Int32 location, Int32 count, Single* value);
- [Slot(334)]
+ [Slot(335)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform1i(Int32 location, Int32 v0);
- [Slot(335)]
+ [Slot(336)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform1iv(Int32 location, Int32 count, Int32* value);
- [Slot(336)]
+ [Slot(337)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform2f(Int32 location, Single v0, Single v1);
- [Slot(337)]
+ [Slot(338)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform2fv(Int32 location, Int32 count, Single* value);
- [Slot(338)]
+ [Slot(339)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform2i(Int32 location, Int32 v0, Int32 v1);
- [Slot(339)]
+ [Slot(340)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform2iv(Int32 location, Int32 count, Int32* value);
- [Slot(340)]
+ [Slot(341)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform3f(Int32 location, Single v0, Single v1, Single v2);
- [Slot(341)]
+ [Slot(342)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform3fv(Int32 location, Int32 count, Single* value);
- [Slot(342)]
+ [Slot(343)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2);
- [Slot(343)]
+ [Slot(344)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform3iv(Int32 location, Int32 count, Int32* value);
- [Slot(344)]
+ [Slot(345)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3);
- [Slot(345)]
+ [Slot(346)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform4fv(Int32 location, Int32 count, Single* value);
- [Slot(346)]
+ [Slot(347)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
- [Slot(347)]
+ [Slot(348)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform4iv(Int32 location, Int32 count, Int32* value);
- [Slot(348)]
+ [Slot(349)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(351)]
+ [Slot(352)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(354)]
+ [Slot(355)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(358)]
+ [Slot(359)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUseProgram(UInt32 program);
- [Slot(361)]
+ [Slot(362)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glValidateProgram(UInt32 program);
- [Slot(363)]
+ [Slot(364)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib1f(UInt32 index, Single x);
- [Slot(364)]
+ [Slot(365)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib1fv(UInt32 index, Single* v);
- [Slot(365)]
+ [Slot(366)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib2f(UInt32 index, Single x, Single y);
- [Slot(366)]
+ [Slot(367)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib2fv(UInt32 index, Single* v);
- [Slot(367)]
+ [Slot(368)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib3f(UInt32 index, Single x, Single y, Single z);
- [Slot(368)]
+ [Slot(369)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib3fv(UInt32 index, Single* v);
- [Slot(369)]
+ [Slot(370)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w);
- [Slot(370)]
+ [Slot(371)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib4fv(UInt32 index, Single* v);
- [Slot(374)]
+ [Slot(375)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribPointer(UInt32 index, Int32 size, System.Int32 type, bool normalized, Int32 stride, IntPtr pointer);
- [Slot(375)]
+ [Slot(376)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glViewport(Int32 x, Int32 y, Int32 width, Int32 height);
[Slot(0)]
@@ -31773,13 +31795,13 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
static extern void glInsertEventMarkerEXT(Int32 length, IntPtr marker);
[Slot(216)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsEnablediEXT(System.Int32 target, UInt32 index);
+ static extern byte glIsEnablediEXT(System.Int32 target, UInt32 index);
[Slot(220)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsProgramPipelineEXT(UInt32 pipeline);
+ static extern byte glIsProgramPipelineEXT(UInt32 pipeline);
[Slot(221)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsQueryEXT(UInt32 id);
+ static extern byte glIsQueryEXT(UInt32 id);
[Slot(227)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glLabelObjectEXT(System.Int32 type, UInt32 @object, Int32 length, IntPtr label);
@@ -31798,178 +31820,181 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
[Slot(244)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPopGroupMarkerEXT();
- [Slot(246)]
+ [Slot(245)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramParameteriEXT(UInt32 program, System.Int32 pname, Int32 value);
+ static extern void glPrimitiveBoundingBoxEXT(Single minX, Single minY, Single minZ, Single minW, Single maxX, Single maxY, Single maxZ, Single maxW);
[Slot(247)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform1fEXT(UInt32 program, Int32 location, Single v0);
+ static extern void glProgramParameteriEXT(UInt32 program, System.Int32 pname, Int32 value);
[Slot(248)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform1fEXT(UInt32 program, Int32 location, Single v0);
[Slot(249)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0);
+ static extern unsafe void glProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(250)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0);
[Slot(251)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0);
+ static extern unsafe void glProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(252)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0);
[Slot(253)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1);
+ static extern unsafe void glProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(254)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1);
[Slot(255)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1);
+ static extern unsafe void glProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(256)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1);
[Slot(257)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1);
+ static extern unsafe void glProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(258)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1);
[Slot(259)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2);
+ static extern unsafe void glProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(260)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2);
[Slot(261)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2);
+ static extern unsafe void glProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(262)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2);
[Slot(263)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
+ static extern unsafe void glProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(264)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
[Slot(265)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3);
+ static extern unsafe void glProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(266)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3);
[Slot(267)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
+ static extern unsafe void glProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(268)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
[Slot(269)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
+ static extern unsafe void glProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(270)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
[Slot(271)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(272)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(273)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(274)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(275)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(276)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(277)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(278)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(279)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
+ static extern unsafe void glProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ [Slot(280)]
+ [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glProgramUniformMatrix4x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(282)]
+ [Slot(283)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPushGroupMarkerEXT(Int32 length, IntPtr marker);
- [Slot(283)]
+ [Slot(284)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glQueryCounterEXT(UInt32 id, System.Int32 target);
- [Slot(284)]
+ [Slot(285)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadBufferIndexedEXT(System.Int32 src, Int32 index);
- [Slot(286)]
+ [Slot(287)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadnPixelsEXT(Int32 x, Int32 y, Int32 width, Int32 height, System.Int32 format, System.Int32 type, Int32 bufSize, [OutAttribute] IntPtr data);
- [Slot(292)]
+ [Slot(293)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleEXT(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(297)]
+ [Slot(298)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSamplerParameterIivEXT(UInt32 sampler, System.Int32 pname, Int32* param);
- [Slot(298)]
+ [Slot(299)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSamplerParameterIuivEXT(UInt32 sampler, System.Int32 pname, UInt32* param);
- [Slot(312)]
+ [Slot(313)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexBufferEXT(System.Int32 target, System.Int32 internalformat, UInt32 buffer);
- [Slot(313)]
+ [Slot(314)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexBufferRangeEXT(System.Int32 target, System.Int32 internalformat, UInt32 buffer, IntPtr offset, IntPtr size);
- [Slot(319)]
+ [Slot(320)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameterIivEXT(System.Int32 target, System.Int32 pname, Int32* @params);
- [Slot(320)]
+ [Slot(321)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameterIuivEXT(System.Int32 target, System.Int32 pname, UInt32* @params);
- [Slot(322)]
+ [Slot(323)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage1DEXT(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width);
- [Slot(323)]
+ [Slot(324)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage2DEXT(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(324)]
+ [Slot(325)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage3DEXT(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth);
- [Slot(328)]
+ [Slot(329)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureStorage1DEXT(UInt32 texture, System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width);
- [Slot(329)]
+ [Slot(330)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureStorage2DEXT(UInt32 texture, System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(330)]
+ [Slot(331)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureStorage3DEXT(UInt32 texture, System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth);
- [Slot(331)]
+ [Slot(332)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureViewEXT(UInt32 texture, System.Int32 target, UInt32 origtexture, System.Int32 internalformat, UInt32 minlevel, UInt32 numlevels, UInt32 minlayer, UInt32 numlayers);
- [Slot(359)]
+ [Slot(360)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUseProgramStagesEXT(UInt32 pipeline, UInt32 stages, UInt32 program);
- [Slot(360)]
+ [Slot(361)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUseShaderProgramEXT(System.Int32 type, UInt32 program);
- [Slot(362)]
+ [Slot(363)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glValidateProgramPipelineEXT(UInt32 pipeline);
- [Slot(372)]
+ [Slot(373)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribDivisorEXT(UInt32 index, UInt32 divisor);
[Slot(128)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glFramebufferTexture2DMultisampleIMG(System.Int32 target, System.Int32 attachment, System.Int32 textarget, UInt32 texture, Int32 level, Int32 samples);
- [Slot(293)]
+ [Slot(294)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleIMG(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
[Slot(6)]
@@ -32035,7 +32060,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
[Slot(243)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPopDebugGroupKHR();
- [Slot(281)]
+ [Slot(282)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPushDebugGroupKHR(System.Int32 source, UInt32 id, Int32 length, IntPtr message);
[Slot(16)]
@@ -32079,38 +32104,38 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
static extern unsafe void glGetFenceivNV(UInt32 fence, System.Int32 pname, [OutAttribute] Int32* @params);
[Slot(217)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsFenceNV(UInt32 fence);
- [Slot(285)]
+ static extern byte glIsFenceNV(UInt32 fence);
+ [Slot(286)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadBufferNV(System.Int32 mode);
- [Slot(294)]
+ [Slot(295)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleNV(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(301)]
+ [Slot(302)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glSetFenceNV(UInt32 fence, System.Int32 condition);
- [Slot(311)]
+ [Slot(312)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glTestFenceNV(UInt32 fence);
- [Slot(349)]
+ static extern byte glTestFenceNV(UInt32 fence);
+ [Slot(350)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2x3fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(350)]
+ [Slot(351)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2x4fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(352)]
+ [Slot(353)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3x2fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(353)]
+ [Slot(354)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3x4fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(355)]
+ [Slot(356)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4x2fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(356)]
+ [Slot(357)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4x3fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(373)]
+ [Slot(374)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribDivisorNV(UInt32 index, UInt32 divisor);
[Slot(14)]
@@ -32148,28 +32173,28 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
static extern unsafe void glGetProgramBinaryOES(UInt32 program, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] System.Int32* binaryFormat, [OutAttribute] IntPtr binary);
[Slot(226)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsVertexArrayOES(UInt32 array);
+ static extern byte glIsVertexArrayOES(UInt32 array);
[Slot(230)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern IntPtr glMapBufferOES(System.Int32 target, System.Int32 access);
[Slot(232)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glMinSampleShadingOES(Single value);
- [Slot(245)]
+ [Slot(246)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glProgramBinaryOES(UInt32 program, System.Int32 binaryFormat, IntPtr binary, Int32 length);
- [Slot(315)]
+ [Slot(316)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexImage3DOES(System.Int32 target, Int32 level, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(325)]
+ [Slot(326)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage3DMultisampleOES(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations);
- [Slot(327)]
+ [Slot(328)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexSubImage3DOES(System.Int32 target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(357)]
+ [Slot(358)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glUnmapBufferOES(System.Int32 target);
+ static extern byte glUnmapBufferOES(System.Int32 target);
[Slot(3)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glAlphaFuncQCOM(System.Int32 func, Single @ref);
@@ -32214,7 +32239,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
static extern unsafe void glExtGetTexturesQCOM([OutAttribute] UInt32* textures, Int32 maxTextures, [OutAttribute] Int32* numTextures);
[Slot(118)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glExtIsProgramBinaryQCOM(UInt32 program);
+ static extern byte glExtIsProgramBinaryQCOM(UInt32 program);
[Slot(119)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glExtTexObjectStateOverrideiQCOM(System.Int32 target, System.Int32 pname, Int32 param);
@@ -32224,7 +32249,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES20.All target, Int32
[Slot(152)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glGetDriverControlStringQCOM(UInt32 driverControl, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] IntPtr driverControlString);
- [Slot(304)]
+ [Slot(305)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStartTilingQCOM(UInt32 x, UInt32 y, UInt32 width, UInt32 height, UInt32 preserveMask);
}
diff --git a/Source/OpenTK/Graphics/ES20/ES20Enums.cs b/Source/OpenTK/Graphics/ES20/ES20Enums.cs
index 704fb6d65..443263a35 100644
--- a/Source/OpenTK/Graphics/ES20/ES20Enums.cs
+++ b/Source/OpenTK/Graphics/ES20/ES20Enums.cs
@@ -7646,6 +7646,10 @@ public enum All : int
///
InvertOvgNv = ((int)0x92B4) ,
///
+ /// Original was GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE
+ ///
+ PrimitiveBoundingBoxExt = ((int)0x92BE) ,
+ ///
/// Original was GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD
///
MaxTessControlAtomicCounterBuffersExt = ((int)0x92CD) ,
@@ -8154,6 +8158,13 @@ public enum AmdProgramBinaryZ400 : int
Z400BinaryAmd = ((int)0x8740) ,
}
+ ///
+ /// Not used directly.
+ ///
+ public enum AndroidExtensionPackEs31a : int
+ {
+ }
+
///
/// Not used directly.
///
@@ -11940,6 +11951,13 @@ public enum ExtDrawInstanced : int
{
}
+ ///
+ /// Not used directly.
+ ///
+ public enum ExtGeometryPointSize : int
+ {
+ }
+
///
/// Not used directly.
///
@@ -12212,6 +12230,17 @@ public enum ExtOcclusionQueryBoolean : int
AnySamplesPassedConservativeExt = ((int)0x8D6A) ,
}
+ ///
+ /// Not used directly.
+ ///
+ public enum ExtPrimitiveBoundingBox : int
+ {
+ ///
+ /// Original was GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE
+ ///
+ PrimitiveBoundingBoxExt = ((int)0x92BE) ,
+ }
+
///
/// Not used directly.
///
@@ -12447,6 +12476,13 @@ public enum ExtSrgbWriteControl : int
FramebufferSrgbExt = ((int)0x8DB9) ,
}
+ ///
+ /// Not used directly.
+ ///
+ public enum ExtTessellationPointSize : int
+ {
+ }
+
///
/// Not used directly.
///
diff --git a/Source/OpenTK/Graphics/ES20/Helper.cs b/Source/OpenTK/Graphics/ES20/Helper.cs
index 1307d55d0..cf0556be6 100644
--- a/Source/OpenTK/Graphics/ES20/Helper.cs
+++ b/Source/OpenTK/Graphics/ES20/Helper.cs
@@ -458,15 +458,41 @@ public static void Viewport(OpenTK.Rectangle rectangle)
#endregion
}
+ #pragma warning disable 1574 // XML comment cref attribute could not be resolved, compiler bug in Mono 3.4.0
+
+ ///
+ /// Defines the signature of a debug callback for
+ /// .
+ ///
+ /// The for this debug message.
+ /// The for this debug message.
+ /// The id of this debug message.
+ /// The for this debug message.
+ /// The length of this debug message.
+ /// A pointer to a null-terminated ASCII C string, representing the content of this debug message.
+ /// A pointer to a user-specified parameter.
[UnmanagedFunctionPointer(CallingConvention.Winapi)]
public delegate void DebugProc(
DebugSource source, DebugType type, int id,
DebugSeverity severity, int length, IntPtr message,
IntPtr userParam);
+ ///
+ /// Defines the signature of a debug callback for
+ /// .
+ ///
+ /// The for this debug message.
+ /// The for this debug message.
+ /// The id of this debug message.
+ /// The for this debug message.
+ /// The length of this debug message.
+ /// A pointer to a null-terminated ASCII C string, representing the content of this debug message.
+ /// A pointer to a user-specified parameter.
[UnmanagedFunctionPointer(CallingConvention.Winapi)]
public delegate void DebugProcKhr(
DebugSource source, DebugType type, int id,
DebugSeverity severity, int length, IntPtr message,
IntPtr userParam);
+
+ #pragma warning restore 1574 // XML comment cref attribute could not be resolved, compiler bug in Mono 3.4.0
}
diff --git a/Source/OpenTK/Graphics/ES30/ES30.cs b/Source/OpenTK/Graphics/ES30/ES30.cs
index ecef1ad4b..fc670abe8 100644
--- a/Source/OpenTK/Graphics/ES30/ES30.cs
+++ b/Source/OpenTK/Graphics/ES30/ES30.cs
@@ -352,6 +352,7 @@ static GL()
103, 108, 80, 111, 112, 68, 101, 98, 117, 103, 71, 114, 111, 117, 112, 0,
103, 108, 80, 111, 112, 68, 101, 98, 117, 103, 71, 114, 111, 117, 112, 75, 72, 82, 0,
103, 108, 80, 111, 112, 71, 114, 111, 117, 112, 77, 97, 114, 107, 101, 114, 69, 88, 84, 0,
+ 103, 108, 80, 114, 105, 109, 105, 116, 105, 118, 101, 66, 111, 117, 110, 100, 105, 110, 103, 66, 111, 120, 69, 88, 84, 0,
103, 108, 80, 114, 111, 103, 114, 97, 109, 66, 105, 110, 97, 114, 121, 0,
103, 108, 80, 114, 111, 103, 114, 97, 109, 66, 105, 110, 97, 114, 121, 79, 69, 83, 0,
103, 108, 80, 114, 111, 103, 114, 97, 109, 80, 97, 114, 97, 109, 101, 116, 101, 114, 105, 0,
@@ -837,174 +838,175 @@ static GL()
6231,
6250,
6270,
- 6286,
- 6305,
- 6325,
- 6348,
- 6370,
- 6393,
- 6415,
- 6438,
- 6461,
- 6485,
- 6507,
- 6530,
- 6552,
- 6575,
- 6598,
- 6622,
- 6644,
- 6667,
- 6689,
- 6712,
- 6735,
- 6759,
- 6781,
- 6804,
- 6826,
- 6849,
- 6872,
- 6896,
- 6925,
- 6956,
- 6987,
- 7016,
- 7047,
- 7078,
- 7107,
- 7138,
- 7169,
- 7186,
- 7206,
- 7227,
- 7245,
- 7258,
- 7281,
- 7296,
- 7313,
- 7326,
- 7350,
- 7372,
- 7405,
- 7443,
- 7481,
- 7517,
- 7553,
- 7588,
- 7625,
+ 6296,
+ 6312,
+ 6331,
+ 6351,
+ 6374,
+ 6396,
+ 6419,
+ 6441,
+ 6464,
+ 6487,
+ 6511,
+ 6533,
+ 6556,
+ 6578,
+ 6601,
+ 6624,
+ 6648,
+ 6670,
+ 6693,
+ 6715,
+ 6738,
+ 6761,
+ 6785,
+ 6807,
+ 6830,
+ 6852,
+ 6875,
+ 6898,
+ 6922,
+ 6951,
+ 6982,
+ 7013,
+ 7042,
+ 7073,
+ 7104,
+ 7133,
+ 7164,
+ 7195,
+ 7212,
+ 7232,
+ 7253,
+ 7271,
+ 7284,
+ 7307,
+ 7322,
+ 7339,
+ 7352,
+ 7376,
+ 7398,
+ 7431,
+ 7469,
+ 7507,
+ 7543,
+ 7579,
+ 7614,
7651,
- 7668,
- 7688,
- 7709,
- 7729,
- 7754,
+ 7677,
+ 7694,
+ 7714,
+ 7735,
+ 7755,
7780,
- 7801,
- 7811,
- 7842,
- 7855,
- 7870,
- 7885,
- 7903,
- 7917,
- 7939,
- 7953,
- 7975,
- 7987,
- 8007,
- 8021,
- 8036,
- 8056,
- 8069,
+ 7806,
+ 7827,
+ 7837,
+ 7868,
+ 7881,
+ 7896,
+ 7911,
+ 7929,
+ 7943,
+ 7965,
+ 7979,
+ 8001,
+ 8013,
+ 8033,
+ 8047,
+ 8062,
8082,
- 8098,
- 8114,
- 8131,
- 8147,
- 8168,
- 8190,
- 8207,
- 8225,
- 8240,
- 8258,
- 8273,
- 8291,
- 8320,
- 8336,
- 8352,
- 8371,
- 8393,
- 8415,
- 8437,
- 8454,
- 8482,
- 8494,
- 8507,
- 8519,
- 8532,
+ 8095,
+ 8108,
+ 8124,
+ 8140,
+ 8157,
+ 8173,
+ 8194,
+ 8216,
+ 8233,
+ 8251,
+ 8266,
+ 8284,
+ 8299,
+ 8317,
+ 8346,
+ 8362,
+ 8378,
+ 8397,
+ 8419,
+ 8441,
+ 8463,
+ 8480,
+ 8508,
+ 8520,
+ 8533,
8545,
- 8559,
+ 8558,
8571,
- 8584,
- 8596,
- 8609,
+ 8585,
+ 8597,
+ 8610,
8622,
- 8636,
+ 8635,
8648,
- 8661,
- 8673,
- 8686,
+ 8662,
+ 8674,
+ 8687,
8699,
- 8713,
+ 8712,
8725,
- 8738,
- 8750,
- 8763,
+ 8739,
+ 8751,
+ 8764,
8776,
- 8790,
- 8812,
- 8831,
- 8852,
- 8875,
- 8896,
- 8919,
- 8938,
- 8959,
- 8982,
- 9003,
- 9026,
- 9045,
- 9066,
- 9089,
- 9110,
- 9133,
- 9147,
- 9164,
- 9177,
- 9199,
- 9221,
- 9239,
- 9268,
- 9285,
- 9303,
- 9320,
- 9338,
- 9355,
- 9373,
- 9390,
- 9408,
- 9430,
- 9457,
- 9482,
- 9506,
- 9524,
- 9543,
- 9562,
- 9582,
- 9605,
- 9627,
- 9638,
- 9649,
+ 8789,
+ 8802,
+ 8816,
+ 8838,
+ 8857,
+ 8878,
+ 8901,
+ 8922,
+ 8945,
+ 8964,
+ 8985,
+ 9008,
+ 9029,
+ 9052,
+ 9071,
+ 9092,
+ 9115,
+ 9136,
+ 9159,
+ 9173,
+ 9190,
+ 9203,
+ 9225,
+ 9247,
+ 9265,
+ 9294,
+ 9311,
+ 9329,
+ 9346,
+ 9364,
+ 9381,
+ 9399,
+ 9416,
+ 9434,
+ 9456,
+ 9483,
+ 9508,
+ 9532,
+ 9550,
+ 9569,
+ 9588,
+ 9608,
+ 9631,
+ 9653,
+ 9664,
+ 9675,
};
EntryPoints = new IntPtr[EntryPointNameOffsets.Length];
}
@@ -10046,7 +10048,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -10065,7 +10067,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -10084,7 +10086,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -10103,7 +10105,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10123,7 +10125,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10143,7 +10145,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10163,7 +10165,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -10182,7 +10184,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -10201,7 +10203,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -10220,7 +10222,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10240,7 +10242,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10260,7 +10262,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10371,7 +10373,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformsiv")]
@@ -10393,7 +10395,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10416,7 +10418,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformsiv")]
@@ -10438,7 +10440,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10461,7 +10463,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformsiv")]
@@ -10483,7 +10485,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10506,7 +10508,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformsiv")]
@@ -10528,7 +10530,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10551,7 +10553,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformsiv")]
@@ -10573,7 +10575,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -10596,7 +10598,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glGetActiveUniformsiv")]
@@ -10618,7 +10620,7 @@ public static void DrawRangeElements(OpenTK.Graphics.ES30.PrimitiveType mode
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[Obsolete("Use strongly-typed overload instead")]
@@ -15660,7 +15662,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -15676,7 +15678,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -15692,7 +15694,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -15708,7 +15710,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -15724,7 +15726,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -15740,7 +15742,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -15870,7 +15872,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -15886,7 +15888,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -15902,7 +15904,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -15918,7 +15920,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -15934,7 +15936,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -15950,7 +15952,7 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -22532,7 +22534,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -22548,7 +22550,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -22564,7 +22566,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -22592,7 +22594,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -22608,7 +22610,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -22624,7 +22626,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -22653,7 +22655,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniform1uiv")]
@@ -22669,7 +22671,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniform1uiv")]
@@ -22685,7 +22687,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniform1uiv")]
@@ -22716,7 +22718,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -22732,7 +22734,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -22748,7 +22750,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -22779,7 +22781,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2iv")]
@@ -22795,7 +22797,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2iv")]
@@ -22893,7 +22895,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3fv")]
@@ -22909,7 +22911,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3fv")]
@@ -22925,7 +22927,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3fv")]
@@ -22959,7 +22961,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3iv")]
@@ -22975,7 +22977,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3iv")]
@@ -22991,7 +22993,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform3iv")]
@@ -23095,7 +23097,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4fv")]
@@ -23111,7 +23113,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4fv")]
@@ -23127,7 +23129,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4fv")]
@@ -23164,7 +23166,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4iv")]
@@ -23180,7 +23182,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4iv")]
@@ -23196,7 +23198,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniform4iv")]
@@ -23309,7 +23311,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
[CLSCompliant(false)]
public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23318,7 +23320,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
[CLSCompliant(false)]
public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23327,7 +23329,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23336,7 +23338,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix2x3fv")]
[CLSCompliant(false)]
public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23345,7 +23347,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix2x3fv")]
[CLSCompliant(false)]
public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23354,7 +23356,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix2x3fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23363,7 +23365,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix2x4fv")]
[CLSCompliant(false)]
public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23372,7 +23374,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix2x4fv")]
[CLSCompliant(false)]
public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23381,7 +23383,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix2x4fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23390,7 +23392,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
[CLSCompliant(false)]
public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23399,7 +23401,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
[CLSCompliant(false)]
public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23408,7 +23410,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23417,7 +23419,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix3x2fv")]
[CLSCompliant(false)]
public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23426,7 +23428,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix3x2fv")]
[CLSCompliant(false)]
public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23435,7 +23437,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix3x2fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23444,7 +23446,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix3x4fv")]
[CLSCompliant(false)]
public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23453,7 +23455,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix3x4fv")]
[CLSCompliant(false)]
public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23462,7 +23464,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix3x4fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23471,7 +23473,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
[CLSCompliant(false)]
public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23480,7 +23482,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
[CLSCompliant(false)]
public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23489,7 +23491,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ES_VERSION_2_0", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23498,7 +23500,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix4x2fv")]
[CLSCompliant(false)]
public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23507,7 +23509,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix4x2fv")]
[CLSCompliant(false)]
public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23516,7 +23518,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix4x2fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -23525,7 +23527,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix4x3fv")]
[CLSCompliant(false)]
public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -23534,7 +23536,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix4x3fv")]
[CLSCompliant(false)]
public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -23543,7 +23545,7 @@ public static void TexSubImage3D(OpenTK.Graphics.ES30.TextureTarget3d targe
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glUniformMatrix4x3fv")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -25248,6 +25250,7 @@ public static partial class Ext
///
/// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: Zero, One, SrcColor, OneMinusSrcColor, DstColor, OneMinusDstColor, SrcAlpha, OneMinusSrcAlpha, DstAlpha, OneMinusDstAlpha. ConstantColor, OneMinusConstantColor, ConstantAlpha, and OneMinusConstantAlpha. The initial value is Zero.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glBlendFunciEXT")]
[CLSCompliant(false)]
public static void BlendFunc(Int32 buf, OpenTK.Graphics.ES30.All src, OpenTK.Graphics.ES30.All dst) { throw new NotImplementedException(); }
@@ -25261,6 +25264,7 @@ public static partial class Ext
///
/// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: Zero, One, SrcColor, OneMinusSrcColor, DstColor, OneMinusDstColor, SrcAlpha, OneMinusSrcAlpha, DstAlpha, OneMinusDstAlpha. ConstantColor, OneMinusConstantColor, ConstantAlpha, and OneMinusConstantAlpha. The initial value is Zero.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glBlendFunciEXT")]
[CLSCompliant(false)]
public static void BlendFunc(UInt32 buf, OpenTK.Graphics.ES30.All src, OpenTK.Graphics.ES30.All dst) { throw new NotImplementedException(); }
@@ -25324,6 +25328,7 @@ public static partial class Ext
///
/// Specify whether red, green, blue, and alpha are to be written into the frame buffer. The initial values are all True, indicating that the color components are written.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glColorMaskiEXT")]
[CLSCompliant(false)]
public static void ColorMask(Int32 index, bool r, bool g, bool b, bool a) { throw new NotImplementedException(); }
@@ -25343,6 +25348,7 @@ public static partial class Ext
///
/// Specify whether red, green, blue, and alpha are to be written into the frame buffer. The initial values are all True, indicating that the color components are written.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glColorMaskiEXT")]
[CLSCompliant(false)]
public static void ColorMask(UInt32 index, bool r, bool g, bool b, bool a) { throw new NotImplementedException(); }
@@ -26097,6 +26103,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
/// Specifies a symbolic constant indicating a GL capability.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glEnableiEXT")]
[CLSCompliant(false)]
public static void Enable(OpenTK.Graphics.ES30.All target, Int32 index) { throw new NotImplementedException(); }
@@ -26107,6 +26114,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
/// Specifies a symbolic constant indicating a GL capability.
///
+ ///
[AutoGenerated(Category = "EXT_draw_buffers_indexed", Version = "", EntryPoint = "glEnableiEXT")]
[CLSCompliant(false)]
public static void Enable(OpenTK.Graphics.ES30.All target, UInt32 index) { throw new NotImplementedException(); }
@@ -28834,6 +28842,18 @@ public static unsafe void MultiDrawElements(OpenTK.Graphics.ES30.PrimitiveTy
[AutoGenerated(Category = "EXT_debug_marker", Version = "", EntryPoint = "glPopGroupMarkerEXT")]
public static void PopGroupMarker() { throw new NotImplementedException(); }
+ /// [requires: EXT_primitive_bounding_box]
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ [AutoGenerated(Category = "EXT_primitive_bounding_box", Version = "", EntryPoint = "glPrimitiveBoundingBoxEXT")]
+ public static void PrimitiveBoundingBox(Single minX, Single minY, Single minZ, Single minW, Single maxX, Single maxY, Single maxZ, Single maxW) { throw new NotImplementedException(); }
+
/// [requires: EXT_separate_shader_objects]
/// Specify a parameter for a program object
///
@@ -34986,7 +35006,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -34995,7 +35015,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -35004,7 +35024,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x3fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -35013,7 +35033,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -35022,7 +35042,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -35031,7 +35051,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix2x4fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -35040,7 +35060,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -35049,7 +35069,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -35058,7 +35078,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 6]
+ /// [length: count*6]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x2fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -35067,7 +35087,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -35076,7 +35096,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x4fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -35085,7 +35105,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix3x4fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -35094,7 +35114,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -35103,7 +35123,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x2fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -35112,7 +35132,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 8]
+ /// [length: count*8]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x2fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -35121,7 +35141,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -35130,7 +35150,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x3fvNV")]
[CLSCompliant(false)]
public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -35139,7 +35159,7 @@ public static void DrawElementsInstanced(OpenTK.Graphics.ES30.PrimitiveType
///
///
///
- /// [length: 12]
+ /// [length: count*12]
[AutoGenerated(Category = "NV_non_square_matrices", Version = "", EntryPoint = "glUniformMatrix4x3fvNV")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -39040,7 +39060,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
[Slot(221)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glGetPerfMonitorGroupStringAMD(UInt32 group, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] IntPtr groupString);
- [Slot(376)]
+ [Slot(377)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSelectPerfMonitorCountersAMD(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [OutAttribute] UInt32* counterList);
[Slot(36)]
@@ -39055,10 +39075,10 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
[Slot(258)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glGetTranslatedShaderSourceANGLE(UInt32 shader, Int32 bufsize, [OutAttribute] Int32* length, [OutAttribute] IntPtr source);
- [Slot(361)]
+ [Slot(362)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleANGLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(469)]
+ [Slot(470)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribDivisorANGLE(UInt32 index, UInt32 divisor);
[Slot(50)]
@@ -39081,14 +39101,14 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
static extern unsafe void glGetSyncivAPPLE(IntPtr sync, System.Int32 pname, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* values);
[Slot(287)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsSyncAPPLE(IntPtr sync);
- [Slot(362)]
+ static extern byte glIsSyncAPPLE(IntPtr sync);
+ [Slot(363)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleAPPLE(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(366)]
+ [Slot(367)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glResolveMultisampleFramebufferAPPLE();
- [Slot(480)]
+ [Slot(481)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glWaitSyncAPPLE(IntPtr sync, System.Int32 flags, UInt64 timeout);
[Slot(2)]
@@ -39537,40 +39557,40 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
static extern unsafe void glInvalidateSubFramebuffer(System.Int32 target, Int32 numAttachments, System.Int32* attachments, Int32 x, Int32 y, Int32 width, Int32 height);
[Slot(274)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsBuffer(UInt32 buffer);
+ static extern byte glIsBuffer(UInt32 buffer);
[Slot(275)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsEnabled(System.Int32 cap);
+ static extern byte glIsEnabled(System.Int32 cap);
[Slot(278)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsFramebuffer(UInt32 framebuffer);
+ static extern byte glIsFramebuffer(UInt32 framebuffer);
[Slot(279)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsProgram(UInt32 program);
+ static extern byte glIsProgram(UInt32 program);
[Slot(281)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsQuery(UInt32 id);
+ static extern byte glIsQuery(UInt32 id);
[Slot(283)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsRenderbuffer(UInt32 renderbuffer);
+ static extern byte glIsRenderbuffer(UInt32 renderbuffer);
[Slot(284)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsSampler(UInt32 sampler);
+ static extern byte glIsSampler(UInt32 sampler);
[Slot(285)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsShader(UInt32 shader);
+ static extern byte glIsShader(UInt32 shader);
[Slot(286)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsSync(IntPtr sync);
+ static extern byte glIsSync(IntPtr sync);
[Slot(288)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsTexture(UInt32 texture);
+ static extern byte glIsTexture(UInt32 texture);
[Slot(289)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsTransformFeedback(UInt32 id);
+ static extern byte glIsTransformFeedback(UInt32 id);
[Slot(290)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsVertexArray(UInt32 array);
+ static extern byte glIsVertexArray(UInt32 array);
[Slot(293)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glLineWidth(Single width);
@@ -39598,268 +39618,268 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
[Slot(309)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPopDebugGroup();
- [Slot(312)]
+ [Slot(313)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glProgramBinary(UInt32 program, System.Int32 binaryFormat, IntPtr binary, Int32 length);
- [Slot(314)]
+ [Slot(315)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glProgramParameteri(UInt32 program, System.Int32 pname, Int32 value);
- [Slot(349)]
+ [Slot(350)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPushDebugGroup(System.Int32 source, UInt32 id, Int32 length, IntPtr message);
- [Slot(353)]
+ [Slot(354)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadBuffer(System.Int32 mode);
- [Slot(357)]
+ [Slot(358)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, System.Int32 format, System.Int32 type, [OutAttribute] IntPtr pixels);
- [Slot(358)]
+ [Slot(359)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReleaseShaderCompiler();
- [Slot(359)]
+ [Slot(360)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorage(System.Int32 target, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(360)]
+ [Slot(361)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisample(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(367)]
+ [Slot(368)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glResumeTransformFeedback();
- [Slot(368)]
+ [Slot(369)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glSampleCoverage(Single value, bool invert);
- [Slot(369)]
+ [Slot(370)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glSamplerParameterf(UInt32 sampler, System.Int32 pname, Single param);
- [Slot(370)]
+ [Slot(371)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSamplerParameterfv(UInt32 sampler, System.Int32 pname, Single* param);
- [Slot(371)]
+ [Slot(372)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glSamplerParameteri(UInt32 sampler, System.Int32 pname, Int32 param);
- [Slot(374)]
+ [Slot(375)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSamplerParameteriv(UInt32 sampler, System.Int32 pname, Int32* param);
- [Slot(375)]
+ [Slot(376)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glScissor(Int32 x, Int32 y, Int32 width, Int32 height);
- [Slot(378)]
+ [Slot(379)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glShaderBinary(Int32 count, UInt32* shaders, System.Int32 binaryformat, IntPtr binary, Int32 length);
- [Slot(379)]
+ [Slot(380)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glShaderSource(UInt32 shader, Int32 count, IntPtr @string, Int32* length);
- [Slot(381)]
+ [Slot(382)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilFunc(System.Int32 func, Int32 @ref, UInt32 mask);
- [Slot(382)]
+ [Slot(383)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilFuncSeparate(System.Int32 face, System.Int32 func, Int32 @ref, UInt32 mask);
- [Slot(383)]
+ [Slot(384)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilMask(UInt32 mask);
- [Slot(384)]
+ [Slot(385)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilMaskSeparate(System.Int32 face, UInt32 mask);
- [Slot(385)]
+ [Slot(386)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilOp(System.Int32 fail, System.Int32 zfail, System.Int32 zpass);
- [Slot(386)]
+ [Slot(387)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStencilOpSeparate(System.Int32 face, System.Int32 sfail, System.Int32 dpfail, System.Int32 dppass);
- [Slot(390)]
+ [Slot(391)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexImage2D(System.Int32 target, Int32 level, System.Int32 internalformat, Int32 width, Int32 height, Int32 border, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(391)]
+ [Slot(392)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexImage3D(System.Int32 target, Int32 level, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(393)]
+ [Slot(394)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexParameterf(System.Int32 target, System.Int32 pname, Single param);
- [Slot(394)]
+ [Slot(395)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameterfv(System.Int32 target, System.Int32 pname, Single* @params);
- [Slot(395)]
+ [Slot(396)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexParameteri(System.Int32 target, System.Int32 pname, Int32 param);
- [Slot(398)]
+ [Slot(399)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameteriv(System.Int32 target, System.Int32 pname, Int32* @params);
- [Slot(400)]
+ [Slot(401)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage2D(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(402)]
+ [Slot(403)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage3D(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth);
- [Slot(405)]
+ [Slot(406)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexSubImage2D(System.Int32 target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(406)]
+ [Slot(407)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexSubImage3D(System.Int32 target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(412)]
+ [Slot(413)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTransformFeedbackVaryings(UInt32 program, Int32 count, IntPtr varyings, System.Int32 bufferMode);
- [Slot(413)]
+ [Slot(414)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform1f(Int32 location, Single v0);
- [Slot(414)]
+ [Slot(415)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform1fv(Int32 location, Int32 count, Single* value);
- [Slot(415)]
+ [Slot(416)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform1i(Int32 location, Int32 v0);
- [Slot(416)]
+ [Slot(417)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform1iv(Int32 location, Int32 count, Int32* value);
- [Slot(417)]
+ [Slot(418)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform1ui(Int32 location, UInt32 v0);
- [Slot(418)]
+ [Slot(419)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform1uiv(Int32 location, Int32 count, UInt32* value);
- [Slot(419)]
+ [Slot(420)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform2f(Int32 location, Single v0, Single v1);
- [Slot(420)]
+ [Slot(421)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform2fv(Int32 location, Int32 count, Single* value);
- [Slot(421)]
+ [Slot(422)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform2i(Int32 location, Int32 v0, Int32 v1);
- [Slot(422)]
+ [Slot(423)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform2iv(Int32 location, Int32 count, Int32* value);
- [Slot(423)]
+ [Slot(424)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform2ui(Int32 location, UInt32 v0, UInt32 v1);
- [Slot(424)]
+ [Slot(425)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform2uiv(Int32 location, Int32 count, UInt32* value);
- [Slot(425)]
+ [Slot(426)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform3f(Int32 location, Single v0, Single v1, Single v2);
- [Slot(426)]
+ [Slot(427)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform3fv(Int32 location, Int32 count, Single* value);
- [Slot(427)]
+ [Slot(428)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2);
- [Slot(428)]
+ [Slot(429)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform3iv(Int32 location, Int32 count, Int32* value);
- [Slot(429)]
+ [Slot(430)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform3ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
- [Slot(430)]
+ [Slot(431)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform3uiv(Int32 location, Int32 count, UInt32* value);
- [Slot(431)]
+ [Slot(432)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3);
- [Slot(432)]
+ [Slot(433)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform4fv(Int32 location, Int32 count, Single* value);
- [Slot(433)]
+ [Slot(434)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
- [Slot(434)]
+ [Slot(435)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform4iv(Int32 location, Int32 count, Int32* value);
- [Slot(435)]
+ [Slot(436)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniform4ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
- [Slot(436)]
+ [Slot(437)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniform4uiv(Int32 location, Int32 count, UInt32* value);
- [Slot(437)]
+ [Slot(438)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding);
- [Slot(438)]
+ [Slot(439)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(439)]
+ [Slot(440)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2x3fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(441)]
+ [Slot(442)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2x4fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(443)]
+ [Slot(444)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(444)]
+ [Slot(445)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3x2fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(446)]
+ [Slot(447)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3x4fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(448)]
+ [Slot(449)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(449)]
+ [Slot(450)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4x2fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(451)]
+ [Slot(452)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4x3fv(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(453)]
+ [Slot(454)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glUnmapBuffer(System.Int32 target);
- [Slot(455)]
+ static extern byte glUnmapBuffer(System.Int32 target);
+ [Slot(456)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUseProgram(UInt32 program);
- [Slot(458)]
+ [Slot(459)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glValidateProgram(UInt32 program);
- [Slot(460)]
+ [Slot(461)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib1f(UInt32 index, Single x);
- [Slot(461)]
+ [Slot(462)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib1fv(UInt32 index, Single* v);
- [Slot(462)]
+ [Slot(463)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib2f(UInt32 index, Single x, Single y);
- [Slot(463)]
+ [Slot(464)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib2fv(UInt32 index, Single* v);
- [Slot(464)]
+ [Slot(465)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib3f(UInt32 index, Single x, Single y, Single z);
- [Slot(465)]
+ [Slot(466)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib3fv(UInt32 index, Single* v);
- [Slot(466)]
+ [Slot(467)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w);
- [Slot(467)]
+ [Slot(468)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttrib4fv(UInt32 index, Single* v);
- [Slot(468)]
+ [Slot(469)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribDivisor(UInt32 index, UInt32 divisor);
- [Slot(472)]
+ [Slot(473)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribI4i(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
- [Slot(473)]
+ [Slot(474)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttribI4iv(UInt32 index, Int32* v);
- [Slot(474)]
+ [Slot(475)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribI4ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
- [Slot(475)]
+ [Slot(476)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glVertexAttribI4uiv(UInt32 index, UInt32* v);
- [Slot(476)]
+ [Slot(477)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribIPointer(UInt32 index, Int32 size, System.Int32 type, Int32 stride, IntPtr pointer);
- [Slot(477)]
+ [Slot(478)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribPointer(UInt32 index, Int32 size, System.Int32 type, bool normalized, Int32 stride, IntPtr pointer);
- [Slot(478)]
+ [Slot(479)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glViewport(Int32 x, Int32 y, Int32 width, Int32 height);
- [Slot(479)]
+ [Slot(480)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glWaitSync(IntPtr sync, System.Int32 flags, UInt64 timeout);
[Slot(0)]
@@ -39999,13 +40019,13 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
static extern void glInsertEventMarkerEXT(Int32 length, IntPtr marker);
[Slot(276)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsEnablediEXT(System.Int32 target, UInt32 index);
+ static extern byte glIsEnablediEXT(System.Int32 target, UInt32 index);
[Slot(280)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsProgramPipelineEXT(UInt32 pipeline);
+ static extern byte glIsProgramPipelineEXT(UInt32 pipeline);
[Slot(282)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsQueryEXT(UInt32 id);
+ static extern byte glIsQueryEXT(UInt32 id);
[Slot(292)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glLabelObjectEXT(System.Int32 type, UInt32 @object, Int32 length, IntPtr label);
@@ -40024,178 +40044,181 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
[Slot(311)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPopGroupMarkerEXT();
- [Slot(315)]
+ [Slot(312)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramParameteriEXT(UInt32 program, System.Int32 pname, Int32 value);
+ static extern void glPrimitiveBoundingBoxEXT(Single minX, Single minY, Single minZ, Single minW, Single maxX, Single maxY, Single maxZ, Single maxW);
[Slot(316)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform1fEXT(UInt32 program, Int32 location, Single v0);
+ static extern void glProgramParameteriEXT(UInt32 program, System.Int32 pname, Int32 value);
[Slot(317)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform1fEXT(UInt32 program, Int32 location, Single v0);
[Slot(318)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0);
+ static extern unsafe void glProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(319)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0);
[Slot(320)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0);
+ static extern unsafe void glProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(321)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0);
[Slot(322)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1);
+ static extern unsafe void glProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(323)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1);
[Slot(324)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1);
+ static extern unsafe void glProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(325)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1);
[Slot(326)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1);
+ static extern unsafe void glProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(327)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1);
[Slot(328)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2);
+ static extern unsafe void glProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(329)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2);
[Slot(330)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2);
+ static extern unsafe void glProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(331)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2);
[Slot(332)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
+ static extern unsafe void glProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(333)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
[Slot(334)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3);
+ static extern unsafe void glProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(335)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
+ static extern void glProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3);
[Slot(336)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
+ static extern unsafe void glProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
[Slot(337)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
+ static extern void glProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
[Slot(338)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern void glProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
+ static extern unsafe void glProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
[Slot(339)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
+ static extern void glProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
[Slot(340)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
[Slot(341)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(342)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(343)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(344)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(345)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(346)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(347)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern unsafe void glProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ static extern unsafe void glProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
[Slot(348)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
+ static extern unsafe void glProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
+ [Slot(349)]
+ [DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glProgramUniformMatrix4x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(351)]
+ [Slot(352)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPushGroupMarkerEXT(Int32 length, IntPtr marker);
- [Slot(352)]
+ [Slot(353)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glQueryCounterEXT(UInt32 id, System.Int32 target);
- [Slot(354)]
+ [Slot(355)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadBufferIndexedEXT(System.Int32 src, Int32 index);
- [Slot(356)]
+ [Slot(357)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadnPixelsEXT(Int32 x, Int32 y, Int32 width, Int32 height, System.Int32 format, System.Int32 type, Int32 bufSize, [OutAttribute] IntPtr data);
- [Slot(363)]
+ [Slot(364)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleEXT(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(372)]
+ [Slot(373)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSamplerParameterIivEXT(UInt32 sampler, System.Int32 pname, Int32* param);
- [Slot(373)]
+ [Slot(374)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glSamplerParameterIuivEXT(UInt32 sampler, System.Int32 pname, UInt32* param);
- [Slot(388)]
+ [Slot(389)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexBufferEXT(System.Int32 target, System.Int32 internalformat, UInt32 buffer);
- [Slot(389)]
+ [Slot(390)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexBufferRangeEXT(System.Int32 target, System.Int32 internalformat, UInt32 buffer, IntPtr offset, IntPtr size);
- [Slot(396)]
+ [Slot(397)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameterIivEXT(System.Int32 target, System.Int32 pname, Int32* @params);
- [Slot(397)]
+ [Slot(398)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glTexParameterIuivEXT(System.Int32 target, System.Int32 pname, UInt32* @params);
- [Slot(399)]
+ [Slot(400)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage1DEXT(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width);
- [Slot(401)]
+ [Slot(402)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage2DEXT(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(403)]
+ [Slot(404)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage3DEXT(System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth);
- [Slot(408)]
+ [Slot(409)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureStorage1DEXT(UInt32 texture, System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width);
- [Slot(409)]
+ [Slot(410)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureStorage2DEXT(UInt32 texture, System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(410)]
+ [Slot(411)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureStorage3DEXT(UInt32 texture, System.Int32 target, Int32 levels, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth);
- [Slot(411)]
+ [Slot(412)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTextureViewEXT(UInt32 texture, System.Int32 target, UInt32 origtexture, System.Int32 internalformat, UInt32 minlevel, UInt32 numlevels, UInt32 minlayer, UInt32 numlayers);
- [Slot(456)]
+ [Slot(457)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUseProgramStagesEXT(UInt32 pipeline, UInt32 stages, UInt32 program);
- [Slot(457)]
+ [Slot(458)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glUseShaderProgramEXT(System.Int32 type, UInt32 program);
- [Slot(459)]
+ [Slot(460)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glValidateProgramPipelineEXT(UInt32 pipeline);
- [Slot(470)]
+ [Slot(471)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribDivisorEXT(UInt32 index, UInt32 divisor);
[Slot(158)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glFramebufferTexture2DMultisampleIMG(System.Int32 target, System.Int32 attachment, System.Int32 textarget, UInt32 texture, Int32 level, Int32 samples);
- [Slot(364)]
+ [Slot(365)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleIMG(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
[Slot(6)]
@@ -40261,7 +40284,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
[Slot(310)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPopDebugGroupKHR();
- [Slot(350)]
+ [Slot(351)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glPushDebugGroupKHR(System.Int32 source, UInt32 id, Int32 length, IntPtr message);
[Slot(23)]
@@ -40305,38 +40328,38 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
static extern unsafe void glGetFenceivNV(UInt32 fence, System.Int32 pname, [OutAttribute] Int32* @params);
[Slot(277)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsFenceNV(UInt32 fence);
- [Slot(355)]
+ static extern byte glIsFenceNV(UInt32 fence);
+ [Slot(356)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glReadBufferNV(System.Int32 mode);
- [Slot(365)]
+ [Slot(366)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glRenderbufferStorageMultisampleNV(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height);
- [Slot(377)]
+ [Slot(378)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glSetFenceNV(UInt32 fence, System.Int32 condition);
- [Slot(387)]
+ [Slot(388)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glTestFenceNV(UInt32 fence);
- [Slot(440)]
+ static extern byte glTestFenceNV(UInt32 fence);
+ [Slot(441)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2x3fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(442)]
+ [Slot(443)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix2x4fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(445)]
+ [Slot(446)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3x2fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(447)]
+ [Slot(448)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix3x4fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(450)]
+ [Slot(451)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4x2fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(452)]
+ [Slot(453)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glUniformMatrix4x3fvNV(Int32 location, Int32 count, bool transpose, Single* value);
- [Slot(471)]
+ [Slot(472)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glVertexAttribDivisorNV(UInt32 index, UInt32 divisor);
[Slot(21)]
@@ -40374,28 +40397,28 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
static extern unsafe void glGetProgramBinaryOES(UInt32 program, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] System.Int32* binaryFormat, [OutAttribute] IntPtr binary);
[Slot(291)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glIsVertexArrayOES(UInt32 array);
+ static extern byte glIsVertexArrayOES(UInt32 array);
[Slot(295)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern IntPtr glMapBufferOES(System.Int32 target, System.Int32 access);
[Slot(298)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glMinSampleShadingOES(Single value);
- [Slot(313)]
+ [Slot(314)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glProgramBinaryOES(UInt32 program, System.Int32 binaryFormat, IntPtr binary, Int32 length);
- [Slot(392)]
+ [Slot(393)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexImage3DOES(System.Int32 target, Int32 level, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(404)]
+ [Slot(405)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexStorage3DMultisampleOES(System.Int32 target, Int32 samples, System.Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations);
- [Slot(407)]
+ [Slot(408)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glTexSubImage3DOES(System.Int32 target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, System.Int32 format, System.Int32 type, IntPtr pixels);
- [Slot(454)]
+ [Slot(455)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glUnmapBufferOES(System.Int32 target);
+ static extern byte glUnmapBufferOES(System.Int32 target);
[Slot(3)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glAlphaFuncQCOM(System.Int32 func, Single @ref);
@@ -40440,7 +40463,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
static extern unsafe void glExtGetTexturesQCOM([OutAttribute] UInt32* textures, Int32 maxTextures, [OutAttribute] Int32* numTextures);
[Slot(146)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
- static extern bool glExtIsProgramBinaryQCOM(UInt32 program);
+ static extern byte glExtIsProgramBinaryQCOM(UInt32 program);
[Slot(147)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glExtTexObjectStateOverrideiQCOM(System.Int32 target, System.Int32 pname, Int32 param);
@@ -40450,7 +40473,7 @@ public static void ExtGetTexSubImage(OpenTK.Graphics.ES30.All target, Int32
[Slot(192)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern unsafe void glGetDriverControlStringQCOM(UInt32 driverControl, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] IntPtr driverControlString);
- [Slot(380)]
+ [Slot(381)]
[DllImport(Library, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
static extern void glStartTilingQCOM(UInt32 x, UInt32 y, UInt32 width, UInt32 height, UInt32 preserveMask);
}
diff --git a/Source/OpenTK/Graphics/ES30/ES30Enums.cs b/Source/OpenTK/Graphics/ES30/ES30Enums.cs
index 4131ce4f9..edcb4d197 100644
--- a/Source/OpenTK/Graphics/ES30/ES30Enums.cs
+++ b/Source/OpenTK/Graphics/ES30/ES30Enums.cs
@@ -8924,6 +8924,10 @@ public enum All : int
///
InvertOvgNv = ((int)0x92B4) ,
///
+ /// Original was GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE
+ ///
+ PrimitiveBoundingBoxExt = ((int)0x92BE) ,
+ ///
/// Original was GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD
///
MaxTessControlAtomicCounterBuffersExt = ((int)0x92CD) ,
@@ -9444,6 +9448,13 @@ public enum AmdProgramBinaryZ400 : int
Z400BinaryAmd = ((int)0x8740) ,
}
+ ///
+ /// Not used directly.
+ ///
+ public enum AndroidExtensionPackEs31a : int
+ {
+ }
+
///
/// Not used directly.
///
@@ -14734,6 +14745,13 @@ public enum ExtDrawInstanced : int
{
}
+ ///
+ /// Not used directly.
+ ///
+ public enum ExtGeometryPointSize : int
+ {
+ }
+
///
/// Not used directly.
///
@@ -15006,6 +15024,17 @@ public enum ExtOcclusionQueryBoolean : int
AnySamplesPassedConservativeExt = ((int)0x8D6A) ,
}
+ ///
+ /// Not used directly.
+ ///
+ public enum ExtPrimitiveBoundingBox : int
+ {
+ ///
+ /// Original was GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE
+ ///
+ PrimitiveBoundingBoxExt = ((int)0x92BE) ,
+ }
+
///
/// Not used directly.
///
@@ -15241,6 +15270,13 @@ public enum ExtSrgbWriteControl : int
FramebufferSrgbExt = ((int)0x8DB9) ,
}
+ ///
+ /// Not used directly.
+ ///
+ public enum ExtTessellationPointSize : int
+ {
+ }
+
///
/// Not used directly.
///
diff --git a/Source/OpenTK/Graphics/ES30/Helper.cs b/Source/OpenTK/Graphics/ES30/Helper.cs
index 7fda7c64d..9a289b84f 100644
--- a/Source/OpenTK/Graphics/ES30/Helper.cs
+++ b/Source/OpenTK/Graphics/ES30/Helper.cs
@@ -449,15 +449,41 @@ public static void Viewport(OpenTK.Rectangle rectangle)
#endregion
}
+ #pragma warning disable 1574 // XML comment cref attribute could not be resolved, compiler bug in Mono 3.4.0
+
+ ///
+ /// Defines the signature of a debug callback for
+ /// .
+ ///
+ /// The for this debug message.
+ /// The for this debug message.
+ /// The id of this debug message.
+ /// The for this debug message.
+ /// The length of this debug message.
+ /// A pointer to a null-terminated ASCII C string, representing the content of this debug message.
+ /// A pointer to a user-specified parameter.
[UnmanagedFunctionPointer(CallingConvention.Winapi)]
public delegate void DebugProc(
DebugSource source, DebugType type, int id,
DebugSeverity severity, int length, IntPtr message,
IntPtr userParam);
+ ///
+ /// Defines the signature of a debug callback for
+ /// .
+ ///
+ /// The for this debug message.
+ /// The for this debug message.
+ /// The id of this debug message.
+ /// The for this debug message.
+ /// The length of this debug message.
+ /// A pointer to a null-terminated ASCII C string, representing the content of this debug message.
+ /// A pointer to a user-specified parameter.
[UnmanagedFunctionPointer(CallingConvention.Winapi)]
public delegate void DebugProcKhr(
DebugSource source, DebugType type, int id,
DebugSeverity severity, int length, IntPtr message,
IntPtr userParam);
+
+ #pragma warning restore 1574 // XML comment cref attribute could not be resolved, compiler bug in Mono 3.4.0
}
diff --git a/Source/OpenTK/Graphics/GraphicsBindingsBase.cs b/Source/OpenTK/Graphics/GraphicsBindingsBase.cs
index 237b87837..79cd42b60 100644
--- a/Source/OpenTK/Graphics/GraphicsBindingsBase.cs
+++ b/Source/OpenTK/Graphics/GraphicsBindingsBase.cs
@@ -26,6 +26,7 @@
#endregion
using System;
+using System.Diagnostics;
using System.Runtime.InteropServices;
namespace OpenTK.Graphics
@@ -84,6 +85,8 @@ protected override IntPtr GetAddress(string funcname)
// validation necessary.)
internal override void LoadEntryPoints()
{
+ Debug.Print("Loading entry points for {0}", GetType().FullName);
+
IGraphicsContext context = GraphicsContext.CurrentContext;
if (context == null)
throw new GraphicsContextMissingException();
diff --git a/Source/OpenTK/Graphics/GraphicsContext.cs b/Source/OpenTK/Graphics/GraphicsContext.cs
index 348b7950d..12a605f1a 100644
--- a/Source/OpenTK/Graphics/GraphicsContext.cs
+++ b/Source/OpenTK/Graphics/GraphicsContext.cs
@@ -121,7 +121,7 @@ public GraphicsContext(GraphicsMode mode, IWindowInfo window, int major, int min
Debug.Print("GraphicsContextFlags: {0}", flags);
Debug.Print("Requested version: {0}.{1}", major, minor);
- IGraphicsContext shareContext = shareContext = FindSharedContext();
+ IGraphicsContext shareContext = FindSharedContext();
// Todo: Add a DummyFactory implementing IPlatformFactory.
if (designMode)
@@ -150,6 +150,7 @@ public GraphicsContext(GraphicsMode mode, IWindowInfo window, int major, int min
implementation = factory.CreateGLContext(mode, window, shareContext, direct_rendering, major, minor, flags);
handle_cached = ((IGraphicsContextInternal)implementation).Context;
+ factory.RegisterResource(this);
}
AddContext(this);
diff --git a/Source/OpenTK/Graphics/GraphicsContextBase.cs b/Source/OpenTK/Graphics/GraphicsContextBase.cs
index 686704ca9..d6537f534 100644
--- a/Source/OpenTK/Graphics/GraphicsContextBase.cs
+++ b/Source/OpenTK/Graphics/GraphicsContextBase.cs
@@ -1,44 +1,47 @@
#region License
//
-// The Open Toolkit Library License
+// GraphicsContextBase.cs
//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
+// Author:
+// Stefanos A.
+//
+// Copyright (c) 2006-2014 Stefanos Apostolopoulos
//
// 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, sublicense, 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:
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, 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 shall be included in all
-// copies or substantial portions of the Software.
+// The above copyright notice and this permission notice 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
-// NONINFRINGEMENT. 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.
+// 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 NONINFRINGEMENT. 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.
//
#endregion
using System;
using System.Collections.Generic;
+using System.Diagnostics;
using System.Text;
using OpenTK.Platform;
namespace OpenTK.Graphics
{
// Provides the foundation for all IGraphicsContext implementations.
- abstract class GraphicsContextBase : IGraphicsContext, IGraphicsContextInternal
+ abstract class GraphicsContextBase : IGraphicsContext, IGraphicsContextInternal, IEquatable
{
#region Fields
bool disposed;
-
+
protected ContextHandle Handle;
protected GraphicsMode Mode;
@@ -106,7 +109,53 @@ public IntPtr GetAddress(string function)
#region IDisposable Members
- public abstract void Dispose();
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ protected abstract void Dispose(bool disposing);
+
+ #if DEBUG
+ ~GraphicsContextBase()
+ {
+ Dispose(false);
+ Debug.Print("[Warning] {0}:{1} leaked. Did you forget to call Dispose()?",
+ GetType().FullName, Handle);
+ }
+ #endif
+
+ #endregion
+
+ #region IEquatable Members
+
+ public bool Equals(IGraphicsContextInternal other)
+ {
+ return Context.Equals(other.Context);
+ }
+
+ #endregion
+
+ #region Public Members
+
+ public override string ToString()
+ {
+ return string.Format("[{0}: IsCurrent={1}, IsDisposed={2}, VSync={3}, SwapInterval={4}, GraphicsMode={5}, ErrorChecking={6}, Implementation={7}, Context={8}]",
+ GetType().Name, IsCurrent, IsDisposed, VSync, SwapInterval, GraphicsMode, ErrorChecking, Implementation, Context);
+ }
+
+ public override int GetHashCode()
+ {
+ return Handle.GetHashCode();
+ }
+
+ public override bool Equals(object obj)
+ {
+ return
+ obj is IGraphicsContextInternal &&
+ Equals((IGraphicsContextInternal)obj);
+ }
#endregion
}
diff --git a/Source/OpenTK/Graphics/OpenGL/GL.cs b/Source/OpenTK/Graphics/OpenGL/GL.cs
index 9f45ab6a6..4207f38a9 100644
--- a/Source/OpenTK/Graphics/OpenGL/GL.cs
+++ b/Source/OpenTK/Graphics/OpenGL/GL.cs
@@ -10241,6 +10241,7 @@ public static void DebugMessageCallback(DebugProcArb callback, [InAttribute,
///
/// Specifies the program object to be deleted.
///
+ /// [length: n]
[AutoGenerated(Category = "ARB_fragment_program|ARB_vertex_program", Version = "", EntryPoint = "glDeleteProgramsARB")]
[CLSCompliant(false)]
public static void DeleteProgram(Int32 n, Int32[] programs) { throw new NotImplementedException(); }
@@ -10251,6 +10252,7 @@ public static void DebugMessageCallback(DebugProcArb callback, [InAttribute,
///
/// Specifies the program object to be deleted.
///
+ /// [length: n]
[AutoGenerated(Category = "ARB_fragment_program|ARB_vertex_program", Version = "", EntryPoint = "glDeleteProgramsARB")]
[CLSCompliant(false)]
public static void DeleteProgram(Int32 n, ref Int32 programs) { throw new NotImplementedException(); }
@@ -10261,6 +10263,7 @@ public static void DebugMessageCallback(DebugProcArb callback, [InAttribute,
///
/// Specifies the program object to be deleted.
///
+ /// [length: n]
[AutoGenerated(Category = "ARB_fragment_program|ARB_vertex_program", Version = "", EntryPoint = "glDeleteProgramsARB")]
[CLSCompliant(false)]
public static unsafe void DeleteProgram(Int32 n, Int32* programs) { throw new NotImplementedException(); }
@@ -10271,6 +10274,7 @@ public static void DebugMessageCallback(DebugProcArb callback, [InAttribute,
///
/// Specifies the program object to be deleted.
///
+ /// [length: n]
[AutoGenerated(Category = "ARB_fragment_program|ARB_vertex_program", Version = "", EntryPoint = "glDeleteProgramsARB")]
[CLSCompliant(false)]
public static void DeleteProgram(Int32 n, UInt32[] programs) { throw new NotImplementedException(); }
@@ -10281,6 +10285,7 @@ public static void DebugMessageCallback(DebugProcArb callback, [InAttribute,
///
/// Specifies the program object to be deleted.
///
+ /// [length: n]
[AutoGenerated(Category = "ARB_fragment_program|ARB_vertex_program", Version = "", EntryPoint = "glDeleteProgramsARB")]
[CLSCompliant(false)]
public static void DeleteProgram(Int32 n, ref UInt32 programs) { throw new NotImplementedException(); }
@@ -10291,6 +10296,7 @@ public static void DebugMessageCallback(DebugProcArb callback, [InAttribute,
///
/// Specifies the program object to be deleted.
///
+ /// [length: n]
[AutoGenerated(Category = "ARB_fragment_program|ARB_vertex_program", Version = "", EntryPoint = "glDeleteProgramsARB")]
[CLSCompliant(false)]
public static unsafe void DeleteProgram(Int32 n, UInt32* programs) { throw new NotImplementedException(); }
@@ -13785,7 +13791,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformfvARB")]
@@ -13801,7 +13807,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformfvARB")]
@@ -13817,7 +13823,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformfvARB")]
@@ -13833,7 +13839,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformfvARB")]
@@ -13849,7 +13855,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformfvARB")]
@@ -13865,7 +13871,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformfvARB")]
@@ -13881,7 +13887,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformivARB")]
@@ -13897,7 +13903,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformivARB")]
@@ -13913,7 +13919,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformivARB")]
@@ -13929,7 +13935,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformivARB")]
@@ -13945,7 +13951,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformivARB")]
@@ -13961,7 +13967,7 @@ public static void GetProgramString(OpenTK.Graphics.OpenGL.AssemblyProgramTa
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glGetUniformivARB")]
@@ -16498,7 +16504,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform1fvARB")]
@@ -16514,7 +16520,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform1fvARB")]
@@ -16530,7 +16536,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform1fvARB")]
@@ -16558,7 +16564,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform1ivARB")]
@@ -16574,7 +16580,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform1ivARB")]
@@ -16590,7 +16596,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform1ivARB")]
@@ -16621,7 +16627,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform2fvARB")]
@@ -16637,7 +16643,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform2fvARB")]
@@ -16653,7 +16659,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform2fvARB")]
@@ -16684,7 +16690,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform2ivARB")]
@@ -16700,7 +16706,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform2ivARB")]
@@ -16734,7 +16740,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform3fvARB")]
@@ -16750,7 +16756,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform3fvARB")]
@@ -16766,7 +16772,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform3fvARB")]
@@ -16800,7 +16806,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform3ivARB")]
@@ -16816,7 +16822,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform3ivARB")]
@@ -16832,7 +16838,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform3ivARB")]
@@ -16869,7 +16875,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform4fvARB")]
@@ -16885,7 +16891,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform4fvARB")]
@@ -16901,7 +16907,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform4fvARB")]
@@ -16938,7 +16944,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform4ivARB")]
@@ -16954,7 +16960,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform4ivARB")]
@@ -16970,7 +16976,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*4]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniform4ivARB")]
@@ -17043,7 +17049,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix2fvARB")]
[CLSCompliant(false)]
public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -17052,7 +17058,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix2fvARB")]
[CLSCompliant(false)]
public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -17061,7 +17067,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*4]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix2fvARB")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -17070,7 +17076,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix3fvARB")]
[CLSCompliant(false)]
public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -17079,7 +17085,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix3fvARB")]
[CLSCompliant(false)]
public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -17088,7 +17094,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*9]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix3fvARB")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -17097,7 +17103,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix4fvARB")]
[CLSCompliant(false)]
public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value) { throw new NotImplementedException(); }
@@ -17106,7 +17112,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix4fvARB")]
[CLSCompliant(false)]
public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value) { throw new NotImplementedException(); }
@@ -17115,7 +17121,7 @@ public static void ReadnPixels(Int32 x, Int32 y, Int32 width, Int32 height,
///
///
///
- /// [length: count]
+ /// [length: count*16]
[AutoGenerated(Category = "ARB_shader_objects", Version = "", EntryPoint = "glUniformMatrix4fvARB")]
[CLSCompliant(false)]
public static unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value) { throw new NotImplementedException(); }
@@ -22138,6 +22144,8 @@ public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 si
/// [length: count]
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or Null.
///
+ /// [length: count]
+ /// [length: count]
[AutoGenerated(Category = "ARB_multi_bind|VERSION_4_4", Version = "4.4", EntryPoint = "glBindBuffersRange")]
[CLSCompliant(false)]
public static void BindBuffersRange(OpenTK.Graphics.OpenGL.BufferRangeTarget target, Int32 first, Int32 count, Int32[] buffers, IntPtr[] offsets, IntPtr[] sizes) { throw new NotImplementedException(); }
@@ -22157,6 +22165,8 @@ public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 si
/// [length: count]
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or Null.
///
+ /// [length: count]
+ /// [length: count]
[AutoGenerated(Category = "ARB_multi_bind|VERSION_4_4", Version = "4.4", EntryPoint = "glBindBuffersRange")]
[CLSCompliant(false)]
public static void BindBuffersRange(OpenTK.Graphics.OpenGL.BufferRangeTarget target, Int32 first, Int32 count, ref Int32 buffers, ref IntPtr offsets, ref IntPtr sizes) { throw new NotImplementedException(); }
@@ -22176,6 +22186,8 @@ public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 si
/// [length: count]
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or Null.
///
+ /// [length: count]
+ /// [length: count]
[AutoGenerated(Category = "ARB_multi_bind|VERSION_4_4", Version = "4.4", EntryPoint = "glBindBuffersRange")]
[CLSCompliant(false)]
public static unsafe void BindBuffersRange(OpenTK.Graphics.OpenGL.BufferRangeTarget target, Int32 first, Int32 count, Int32* buffers, IntPtr* offsets, IntPtr* sizes) { throw new NotImplementedException(); }
@@ -22195,6 +22207,8 @@ public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 si
/// [length: count]
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or Null.
///
+ /// [length: count]
+ /// [length: count]
[AutoGenerated(Category = "ARB_multi_bind|VERSION_4_4", Version = "4.4", EntryPoint = "glBindBuffersRange")]
[CLSCompliant(false)]
public static void BindBuffersRange(OpenTK.Graphics.OpenGL.BufferRangeTarget target, UInt32 first, Int32 count, UInt32[] buffers, IntPtr[] offsets, IntPtr[] sizes) { throw new NotImplementedException(); }
@@ -22214,6 +22228,8 @@ public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 si
/// [length: count]
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or Null.
///
+ /// [length: count]
+ /// [length: count]
[AutoGenerated(Category = "ARB_multi_bind|VERSION_4_4", Version = "4.4", EntryPoint = "glBindBuffersRange")]
[CLSCompliant(false)]
public static void BindBuffersRange(OpenTK.Graphics.OpenGL.BufferRangeTarget target, UInt32 first, Int32 count, ref UInt32 buffers, ref IntPtr offsets, ref IntPtr sizes) { throw new NotImplementedException(); }
@@ -22233,6 +22249,8 @@ public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 si
/// [length: count]
/// A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or Null.
///
+ /// [length: count]
+ /// [length: count]
[AutoGenerated(Category = "ARB_multi_bind|VERSION_4_4", Version = "4.4", EntryPoint = "glBindBuffersRange")]
[CLSCompliant(false)]
public static unsafe void BindBuffersRange(OpenTK.Graphics.OpenGL.BufferRangeTarget target, UInt32 first, Int32 count, UInt32* buffers, IntPtr* offsets, IntPtr* sizes) { throw new NotImplementedException(); }
@@ -33807,6 +33825,8 @@ public static void EdgeFlagPointer(Int32 stride, [InAttribute, OutAttribute]
///
/// Specify the first and last integer values for grid domain variable .
///
+ ///
+ ///
[AutoGenerated(Category = "VERSION_1_0", Version = "1.0", EntryPoint = "glEvalMesh2")]
public static void EvalMesh2(OpenTK.Graphics.OpenGL.MeshMode2 mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2) { throw new NotImplementedException(); }
@@ -33888,8 +33908,9 @@ public static void EdgeFlagPointer(Int32 stride, [InAttribute, OutAttribute]
///
/// Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently defined for this operation and flags must be zero.flags is a placeholder for anticipated future extensions of fence sync object capabilities.
///
- [Obsolete("Use uint overload instead")]
+ [Obsolete("Use SyncCondition overload instead")]
[AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glFenceSync")]
+ [CLSCompliant(false)]
public static IntPtr FenceSync(OpenTK.Graphics.OpenGL.ArbSync condition, Int32 flags) { throw new NotImplementedException(); }
/// [requires: v3.2 or ARB_sync|VERSION_3_2]
@@ -33903,6 +33924,7 @@ public static void EdgeFlagPointer(Int32 stride, [InAttribute, OutAttribute]
///
[Obsolete("Use SyncCondition overload instead")]
[AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glFenceSync")]
+ [CLSCompliant(false)]
public static IntPtr FenceSync(OpenTK.Graphics.OpenGL.ArbSync condition, UInt32 flags) { throw new NotImplementedException(); }
/// [requires: v3.2 or ARB_sync|VERSION_3_2]
@@ -35839,7 +35861,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -35858,7 +35880,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -35877,7 +35899,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -35896,7 +35918,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -35915,7 +35937,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -35934,7 +35956,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the name of the parameter to query.
///
- /// [length: pname]
+ /// [length: program, uniformBlockIndex, pname]
/// Specifies the address of a variable to receive the result of the query.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformBlockiv")]
@@ -36132,7 +36154,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformsiv")]
@@ -36154,7 +36176,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformsiv")]
@@ -36176,7 +36198,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformsiv")]
@@ -36198,7 +36220,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformsiv")]
@@ -36220,7 +36242,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformsiv")]
@@ -36242,7 +36264,7 @@ public static void FogCoordPointer(OpenTK.Graphics.OpenGL.FogPointerType typ
///
/// Specifies the property of each uniform in uniformIndices that should be written into the corresponding element of params.
///
- /// [length: pname]
+ /// [length: uniformCount, pname]
/// Specifies the address of an array of uniformCount integers which are to receive the value of pname for each uniform in uniformIndices.
///
[AutoGenerated(Category = "ARB_uniform_buffer_object|VERSION_3_1", Version = "3.1", EntryPoint = "glGetActiveUniformsiv")]
@@ -40904,6 +40926,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[Obsolete("Use out overload instead")]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
@@ -40918,6 +40946,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
public static void GetProgramResource(Int32 program, OpenTK.Graphics.OpenGL.ProgramInterface programInterface, Int32 index, Int32 propCount, OpenTK.Graphics.OpenGL.ProgramProperty[] props, Int32 bufSize, [OutAttribute] out Int32 length, [OutAttribute] Int32[] @params) { throw new NotImplementedException(); }
@@ -40931,6 +40965,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[Obsolete("Use out overload instead")]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
@@ -40945,6 +40985,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[Obsolete("Use out overload instead")]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
@@ -40959,6 +41005,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[Obsolete("Use out overload instead")]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
@@ -40973,6 +41025,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
public static void GetProgramResource(UInt32 program, OpenTK.Graphics.OpenGL.ProgramInterface programInterface, UInt32 index, Int32 propCount, OpenTK.Graphics.OpenGL.ProgramProperty[] props, Int32 bufSize, [OutAttribute] out Int32 length, [OutAttribute] Int32[] @params) { throw new NotImplementedException(); }
@@ -40986,6 +41044,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[Obsolete("Use out overload instead")]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
@@ -41000,6 +41064,12 @@ public static unsafe void GetProgramBinary(UInt32 program, Int32 bufSize, [O
///
/// A token identifying the interface within program containing the resource named name.
///
+ ///
+ ///
+ /// [length: propCount]
+ ///
+ /// [length: 1]
+ /// [length: bufSize]
[Obsolete("Use out overload instead")]
[AutoGenerated(Category = "ARB_program_interface_query|VERSION_4_3", Version = "4.3", EntryPoint = "glGetProgramResourceiv")]
[CLSCompliant(false)]
@@ -43927,7 +43997,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glGetUniformdv")]
@@ -43943,7 +44013,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glGetUniformdv")]
@@ -43959,7 +44029,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glGetUniformdv")]
@@ -43975,7 +44045,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glGetUniformdv")]
@@ -43991,7 +44061,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glGetUniformdv")]
@@ -44007,7 +44077,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glGetUniformdv")]
@@ -44023,7 +44093,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -44039,7 +44109,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -44055,7 +44125,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -44071,7 +44141,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -44087,7 +44157,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -44103,7 +44173,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformfv")]
@@ -44233,7 +44303,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -44249,7 +44319,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -44265,7 +44335,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -44281,7 +44351,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -44297,7 +44367,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -44313,7 +44383,7 @@ public static void GetTexImage(OpenTK.Graphics.OpenGL.TextureTarget target,
///
/// Specifies the location of the uniform variable to be queried.
///
- /// [length: location]
+ /// [length: program, location]
/// Returns the value of the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glGetUniformiv")]
@@ -45264,6 +45334,7 @@ public static void IndexPointer(OpenTK.Graphics.OpenGL.IndexPointerType type
///
/// Specifies the offset in bytes between each aggregate array element.
///
+ /// [length: format,stride]
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glInterleavedArrays")]
public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArrayFormat format, Int32 stride, IntPtr pointer) { throw new NotImplementedException(); }
@@ -45276,6 +45347,7 @@ public static void IndexPointer(OpenTK.Graphics.OpenGL.IndexPointerType type
///
/// Specifies the offset in bytes between each aggregate array element.
///
+ /// [length: format,stride]
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glInterleavedArrays")]
[CLSCompliant(false)]
public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArrayFormat format, Int32 stride, [InAttribute, OutAttribute] T2[] pointer)
@@ -45291,6 +45363,7 @@ public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArray
///
/// Specifies the offset in bytes between each aggregate array element.
///
+ /// [length: format,stride]
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glInterleavedArrays")]
[CLSCompliant(false)]
public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArrayFormat format, Int32 stride, [InAttribute, OutAttribute] T2[,] pointer)
@@ -45306,6 +45379,7 @@ public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArray
///
/// Specifies the offset in bytes between each aggregate array element.
///
+ /// [length: format,stride]
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glInterleavedArrays")]
[CLSCompliant(false)]
public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArrayFormat format, Int32 stride, [InAttribute, OutAttribute] T2[,,] pointer)
@@ -45321,6 +45395,7 @@ public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArray
///
/// Specifies the offset in bytes between each aggregate array element.
///
+ /// [length: format,stride]
[AutoGenerated(Category = "VERSION_1_1", Version = "1.1", EntryPoint = "glInterleavedArrays")]
public static void InterleavedArrays(OpenTK.Graphics.OpenGL.InterleavedArrayFormat format, Int32 stride, [InAttribute, OutAttribute] ref T2 pointer)
where T2 : struct
@@ -60864,7 +60939,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform1dv")]
@@ -60880,7 +60955,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform1dv")]
@@ -60896,7 +60971,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform1dv")]
@@ -60924,7 +60999,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -60940,7 +61015,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -60956,7 +61031,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1fv")]
@@ -60984,7 +61059,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -61000,7 +61075,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -61016,7 +61091,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform1iv")]
@@ -61045,7 +61120,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_3_0", Version = "3.0", EntryPoint = "glUniform1uiv")]
@@ -61061,7 +61136,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_3_0", Version = "3.0", EntryPoint = "glUniform1uiv")]
@@ -61077,7 +61152,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*1]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_3_0", Version = "3.0", EntryPoint = "glUniform1uiv")]
@@ -61108,7 +61183,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform2dv")]
@@ -61124,7 +61199,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform2dv")]
@@ -61140,7 +61215,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform2dv")]
@@ -61171,7 +61246,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -61187,7 +61262,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -61203,7 +61278,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2fv")]
@@ -61234,7 +61309,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2iv")]
@@ -61250,7 +61325,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*2]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "VERSION_2_0", Version = "2.0", EntryPoint = "glUniform2iv")]
@@ -61348,7 +61423,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform3dv")]
@@ -61364,7 +61439,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform3dv")]
@@ -61380,7 +61455,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///
/// For the vector (glUniform*v) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix (glUniformMatrix*) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
///
- /// [length: count]
+ /// [length: count*3]
/// For the vector and matrix commands, specifies a pointer to an array of count values that will be used to update the specified uniform variable.
///
[AutoGenerated(Category = "ARB_gpu_shader_fp64|VERSION_4_0", Version = "4.0", EntryPoint = "glUniform3dv")]
@@ -61414,7 +61489,7 @@ public static void TexSubImage3D(OpenTK.Graphics.OpenGL.TextureTarget targe
///