module Graphics.GL.Ext.ARB.DebugOutput (
gl_ARB_debug_output
, glDebugMessageCallbackARB
, glDebugMessageControlARB
, glDebugMessageInsertARB
, glGetDebugMessageLogARB
, pattern GL_DEBUG_CALLBACK_FUNCTION_ARB
, pattern GL_DEBUG_CALLBACK_USER_PARAM_ARB
, pattern GL_DEBUG_LOGGED_MESSAGES_ARB
, pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB
, pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB
, pattern GL_DEBUG_SEVERITY_HIGH_ARB
, pattern GL_DEBUG_SEVERITY_LOW_ARB
, pattern GL_DEBUG_SEVERITY_MEDIUM_ARB
, pattern GL_DEBUG_SOURCE_API_ARB
, pattern GL_DEBUG_SOURCE_APPLICATION_ARB
, pattern GL_DEBUG_SOURCE_OTHER_ARB
, pattern GL_DEBUG_SOURCE_SHADER_COMPILER_ARB
, pattern GL_DEBUG_SOURCE_THIRD_PARTY_ARB
, pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB
, pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB
, pattern GL_DEBUG_TYPE_ERROR_ARB
, pattern GL_DEBUG_TYPE_OTHER_ARB
, pattern GL_DEBUG_TYPE_PERFORMANCE_ARB
, pattern GL_DEBUG_TYPE_PORTABILITY_ARB
, pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB
, pattern GL_MAX_DEBUG_LOGGED_MESSAGES_ARB
, pattern GL_MAX_DEBUG_MESSAGE_LENGTH_ARB
) 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.Types
import System.IO.Unsafe
gl_ARB_debug_output :: Bool
gl_ARB_debug_output = member "GL_ARB_debug_output" extensions
glDebugMessageCallbackARB :: MonadIO m => GLDEBUGPROCARB -> Ptr () -> m ()
glDebugMessageCallbackARB = ffiDEBUGPROCARBPtrVIOV glDebugMessageCallbackARBFunPtr
glDebugMessageCallbackARBFunPtr :: FunPtr (GLDEBUGPROCARB -> Ptr () -> IO ())
glDebugMessageCallbackARBFunPtr = unsafePerformIO (getProcAddress "glDebugMessageCallbackARB")
glDebugMessageControlARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
glDebugMessageControlARB = ffienumenumenumsizeiPtruintbooleanIOV glDebugMessageControlARBFunPtr
glDebugMessageControlARBFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
glDebugMessageControlARBFunPtr = unsafePerformIO (getProcAddress "glDebugMessageControlARB")
glDebugMessageInsertARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glDebugMessageInsertARB = ffienumenumuintenumsizeiPtrcharIOV glDebugMessageInsertARBFunPtr
glDebugMessageInsertARBFunPtr :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
glDebugMessageInsertARBFunPtr = unsafePerformIO (getProcAddress "glDebugMessageInsertARB")
glGetDebugMessageLogARB :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint
glGetDebugMessageLogARB = ffiuintsizeiPtrenumPtrenumPtruintPtrenumPtrsizeiPtrcharIOuint glGetDebugMessageLogARBFunPtr
glGetDebugMessageLogARBFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
glGetDebugMessageLogARBFunPtr = unsafePerformIO (getProcAddress "glGetDebugMessageLogARB")
pattern GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244
pattern GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245
pattern GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242
pattern GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146
pattern GL_DEBUG_SEVERITY_LOW_ARB = 0x9148
pattern GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147
pattern GL_DEBUG_SOURCE_API_ARB = 0x8246
pattern GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A
pattern GL_DEBUG_SOURCE_OTHER_ARB = 0x824B
pattern GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248
pattern GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D
pattern GL_DEBUG_TYPE_ERROR_ARB = 0x824C
pattern GL_DEBUG_TYPE_OTHER_ARB = 0x8251
pattern GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250
pattern GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E
pattern GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144
pattern GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143