-- This file was automatically generated. {-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Ext.KHR.Debug ( -- * Extension Support gl_KHR_debug -- * GL_KHR_debug , glDebugMessageCallback , glDebugMessageCallbackKHR , glDebugMessageControl , glDebugMessageControlKHR , glDebugMessageInsert , glDebugMessageInsertKHR , glGetDebugMessageLog , glGetDebugMessageLogKHR , glGetObjectLabel , glGetObjectLabelKHR , glGetObjectPtrLabel , glGetObjectPtrLabelKHR , glGetPointerv , glGetPointervKHR , glObjectLabel , glObjectLabelKHR , glObjectPtrLabel , glObjectPtrLabelKHR , glPopDebugGroup , glPopDebugGroupKHR , glPushDebugGroup , glPushDebugGroupKHR , pattern GL_BUFFER , pattern GL_BUFFER_KHR , pattern GL_CONTEXT_FLAG_DEBUG_BIT , pattern GL_CONTEXT_FLAG_DEBUG_BIT_KHR , pattern GL_DEBUG_CALLBACK_FUNCTION , pattern GL_DEBUG_CALLBACK_FUNCTION_KHR , pattern GL_DEBUG_CALLBACK_USER_PARAM , pattern GL_DEBUG_CALLBACK_USER_PARAM_KHR , pattern GL_DEBUG_GROUP_STACK_DEPTH , pattern GL_DEBUG_GROUP_STACK_DEPTH_KHR , pattern GL_DEBUG_LOGGED_MESSAGES , pattern GL_DEBUG_LOGGED_MESSAGES_KHR , pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH , pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR , pattern GL_DEBUG_OUTPUT , pattern GL_DEBUG_OUTPUT_KHR , pattern GL_DEBUG_OUTPUT_SYNCHRONOUS , pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR , pattern GL_DEBUG_SEVERITY_HIGH , pattern GL_DEBUG_SEVERITY_HIGH_KHR , pattern GL_DEBUG_SEVERITY_LOW , pattern GL_DEBUG_SEVERITY_LOW_KHR , pattern GL_DEBUG_SEVERITY_MEDIUM , pattern GL_DEBUG_SEVERITY_MEDIUM_KHR , pattern GL_DEBUG_SEVERITY_NOTIFICATION , pattern GL_DEBUG_SEVERITY_NOTIFICATION_KHR , pattern GL_DEBUG_SOURCE_API , pattern GL_DEBUG_SOURCE_API_KHR , pattern GL_DEBUG_SOURCE_APPLICATION , pattern GL_DEBUG_SOURCE_APPLICATION_KHR , pattern GL_DEBUG_SOURCE_OTHER , pattern GL_DEBUG_SOURCE_OTHER_KHR , pattern GL_DEBUG_SOURCE_SHADER_COMPILER , pattern GL_DEBUG_SOURCE_SHADER_COMPILER_KHR , pattern GL_DEBUG_SOURCE_THIRD_PARTY , pattern GL_DEBUG_SOURCE_THIRD_PARTY_KHR , pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM , pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR , pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR , pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR , pattern GL_DEBUG_TYPE_ERROR , pattern GL_DEBUG_TYPE_ERROR_KHR , pattern GL_DEBUG_TYPE_MARKER , pattern GL_DEBUG_TYPE_MARKER_KHR , pattern GL_DEBUG_TYPE_OTHER , pattern GL_DEBUG_TYPE_OTHER_KHR , pattern GL_DEBUG_TYPE_PERFORMANCE , pattern GL_DEBUG_TYPE_PERFORMANCE_KHR , pattern GL_DEBUG_TYPE_POP_GROUP , pattern GL_DEBUG_TYPE_POP_GROUP_KHR , pattern GL_DEBUG_TYPE_PORTABILITY , pattern GL_DEBUG_TYPE_PORTABILITY_KHR , pattern GL_DEBUG_TYPE_PUSH_GROUP , pattern GL_DEBUG_TYPE_PUSH_GROUP_KHR , pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR , pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR , pattern GL_DISPLAY_LIST , pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH , pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR , pattern GL_MAX_DEBUG_LOGGED_MESSAGES , pattern GL_MAX_DEBUG_LOGGED_MESSAGES_KHR , pattern GL_MAX_DEBUG_MESSAGE_LENGTH , pattern GL_MAX_DEBUG_MESSAGE_LENGTH_KHR , pattern GL_MAX_LABEL_LENGTH , pattern GL_MAX_LABEL_LENGTH_KHR , pattern GL_PROGRAM , pattern GL_PROGRAM_KHR , pattern GL_PROGRAM_PIPELINE , pattern GL_PROGRAM_PIPELINE_KHR , pattern GL_QUERY , pattern GL_QUERY_KHR , pattern GL_SAMPLER , pattern GL_SAMPLER_KHR , pattern GL_SHADER , pattern GL_SHADER_KHR , pattern GL_STACK_OVERFLOW , pattern GL_STACK_OVERFLOW_KHR , pattern GL_STACK_UNDERFLOW , pattern GL_STACK_UNDERFLOW_KHR , pattern GL_VERTEX_ARRAY , pattern GL_VERTEX_ARRAY_KHR ) where import Control.Monad.IO.Class import Data.Set import Foreign.Ptr import Graphics.GL.Internal.FFI import Graphics.GL.Internal.Proc import Graphics.GL.Internal.Shared import Graphics.GL.Types import System.IO.Unsafe -- | Checks that the extension is available. gl_KHR_debug :: Bool gl_KHR_debug = member "GL_KHR_debug" extensions {-# NOINLINE gl_KHR_debug #-} -- | Usage: @'glDebugMessageCallbackKHR' callback userParam@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glDebugMessageCallback'. glDebugMessageCallbackKHR :: MonadIO m => GLDEBUGPROCKHR -> Ptr () -> m () glDebugMessageCallbackKHR = ffiDEBUGPROCKHRPtrVIOV glDebugMessageCallbackKHRFunPtr glDebugMessageCallbackKHRFunPtr :: FunPtr (GLDEBUGPROCKHR -> Ptr () -> IO ()) glDebugMessageCallbackKHRFunPtr = unsafePerformIO (getProcAddress "glDebugMessageCallbackKHR") {-# NOINLINE glDebugMessageCallbackKHRFunPtr #-} -- | Usage: @'glDebugMessageControlKHR' source type severity count ids enabled@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glDebugMessageControl'. glDebugMessageControlKHR :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m () glDebugMessageControlKHR = ffienumenumenumsizeiPtruintbooleanIOV glDebugMessageControlKHRFunPtr glDebugMessageControlKHRFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()) glDebugMessageControlKHRFunPtr = unsafePerformIO (getProcAddress "glDebugMessageControlKHR") {-# NOINLINE glDebugMessageControlKHRFunPtr #-} -- | Usage: @'glDebugMessageInsertKHR' source type id severity length buf@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glDebugMessageInsert'. glDebugMessageInsertKHR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m () glDebugMessageInsertKHR = ffienumenumuintenumsizeiPtrcharIOV glDebugMessageInsertKHRFunPtr glDebugMessageInsertKHRFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()) glDebugMessageInsertKHRFunPtr = unsafePerformIO (getProcAddress "glDebugMessageInsertKHR") {-# NOINLINE glDebugMessageInsertKHRFunPtr #-} -- | Usage: @'glGetDebugMessageLogKHR' count bufSize sources types ids severities lengths messageLog@ -- -- The length of @sources@ should be @count@. -- -- The length of @types@ should be @count@. -- -- The length of @ids@ should be @count@. -- -- The length of @severities@ should be @count@. -- -- The length of @lengths@ should be @count@. -- -- The length of @messageLog@ should be @bufSize@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetDebugMessageLog'. glGetDebugMessageLogKHR :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint glGetDebugMessageLogKHR = ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint glGetDebugMessageLogKHRFunPtr glGetDebugMessageLogKHRFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint) glGetDebugMessageLogKHRFunPtr = unsafePerformIO (getProcAddress "glGetDebugMessageLogKHR") {-# NOINLINE glGetDebugMessageLogKHRFunPtr #-} -- | Usage: @'glGetObjectLabelKHR' identifier name bufSize length label@ -- -- The length of @label@ should be @bufSize@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetObjectLabel'. glGetObjectLabelKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m () glGetObjectLabelKHR = ffienumuintsizeiPtrsizeiPtrcharIOV glGetObjectLabelKHRFunPtr glGetObjectLabelKHRFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) glGetObjectLabelKHRFunPtr = unsafePerformIO (getProcAddress "glGetObjectLabelKHR") {-# NOINLINE glGetObjectLabelKHRFunPtr #-} -- | Usage: @'glGetObjectPtrLabelKHR' ptr bufSize length label@ -- -- The length of @length@ should be @1@. -- -- The length of @label@ should be @bufSize@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetObjectPtrLabel'. glGetObjectPtrLabelKHR :: MonadIO m => Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m () glGetObjectPtrLabelKHR = ffiPtrVsizeiPtrsizeiPtrcharIOV glGetObjectPtrLabelKHRFunPtr glGetObjectPtrLabelKHRFunPtr :: FunPtr (Ptr () -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) glGetObjectPtrLabelKHRFunPtr = unsafePerformIO (getProcAddress "glGetObjectPtrLabelKHR") {-# NOINLINE glGetObjectPtrLabelKHRFunPtr #-} -- | Usage: @'glGetPointervKHR' pname params@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetPointerv'. glGetPointervKHR :: MonadIO m => GLenum -> Ptr (Ptr ()) -> m () glGetPointervKHR = ffienumPtrPtrVIOV glGetPointervKHRFunPtr glGetPointervKHRFunPtr :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()) glGetPointervKHRFunPtr = unsafePerformIO (getProcAddress "glGetPointervKHR") {-# NOINLINE glGetPointervKHRFunPtr #-} -- | Usage: @'glObjectLabelKHR' identifier name length label@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glObjectLabel'. glObjectLabelKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m () glObjectLabelKHR = ffienumuintsizeiPtrcharIOV glObjectLabelKHRFunPtr glObjectLabelKHRFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) glObjectLabelKHRFunPtr = unsafePerformIO (getProcAddress "glObjectLabelKHR") {-# NOINLINE glObjectLabelKHRFunPtr #-} -- | Usage: @'glObjectPtrLabelKHR' ptr length label@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glObjectPtrLabel'. glObjectPtrLabelKHR :: MonadIO m => Ptr () -> GLsizei -> Ptr GLchar -> m () glObjectPtrLabelKHR = ffiPtrVsizeiPtrcharIOV glObjectPtrLabelKHRFunPtr glObjectPtrLabelKHRFunPtr :: FunPtr (Ptr () -> GLsizei -> Ptr GLchar -> IO ()) glObjectPtrLabelKHRFunPtr = unsafePerformIO (getProcAddress "glObjectPtrLabelKHR") {-# NOINLINE glObjectPtrLabelKHRFunPtr #-} -- | Usage: @'glPopDebugGroupKHR'@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glPopDebugGroup'. glPopDebugGroupKHR :: MonadIO m => m () glPopDebugGroupKHR = ffiIOV glPopDebugGroupKHRFunPtr glPopDebugGroupKHRFunPtr :: FunPtr (IO ()) glPopDebugGroupKHRFunPtr = unsafePerformIO (getProcAddress "glPopDebugGroupKHR") {-# NOINLINE glPopDebugGroupKHRFunPtr #-} -- | Usage: @'glPushDebugGroupKHR' source id length message@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glPushDebugGroup'. glPushDebugGroupKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m () glPushDebugGroupKHR = ffienumuintsizeiPtrcharIOV glPushDebugGroupKHRFunPtr glPushDebugGroupKHRFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()) glPushDebugGroupKHRFunPtr = unsafePerformIO (getProcAddress "glPushDebugGroupKHR") {-# NOINLINE glPushDebugGroupKHRFunPtr #-} pattern GL_BUFFER_KHR = 0x82E0 pattern GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002 pattern GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244 pattern GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245 pattern GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D pattern GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145 pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243 pattern GL_DEBUG_OUTPUT_KHR = 0x92E0 pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242 pattern GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146 pattern GL_DEBUG_SEVERITY_LOW_KHR = 0x9148 pattern GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147 pattern GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B pattern GL_DEBUG_SOURCE_API_KHR = 0x8246 pattern GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A pattern GL_DEBUG_SOURCE_OTHER_KHR = 0x824B pattern GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248 pattern GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249 pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247 pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D pattern GL_DEBUG_TYPE_ERROR_KHR = 0x824C pattern GL_DEBUG_TYPE_MARKER_KHR = 0x8268 pattern GL_DEBUG_TYPE_OTHER_KHR = 0x8251 pattern GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250 pattern GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A pattern GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F pattern GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269 pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C pattern GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144 pattern GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143 pattern GL_MAX_LABEL_LENGTH_KHR = 0x82E8 pattern GL_PROGRAM_KHR = 0x82E2 pattern GL_PROGRAM_PIPELINE_KHR = 0x82E4 pattern GL_QUERY_KHR = 0x82E3 pattern GL_SAMPLER_KHR = 0x82E6 pattern GL_SHADER_KHR = 0x82E1 pattern GL_STACK_OVERFLOW_KHR = 0x0503 pattern GL_STACK_UNDERFLOW_KHR = 0x0504 pattern GL_VERTEX_ARRAY_KHR = 0x8074