From 167c97dd847114a701acc5351e62020874ceaf53 Mon Sep 17 00:00:00 2001 From: Stefanos A Date: Tue, 5 Nov 2013 09:53:34 +0100 Subject: [PATCH] Strongly-typed enums for ES 3.0 (WIP7) Implemented section: Sync Objects and Fences [5.2]. Fixed desktop OpenGL wrapper for ClientWaitSync and FenceSync. --- Source/Bind/Specifications/GL2/overrides.xml | 39 ++++++++- Source/OpenTK/Graphics/ES30/ES30.cs | 82 +++---------------- Source/OpenTK/Graphics/ES30/ES30Delegates.cs | 8 +- Source/OpenTK/Graphics/ES30/ES30Enums.cs | 62 +++++++++++++- Source/OpenTK/Graphics/ES30/ES3Core.cs | 8 +- Source/OpenTK/Graphics/OpenGL/GL.cs | 41 ++-------- Source/OpenTK/Graphics/OpenGL/GLCore.cs | 4 +- Source/OpenTK/Graphics/OpenGL/GLDelegates.cs | 4 +- Source/OpenTK/Graphics/OpenGL/GLEnums.cs | 21 +++-- Source/OpenTK/Graphics/OpenGL4/GL4.cs | 41 ++-------- Source/OpenTK/Graphics/OpenGL4/GL4Core.cs | 4 +- .../OpenTK/Graphics/OpenGL4/GL4Delegates.cs | 4 +- Source/OpenTK/Graphics/OpenGL4/GL4Enums.cs | 21 +++-- 13 files changed, 170 insertions(+), 169 deletions(-) diff --git a/Source/Bind/Specifications/GL2/overrides.xml b/Source/Bind/Specifications/GL2/overrides.xml index be08c9d5..32c7812b 100644 --- a/Source/Bind/Specifications/GL2/overrides.xml +++ b/Source/Bind/Specifications/GL2/overrides.xml @@ -1593,12 +1593,15 @@ SyncCondition + + WaitSyncFlags + WaitSyncStatus - WaitSyncFlags + ClientWaitSyncFlags @@ -3664,10 +3667,13 @@ - + + + + @@ -5304,6 +5310,19 @@ ClearBufferCombined + + + SyncCondition + WaitSyncFlags + + + WaitSyncStatus + ClientWaitSyncFlags + + + WaitSyncFlags + + @@ -5478,6 +5497,10 @@ + + + + @@ -5737,6 +5760,9 @@ + + + @@ -5941,6 +5967,15 @@ + + + + + + + + + diff --git a/Source/OpenTK/Graphics/ES30/ES30.cs b/Source/OpenTK/Graphics/ES30/ES30.cs index 2e0af335..64e9bbb6 100644 --- a/Source/OpenTK/Graphics/ES30/ES30.cs +++ b/Source/OpenTK/Graphics/ES30/ES30.cs @@ -1930,42 +1930,13 @@ namespace OpenTK.Graphics.ES30 /// [AutoGenerated(Category = "APPLE_sync", Version = "", EntryPoint = "glFenceSyncAPPLE")] public static - IntPtr FenceSync(OpenTK.Graphics.ES30.All condition, Int32 flags) + IntPtr FenceSync(OpenTK.Graphics.ES30.SyncCondition condition, OpenTK.Graphics.ES30.WaitSyncFlags flags) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glFenceSyncAPPLE((OpenTK.Graphics.ES30.All)condition, (UInt32)flags); - #if DEBUG - } - #endif - } - - - /// [requires: APPLE_sync] - /// Create a new sync object and insert it into the GL command stream - /// - /// - /// - /// Specifies the condition that must be met to set the sync object's state to signaled. condition must be GL_SYNC_GPU_COMMANDS_COMPLETE. - /// - /// - /// - /// - /// 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. - /// - /// - [System.CLSCompliant(false)] - [AutoGenerated(Category = "APPLE_sync", Version = "", EntryPoint = "glFenceSyncAPPLE")] - public static - IntPtr FenceSync(OpenTK.Graphics.ES30.All condition, UInt32 flags) - { - #if DEBUG - using (new ErrorHelper(GraphicsContext.CurrentContext)) - { - #endif - return Delegates.glFenceSyncAPPLE((OpenTK.Graphics.ES30.All)condition, (UInt32)flags); + return Delegates.glFenceSyncAPPLE((OpenTK.Graphics.ES30.SyncCondition)condition, (OpenTK.Graphics.ES30.WaitSyncFlags)flags); #if DEBUG } #endif @@ -4355,13 +4326,13 @@ namespace OpenTK.Graphics.ES30 /// [AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glClientWaitSync")] public static - OpenTK.Graphics.ES30.All ClientWaitSync(IntPtr sync, Int32 flags, Int64 timeout) + OpenTK.Graphics.ES30.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.ES30.ClientWaitSyncFlags flags, Int64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glClientWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); + return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.ES30.ClientWaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif @@ -4389,13 +4360,13 @@ namespace OpenTK.Graphics.ES30 [System.CLSCompliant(false)] [AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glClientWaitSync")] public static - OpenTK.Graphics.ES30.All ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout) + OpenTK.Graphics.ES30.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.ES30.ClientWaitSyncFlags flags, UInt64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glClientWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); + return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.ES30.ClientWaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif @@ -9934,42 +9905,13 @@ namespace OpenTK.Graphics.ES30 /// [AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glFenceSync")] public static - IntPtr FenceSync(OpenTK.Graphics.ES30.All condition, Int32 flags) + IntPtr FenceSync(OpenTK.Graphics.ES30.SyncCondition condition, OpenTK.Graphics.ES30.WaitSyncFlags flags) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glFenceSync((OpenTK.Graphics.ES30.All)condition, (UInt32)flags); - #if DEBUG - } - #endif - } - - - /// [requires: v3.0 and ES_VERSION_3_0] - /// Create a new sync object and insert it into the GL command stream - /// - /// - /// - /// Specifies the condition that must be met to set the sync object's state to signaled. condition must be GL_SYNC_GPU_COMMANDS_COMPLETE. - /// - /// - /// - /// - /// 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. - /// - /// - [System.CLSCompliant(false)] - [AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glFenceSync")] - public static - IntPtr FenceSync(OpenTK.Graphics.ES30.All condition, UInt32 flags) - { - #if DEBUG - using (new ErrorHelper(GraphicsContext.CurrentContext)) - { - #endif - return Delegates.glFenceSync((OpenTK.Graphics.ES30.All)condition, (UInt32)flags); + return Delegates.glFenceSync((OpenTK.Graphics.ES30.SyncCondition)condition, (OpenTK.Graphics.ES30.WaitSyncFlags)flags); #if DEBUG } #endif @@ -34568,13 +34510,13 @@ namespace OpenTK.Graphics.ES30 /// [AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glWaitSync")] public static - void WaitSync(IntPtr sync, Int32 flags, Int64 timeout) + void WaitSync(IntPtr sync, OpenTK.Graphics.ES30.WaitSyncFlags flags, Int64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - Delegates.glWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); + Delegates.glWaitSync((IntPtr)sync, (OpenTK.Graphics.ES30.WaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif @@ -34602,13 +34544,13 @@ namespace OpenTK.Graphics.ES30 [System.CLSCompliant(false)] [AutoGenerated(Category = "ES_VERSION_3_0", Version = "3.0", EntryPoint = "glWaitSync")] public static - void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout) + void WaitSync(IntPtr sync, OpenTK.Graphics.ES30.WaitSyncFlags flags, UInt64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - Delegates.glWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); + Delegates.glWaitSync((IntPtr)sync, (OpenTK.Graphics.ES30.WaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif diff --git a/Source/OpenTK/Graphics/ES30/ES30Delegates.cs b/Source/OpenTK/Graphics/ES30/ES30Delegates.cs index 3eba03da..52c88c85 100644 --- a/Source/OpenTK/Graphics/ES30/ES30Delegates.cs +++ b/Source/OpenTK/Graphics/ES30/ES30Delegates.cs @@ -168,7 +168,7 @@ namespace OpenTK.Graphics.ES30 internal delegate void ClearStencil(Int32 s); internal static ClearStencil glClearStencil; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate OpenTK.Graphics.ES30.All ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); + internal delegate OpenTK.Graphics.ES30.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.ES30.ClientWaitSyncFlags flags, UInt64 timeout); internal static ClientWaitSync glClientWaitSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate OpenTK.Graphics.ES30.All ClientWaitSyncAPPLE(IntPtr sync, UInt32 flags, UInt64 timeout); @@ -444,10 +444,10 @@ namespace OpenTK.Graphics.ES30 internal delegate void ExtTexObjectStateOverrideiQCOM(OpenTK.Graphics.ES30.All target, OpenTK.Graphics.ES30.All pname, Int32 param); internal static ExtTexObjectStateOverrideiQCOM glExtTexObjectStateOverrideiQCOM; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate IntPtr FenceSync(OpenTK.Graphics.ES30.All condition, UInt32 flags); + internal delegate IntPtr FenceSync(OpenTK.Graphics.ES30.SyncCondition condition, OpenTK.Graphics.ES30.WaitSyncFlags flags); internal static FenceSync glFenceSync; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate IntPtr FenceSyncAPPLE(OpenTK.Graphics.ES30.All condition, UInt32 flags); + internal delegate IntPtr FenceSyncAPPLE(OpenTK.Graphics.ES30.SyncCondition condition, OpenTK.Graphics.ES30.WaitSyncFlags flags); internal static FenceSyncAPPLE glFenceSyncAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Finish(); @@ -1371,7 +1371,7 @@ namespace OpenTK.Graphics.ES30 internal delegate void Viewport(Int32 x, Int32 y, Int32 width, Int32 height); internal static Viewport glViewport; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); + internal delegate void WaitSync(IntPtr sync, OpenTK.Graphics.ES30.WaitSyncFlags flags, UInt64 timeout); internal static WaitSync glWaitSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WaitSyncAPPLE(IntPtr sync, UInt32 flags, UInt64 timeout); diff --git a/Source/OpenTK/Graphics/ES30/ES30Enums.cs b/Source/OpenTK/Graphics/ES30/ES30Enums.cs index 0ccae4ac..154c9405 100644 --- a/Source/OpenTK/Graphics/ES30/ES30Enums.cs +++ b/Source/OpenTK/Graphics/ES30/ES30Enums.cs @@ -385,7 +385,7 @@ namespace OpenTK.Graphics.ES30 } /// - /// Used in GL.Amd.GetPerfMonitorCounterData, GL.Amd.GetPerfMonitorCounterInfo and 76 other functions + /// Used in GL.Amd.GetPerfMonitorCounterData, GL.Amd.GetPerfMonitorCounterInfo and 74 other functions /// public enum All : int { @@ -9748,6 +9748,21 @@ namespace OpenTK.Graphics.ES30 ClientAllAttribBits = unchecked((int)0xFFFFFFFF) , } + /// + /// Used in GL.ClientWaitSync + /// + public enum ClientWaitSyncFlags : int + { + /// + /// Original was GL_NONE = 0 + /// + None = ((int)0) , + /// + /// Original was GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 + /// + SyncFlushCommandsBit = ((int)0x00000001) , + } + /// /// Not used directly. /// @@ -22520,6 +22535,17 @@ namespace OpenTK.Graphics.ES30 ShadingLanguageVersion = ((int)0X8b8c) , } + /// + /// Used in GL.Apple.FenceSync, GL.FenceSync + /// + public enum SyncCondition : int + { + /// + /// Original was GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117 + /// + SyncGpuCommandsComplete = ((int)0x9117) , + } + /// /// Not used directly. /// @@ -24172,4 +24198,38 @@ namespace OpenTK.Graphics.ES30 ShaderBinaryViv = ((int)0x8FC4) , } + /// + /// Used in GL.Apple.FenceSync, GL.FenceSync and 1 other function + /// + public enum WaitSyncFlags : int + { + /// + /// Original was GL_NONE = 0 + /// + None = ((int)0) , + } + + /// + /// Not used directly. + /// + public enum WaitSyncStatus : int + { + /// + /// Original was GL_ALREADY_SIGNALED = 0x911A + /// + AlreadySignaled = ((int)0x911A) , + /// + /// Original was GL_TIMEOUT_EXPIRED = 0x911B + /// + TimeoutExpired = ((int)0x911B) , + /// + /// Original was GL_CONDITION_SATISFIED = 0x911C + /// + ConditionSatisfied = ((int)0x911C) , + /// + /// Original was GL_WAIT_FAILED = 0x911D + /// + WaitFailed = ((int)0x911D) , + } + } diff --git a/Source/OpenTK/Graphics/ES30/ES3Core.cs b/Source/OpenTK/Graphics/ES30/ES3Core.cs index 3e28bd83..7ac3b77f 100644 --- a/Source/OpenTK/Graphics/ES30/ES3Core.cs +++ b/Source/OpenTK/Graphics/ES30/ES3Core.cs @@ -170,7 +170,7 @@ namespace OpenTK.Graphics.ES30 internal extern static void ClearStencil(Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientWaitSync", ExactSpelling = true)] - internal extern static OpenTK.Graphics.ES30.All ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); + internal extern static OpenTK.Graphics.ES30.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.ES30.ClientWaitSyncFlags flags, UInt64 timeout); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientWaitSyncAPPLE", ExactSpelling = true)] internal extern static OpenTK.Graphics.ES30.All ClientWaitSyncAPPLE(IntPtr sync, UInt32 flags, UInt64 timeout); @@ -446,10 +446,10 @@ namespace OpenTK.Graphics.ES30 internal extern static void ExtTexObjectStateOverrideiQCOM(OpenTK.Graphics.ES30.All target, OpenTK.Graphics.ES30.All pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFenceSync", ExactSpelling = true)] - internal extern static IntPtr FenceSync(OpenTK.Graphics.ES30.All condition, UInt32 flags); + internal extern static IntPtr FenceSync(OpenTK.Graphics.ES30.SyncCondition condition, OpenTK.Graphics.ES30.WaitSyncFlags flags); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFenceSyncAPPLE", ExactSpelling = true)] - internal extern static IntPtr FenceSyncAPPLE(OpenTK.Graphics.ES30.All condition, UInt32 flags); + internal extern static IntPtr FenceSyncAPPLE(OpenTK.Graphics.ES30.SyncCondition condition, OpenTK.Graphics.ES30.WaitSyncFlags flags); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinish", ExactSpelling = true)] internal extern static void Finish(); @@ -1373,7 +1373,7 @@ namespace OpenTK.Graphics.ES30 internal extern static void Viewport(Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWaitSync", ExactSpelling = true)] - internal extern static void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); + internal extern static void WaitSync(IntPtr sync, OpenTK.Graphics.ES30.WaitSyncFlags flags, UInt64 timeout); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWaitSyncAPPLE", ExactSpelling = true)] internal extern static void WaitSyncAPPLE(IntPtr sync, UInt32 flags, UInt64 timeout); diff --git a/Source/OpenTK/Graphics/OpenGL/GL.cs b/Source/OpenTK/Graphics/OpenGL/GL.cs index 2a04df52..28ac8f04 100644 --- a/Source/OpenTK/Graphics/OpenGL/GL.cs +++ b/Source/OpenTK/Graphics/OpenGL/GL.cs @@ -44447,13 +44447,13 @@ namespace OpenTK.Graphics.OpenGL /// [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glClientWaitSync")] public static - OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.WaitSyncFlags flags, Int64 timeout) + OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.ClientWaitSyncFlags flags, Int64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL.WaitSyncFlags)flags, (UInt64)timeout); + return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL.ClientWaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif @@ -44481,13 +44481,13 @@ namespace OpenTK.Graphics.OpenGL [System.CLSCompliant(false)] [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glClientWaitSync")] public static - OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.WaitSyncFlags flags, UInt64 timeout) + OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.ClientWaitSyncFlags flags, UInt64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL.WaitSyncFlags)flags, (UInt64)timeout); + return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL.ClientWaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif @@ -62474,42 +62474,13 @@ namespace OpenTK.Graphics.OpenGL /// [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glFenceSync")] public static - IntPtr FenceSync(OpenTK.Graphics.OpenGL.SyncCondition condition, Int32 flags) + IntPtr FenceSync(OpenTK.Graphics.OpenGL.SyncCondition condition, OpenTK.Graphics.OpenGL.WaitSyncFlags flags) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glFenceSync((OpenTK.Graphics.OpenGL.SyncCondition)condition, (UInt32)flags); - #if DEBUG - } - #endif - } - - - /// [requires: v3.2 and ARB_sync|VERSION_3_2] - /// Create a new sync object and insert it into the GL command stream - /// - /// - /// - /// Specifies the condition that must be met to set the sync object's state to signaled. condition must be GL_SYNC_GPU_COMMANDS_COMPLETE. - /// - /// - /// - /// - /// 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. - /// - /// - [System.CLSCompliant(false)] - [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glFenceSync")] - public static - IntPtr FenceSync(OpenTK.Graphics.OpenGL.SyncCondition condition, UInt32 flags) - { - #if DEBUG - using (new ErrorHelper(GraphicsContext.CurrentContext)) - { - #endif - return Delegates.glFenceSync((OpenTK.Graphics.OpenGL.SyncCondition)condition, (UInt32)flags); + return Delegates.glFenceSync((OpenTK.Graphics.OpenGL.SyncCondition)condition, (OpenTK.Graphics.OpenGL.WaitSyncFlags)flags); #if DEBUG } #endif diff --git a/Source/OpenTK/Graphics/OpenGL/GLCore.cs b/Source/OpenTK/Graphics/OpenGL/GLCore.cs index c0c00c09..2d8feb61 100644 --- a/Source/OpenTK/Graphics/OpenGL/GLCore.cs +++ b/Source/OpenTK/Graphics/OpenGL/GLCore.cs @@ -554,7 +554,7 @@ namespace OpenTK.Graphics.OpenGL internal extern static void ClientAttribDefaultEXT(OpenTK.Graphics.OpenGL.ClientAttribMask mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientWaitSync", ExactSpelling = true)] - internal extern static OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.WaitSyncFlags flags, UInt64 timeout); + internal extern static OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.ClientWaitSyncFlags flags, UInt64 timeout); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClipPlane", ExactSpelling = true)] internal extern static unsafe void ClipPlane(OpenTK.Graphics.OpenGL.ClipPlaneName plane, Double* equation); @@ -1619,7 +1619,7 @@ namespace OpenTK.Graphics.OpenGL internal extern static unsafe void FeedbackBufferxOES(Int32 n, OpenTK.Graphics.OpenGL.OesFixedPoint type, int* buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFenceSync", ExactSpelling = true)] - internal extern static IntPtr FenceSync(OpenTK.Graphics.OpenGL.SyncCondition condition, UInt32 flags); + internal extern static IntPtr FenceSync(OpenTK.Graphics.OpenGL.SyncCondition condition, OpenTK.Graphics.OpenGL.WaitSyncFlags flags); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinalCombinerInputNV", ExactSpelling = true)] internal extern static void FinalCombinerInputNV(OpenTK.Graphics.OpenGL.NvRegisterCombiners variable, OpenTK.Graphics.OpenGL.NvRegisterCombiners input, OpenTK.Graphics.OpenGL.NvRegisterCombiners mapping, OpenTK.Graphics.OpenGL.NvRegisterCombiners componentUsage); diff --git a/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs b/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs index 57dea1ff..0637b89c 100644 --- a/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs +++ b/Source/OpenTK/Graphics/OpenGL/GLDelegates.cs @@ -552,7 +552,7 @@ namespace OpenTK.Graphics.OpenGL internal delegate void ClientAttribDefaultEXT(OpenTK.Graphics.OpenGL.ClientAttribMask mask); internal static ClientAttribDefaultEXT glClientAttribDefaultEXT; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.WaitSyncFlags flags, UInt64 timeout); + internal delegate OpenTK.Graphics.OpenGL.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL.ClientWaitSyncFlags flags, UInt64 timeout); internal static ClientWaitSync glClientWaitSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ClipPlane(OpenTK.Graphics.OpenGL.ClipPlaneName plane, Double* equation); @@ -1617,7 +1617,7 @@ namespace OpenTK.Graphics.OpenGL internal unsafe delegate void FeedbackBufferxOES(Int32 n, OpenTK.Graphics.OpenGL.OesFixedPoint type, int* buffer); internal unsafe static FeedbackBufferxOES glFeedbackBufferxOES; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate IntPtr FenceSync(OpenTK.Graphics.OpenGL.SyncCondition condition, UInt32 flags); + internal delegate IntPtr FenceSync(OpenTK.Graphics.OpenGL.SyncCondition condition, OpenTK.Graphics.OpenGL.WaitSyncFlags flags); internal static FenceSync glFenceSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinalCombinerInputNV(OpenTK.Graphics.OpenGL.NvRegisterCombiners variable, OpenTK.Graphics.OpenGL.NvRegisterCombiners input, OpenTK.Graphics.OpenGL.NvRegisterCombiners mapping, OpenTK.Graphics.OpenGL.NvRegisterCombiners componentUsage); diff --git a/Source/OpenTK/Graphics/OpenGL/GLEnums.cs b/Source/OpenTK/Graphics/OpenGL/GLEnums.cs index 684d6fc8..12a6c41e 100644 --- a/Source/OpenTK/Graphics/OpenGL/GLEnums.cs +++ b/Source/OpenTK/Graphics/OpenGL/GLEnums.cs @@ -28832,6 +28832,21 @@ namespace OpenTK.Graphics.OpenGL ClientAllAttribBits = unchecked((int)0xFFFFFFFF) , } + /// + /// Used in GL.ClientWaitSync + /// + public enum ClientWaitSyncFlags : int + { + /// + /// Original was GL_NONE = 0 + /// + None = ((int)0) , + /// + /// Original was GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 + /// + SyncFlushCommandsBit = ((int)0x00000001) , + } + /// /// Used in GL.ClipPlane, GL.GetClipPlane /// @@ -59374,7 +59389,7 @@ namespace OpenTK.Graphics.OpenGL } /// - /// Used in GL.ClientWaitSync, GL.WaitSync + /// Used in GL.FenceSync, GL.WaitSync /// public enum WaitSyncFlags : int { @@ -59382,10 +59397,6 @@ namespace OpenTK.Graphics.OpenGL /// Original was GL_NONE = 0 /// None = ((int)0) , - /// - /// Original was GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 - /// - SyncFlushCommandsBit = ((int)0x00000001) , } /// diff --git a/Source/OpenTK/Graphics/OpenGL4/GL4.cs b/Source/OpenTK/Graphics/OpenGL4/GL4.cs index 7ba38aec..4b7a0ca0 100644 --- a/Source/OpenTK/Graphics/OpenGL4/GL4.cs +++ b/Source/OpenTK/Graphics/OpenGL4/GL4.cs @@ -11135,13 +11135,13 @@ namespace OpenTK.Graphics.OpenGL4 /// [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glClientWaitSync")] public static - OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.WaitSyncFlags flags, Int64 timeout) + OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.ClientWaitSyncFlags flags, Int64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL4.WaitSyncFlags)flags, (UInt64)timeout); + return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL4.ClientWaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif @@ -11169,13 +11169,13 @@ namespace OpenTK.Graphics.OpenGL4 [System.CLSCompliant(false)] [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glClientWaitSync")] public static - OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.WaitSyncFlags flags, UInt64 timeout) + OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.ClientWaitSyncFlags flags, UInt64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL4.WaitSyncFlags)flags, (UInt64)timeout); + return Delegates.glClientWaitSync((IntPtr)sync, (OpenTK.Graphics.OpenGL4.ClientWaitSyncFlags)flags, (UInt64)timeout); #if DEBUG } #endif @@ -23355,42 +23355,13 @@ namespace OpenTK.Graphics.OpenGL4 /// [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glFenceSync")] public static - IntPtr FenceSync(OpenTK.Graphics.OpenGL4.SyncCondition condition, Int32 flags) + IntPtr FenceSync(OpenTK.Graphics.OpenGL4.SyncCondition condition, OpenTK.Graphics.OpenGL4.WaitSyncFlags flags) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif - return Delegates.glFenceSync((OpenTK.Graphics.OpenGL4.SyncCondition)condition, (UInt32)flags); - #if DEBUG - } - #endif - } - - - /// [requires: v3.2 and ARB_sync|VERSION_3_2] - /// Create a new sync object and insert it into the GL command stream - /// - /// - /// - /// Specifies the condition that must be met to set the sync object's state to signaled. condition must be GL_SYNC_GPU_COMMANDS_COMPLETE. - /// - /// - /// - /// - /// 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. - /// - /// - [System.CLSCompliant(false)] - [AutoGenerated(Category = "ARB_sync|VERSION_3_2", Version = "3.2", EntryPoint = "glFenceSync")] - public static - IntPtr FenceSync(OpenTK.Graphics.OpenGL4.SyncCondition condition, UInt32 flags) - { - #if DEBUG - using (new ErrorHelper(GraphicsContext.CurrentContext)) - { - #endif - return Delegates.glFenceSync((OpenTK.Graphics.OpenGL4.SyncCondition)condition, (UInt32)flags); + return Delegates.glFenceSync((OpenTK.Graphics.OpenGL4.SyncCondition)condition, (OpenTK.Graphics.OpenGL4.WaitSyncFlags)flags); #if DEBUG } #endif diff --git a/Source/OpenTK/Graphics/OpenGL4/GL4Core.cs b/Source/OpenTK/Graphics/OpenGL4/GL4Core.cs index acad4ecc..fe8e13e1 100644 --- a/Source/OpenTK/Graphics/OpenGL4/GL4Core.cs +++ b/Source/OpenTK/Graphics/OpenGL4/GL4Core.cs @@ -221,7 +221,7 @@ namespace OpenTK.Graphics.OpenGL4 internal extern static void ClearTexSubImage(UInt32 texture, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.OpenGL4.PixelFormat format, OpenTK.Graphics.OpenGL4.PixelType type, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientWaitSync", ExactSpelling = true)] - internal extern static OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.WaitSyncFlags flags, UInt64 timeout); + internal extern static OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.ClientWaitSyncFlags flags, UInt64 timeout); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMask", ExactSpelling = true)] internal extern static void ColorMask(bool red, bool green, bool blue, bool alpha); @@ -527,7 +527,7 @@ namespace OpenTK.Graphics.OpenGL4 internal extern static void EndTransformFeedback(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFenceSync", ExactSpelling = true)] - internal extern static IntPtr FenceSync(OpenTK.Graphics.OpenGL4.SyncCondition condition, UInt32 flags); + internal extern static IntPtr FenceSync(OpenTK.Graphics.OpenGL4.SyncCondition condition, OpenTK.Graphics.OpenGL4.WaitSyncFlags flags); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinish", ExactSpelling = true)] internal extern static void Finish(); diff --git a/Source/OpenTK/Graphics/OpenGL4/GL4Delegates.cs b/Source/OpenTK/Graphics/OpenGL4/GL4Delegates.cs index a2fb9cf8..c958240e 100644 --- a/Source/OpenTK/Graphics/OpenGL4/GL4Delegates.cs +++ b/Source/OpenTK/Graphics/OpenGL4/GL4Delegates.cs @@ -219,7 +219,7 @@ namespace OpenTK.Graphics.OpenGL4 internal delegate void ClearTexSubImage(UInt32 texture, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.OpenGL4.PixelFormat format, OpenTK.Graphics.OpenGL4.PixelType type, IntPtr data); internal static ClearTexSubImage glClearTexSubImage; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.WaitSyncFlags flags, UInt64 timeout); + internal delegate OpenTK.Graphics.OpenGL4.WaitSyncStatus ClientWaitSync(IntPtr sync, OpenTK.Graphics.OpenGL4.ClientWaitSyncFlags flags, UInt64 timeout); internal static ClientWaitSync glClientWaitSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMask(bool red, bool green, bool blue, bool alpha); @@ -525,7 +525,7 @@ namespace OpenTK.Graphics.OpenGL4 internal delegate void EndTransformFeedback(); internal static EndTransformFeedback glEndTransformFeedback; [System.Security.SuppressUnmanagedCodeSecurity()] - internal delegate IntPtr FenceSync(OpenTK.Graphics.OpenGL4.SyncCondition condition, UInt32 flags); + internal delegate IntPtr FenceSync(OpenTK.Graphics.OpenGL4.SyncCondition condition, OpenTK.Graphics.OpenGL4.WaitSyncFlags flags); internal static FenceSync glFenceSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Finish(); diff --git a/Source/OpenTK/Graphics/OpenGL4/GL4Enums.cs b/Source/OpenTK/Graphics/OpenGL4/GL4Enums.cs index 68be0b86..4a1a8110 100644 --- a/Source/OpenTK/Graphics/OpenGL4/GL4Enums.cs +++ b/Source/OpenTK/Graphics/OpenGL4/GL4Enums.cs @@ -15292,6 +15292,21 @@ namespace OpenTK.Graphics.OpenGL4 { } + /// + /// Used in GL.ClientWaitSync + /// + public enum ClientWaitSyncFlags : int + { + /// + /// Original was GL_NONE = 0 + /// + None = ((int)0) , + /// + /// Original was GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 + /// + SyncFlushCommandsBit = ((int)0x00000001) , + } + /// /// Not used directly. /// @@ -33122,7 +33137,7 @@ namespace OpenTK.Graphics.OpenGL4 } /// - /// Used in GL.ClientWaitSync, GL.WaitSync + /// Used in GL.FenceSync, GL.WaitSync /// public enum WaitSyncFlags : int { @@ -33130,10 +33145,6 @@ namespace OpenTK.Graphics.OpenGL4 /// Original was GL_NONE = 0 /// None = ((int)0) , - /// - /// Original was GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 - /// - SyncFlushCommandsBit = ((int)0x00000001) , } ///