OpenGL-3.0.3.0: A binding for the OpenGL graphics system

Copyright | (c) Sven Panne 2019
License | BSD3
Maintainer | Sven Panne <svenpanne@gmail.com>
Stability | stable
Portability | portable
Safe Haskell | None
Language | Haskell2010

Graphics.Rendering.OpenGL.GL.DebugOutput

Contents

- Debug Messages
- Debug Message Callback
- Debug Message Log
- Controlling Debug Messages
- Externally Generated Messages
- Debug Groups
- Debug Labels
- Asynchronous and Synchronous Debug Output

Description

This module corresponds to section 20 (Debug Output) of the OpenGL 4.5 specs.

Synopsis

- debugOutput :: StateVar Capability
- data DebugMessage = DebugMessage DebugSource DebugType DebugMessageID DebugSeverity String
- data DebugSource
  - = DebugSourceAPI
  - | DebugSourceShaderCompiler
  - | DebugSourceWindowSystem
  - | DebugSourceThirdParty
  - | DebugSourceApplication
  - | DebugSourceOther
- data DebugType
  - = DebugTypeError
  - | DebugTypeDeprecatedBehavior
  - | DebugTypeUndefinedBehavior
  - | DebugTypePerformance
  - | DebugTypePortability
  - | DebugTypeMarker
  - | DebugTypePushGroup
  - | DebugTypePopGroup
  - | DebugTypeOther
- newtype DebugMessageID = DebugMessageID GLuint
- data DebugSeverity
  - = DebugSeverityHigh
  - | DebugSeverityMedium
  - | DebugSeverityLow
  - | DebugSeverityNotification
- maxDebugMessageLength :: GettableStateVar GLsizei
- debugMessageCallback :: StateVar (Maybe (DebugMessage -> IO ()))
- maxDebugLoggedMessages :: GettableStateVar GLsizei
- debugLoggedMessages :: IO [DebugMessage]
- data MessageGroup
  - = MessageGroup (Maybe DebugSource) (Maybe DebugType) (Maybe DebugSeverity)
  - | MessageGroupWithIDs DebugSource DebugType [DebugMessageID]
- debugMessageControl :: MessageGroup -> SettableStateVar Capability
- debugMessageInsert :: DebugMessage -> IO ()
- data DebugGroup = DebugGroup DebugSource DebugMessageID String
- pushDebugGroup :: DebugSource -> DebugMessageID -> String -> IO ()
- popDebugGroup :: IO ()
- withDebugGroup :: DebugSource -> DebugMessageID -> String -> IO a -> IO a
- maxDebugGroupStackDepth :: GettableStateVar GLsizei
- class CanBeLabeled a where
  - objectLabel :: a -> StateVar (Maybe String)
- maxLabelLength :: GettableStateVar GLsizei
- debugOutputSynchronous :: StateVar Capability

# Debug Messages

debugOutput :: StateVar Capability Source #

data DebugMessage Source #

Constructors

DebugMessage DebugSource DebugType DebugMessageID DebugSeverity String |

#### Instances

Instances details

Show DebugMessage Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods showsPrec :: Int -> DebugMessage -> ShowS Source # show :: DebugMessage -> String Source # showList :: [DebugMessage] -> ShowS Source #
Eq DebugMessage Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods (==) :: DebugMessage -> DebugMessage -> Bool Source # (/=) :: DebugMessage -> DebugMessage -> Bool Source #
Ord DebugMessage Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.DebugOutput

Methods

compare :: DebugMessage -> DebugMessage -> Ordering Source #

(<) :: DebugMessage -> DebugMessage -> Bool Source #

(<=) :: DebugMessage -> DebugMessage -> Bool Source #

(>) :: DebugMessage -> DebugMessage -> Bool Source #

(>=) :: DebugMessage -> DebugMessage -> Bool Source #

max :: DebugMessage -> DebugMessage -> DebugMessage Source #

min :: DebugMessage -> DebugMessage -> DebugMessage Source #

data DebugSource Source #

Constructors

DebugSourceAPI |
DebugSourceShaderCompiler |
DebugSourceWindowSystem |
DebugSourceThirdParty |
DebugSourceApplication |
DebugSourceOther |

#### Instances

Instances details

Show DebugSource Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods showsPrec :: Int -> DebugSource -> ShowS Source # show :: DebugSource -> String Source # showList :: [DebugSource] -> ShowS Source #
Eq DebugSource Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods (==) :: DebugSource -> DebugSource -> Bool Source # (/=) :: DebugSource -> DebugSource -> Bool Source #
Ord DebugSource Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.DebugOutput

Methods

compare :: DebugSource -> DebugSource -> Ordering Source #

(<) :: DebugSource -> DebugSource -> Bool Source #

(<=) :: DebugSource -> DebugSource -> Bool Source #

(>) :: DebugSource -> DebugSource -> Bool Source #

(>=) :: DebugSource -> DebugSource -> Bool Source #

max :: DebugSource -> DebugSource -> DebugSource Source #

min :: DebugSource -> DebugSource -> DebugSource Source #

data DebugType Source #

Constructors

DebugTypeError |
DebugTypeDeprecatedBehavior |
DebugTypeUndefinedBehavior |
DebugTypePerformance |
DebugTypePortability |
DebugTypeMarker |
DebugTypePushGroup |
DebugTypePopGroup |
DebugTypeOther |

#### Instances

Instances details

Show DebugType Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods showsPrec :: Int -> DebugType -> ShowS Source # show :: DebugType -> String Source # showList :: [DebugType] -> ShowS Source #
Eq DebugType Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods (==) :: DebugType -> DebugType -> Bool Source # (/=) :: DebugType -> DebugType -> Bool Source #
Ord DebugType Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.DebugOutput

Methods

compare :: DebugType -> DebugType -> Ordering Source #

(<) :: DebugType -> DebugType -> Bool Source #

(<=) :: DebugType -> DebugType -> Bool Source #

(>) :: DebugType -> DebugType -> Bool Source #

(>=) :: DebugType -> DebugType -> Bool Source #

max :: DebugType -> DebugType -> DebugType Source #

min :: DebugType -> DebugType -> DebugType Source #

newtype DebugMessageID Source #

Constructors

DebugMessageID GLuint |

#### Instances

Instances details

Show DebugMessageID Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods showsPrec :: Int -> DebugMessageID -> ShowS Source # show :: DebugMessageID -> String Source # showList :: [DebugMessageID] -> ShowS Source #
Eq DebugMessageID Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods (==) :: DebugMessageID -> DebugMessageID -> Bool Source # (/=) :: DebugMessageID -> DebugMessageID -> Bool Source #
Ord DebugMessageID Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.DebugOutput

Methods

compare :: DebugMessageID -> DebugMessageID -> Ordering Source #

(<) :: DebugMessageID -> DebugMessageID -> Bool Source #

(<=) :: DebugMessageID -> DebugMessageID -> Bool Source #

(>) :: DebugMessageID -> DebugMessageID -> Bool Source #

(>=) :: DebugMessageID -> DebugMessageID -> Bool Source #

max :: DebugMessageID -> DebugMessageID -> DebugMessageID Source #

min :: DebugMessageID -> DebugMessageID -> DebugMessageID Source #

data DebugSeverity Source #

Constructors

DebugSeverityHigh |
DebugSeverityMedium |
DebugSeverityLow |
DebugSeverityNotification |

#### Instances

Instances details

Show DebugSeverity Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods showsPrec :: Int -> DebugSeverity -> ShowS Source # show :: DebugSeverity -> String Source # showList :: [DebugSeverity] -> ShowS Source #
Eq DebugSeverity Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods (==) :: DebugSeverity -> DebugSeverity -> Bool Source # (/=) :: DebugSeverity -> DebugSeverity -> Bool Source #
Ord DebugSeverity Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.DebugOutput

Methods

compare :: DebugSeverity -> DebugSeverity -> Ordering Source #

(<) :: DebugSeverity -> DebugSeverity -> Bool Source #

(<=) :: DebugSeverity -> DebugSeverity -> Bool Source #

(>) :: DebugSeverity -> DebugSeverity -> Bool Source #

(>=) :: DebugSeverity -> DebugSeverity -> Bool Source #

max :: DebugSeverity -> DebugSeverity -> DebugSeverity Source #

min :: DebugSeverity -> DebugSeverity -> DebugSeverity Source #

maxDebugMessageLength :: GettableStateVar GLsizei Source #

# Debug Message Callback

debugMessageCallback :: StateVar (Maybe (DebugMessage -> IO ())) Source #

# Debug Message Log

maxDebugLoggedMessages :: GettableStateVar GLsizei Source #

debugLoggedMessages :: IO [DebugMessage] Source #

# Controlling Debug Messages

data MessageGroup Source #

Constructors

MessageGroup (Maybe DebugSource) (Maybe DebugType) (Maybe DebugSeverity) |
MessageGroupWithIDs DebugSource DebugType [DebugMessageID] |

#### Instances

Instances details

Show MessageGroup Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods showsPrec :: Int -> MessageGroup -> ShowS Source # show :: MessageGroup -> String Source # showList :: [MessageGroup] -> ShowS Source #
Eq MessageGroup Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DebugOutput Methods (==) :: MessageGroup -> MessageGroup -> Bool Source # (/=) :: MessageGroup -> MessageGroup -> Bool Source #
Ord MessageGroup Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.DebugOutput

Methods

compare :: MessageGroup -> MessageGroup -> Ordering Source #

(<) :: MessageGroup -> MessageGroup -> Bool Source #

(<=) :: MessageGroup -> MessageGroup -> Bool Source #

(>) :: MessageGroup -> MessageGroup -> Bool Source #

(>=) :: MessageGroup -> MessageGroup -> Bool Source #

max :: MessageGroup -> MessageGroup -> MessageGroup Source #

min :: MessageGroup -> MessageGroup -> MessageGroup Source #

debugMessageControl :: MessageGroup -> SettableStateVar Capability Source #

# Externally Generated Messages

debugMessageInsert :: DebugMessage -> IO () Source #

# Debug Groups

data DebugGroup Source #

Constructors

DebugGroup DebugSource DebugMessageID String |

pushDebugGroup :: DebugSource -> DebugMessageID -> String -> IO () Source #

popDebugGroup :: IO () Source #

withDebugGroup :: DebugSource -> DebugMessageID -> String -> IO a -> IO a Source #

maxDebugGroupStackDepth :: GettableStateVar GLsizei Source #

# Debug Labels

class CanBeLabeled a where Source #

Methods

objectLabel :: a -> StateVar (Maybe String) Source #

#### Instances

Instances details

CanBeLabeled BufferObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.BufferObjects Methods objectLabel :: BufferObject -> StateVar (Maybe String) Source #
CanBeLabeled DisplayList Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.DisplayLists Methods objectLabel :: DisplayList -> StateVar (Maybe String) Source #
CanBeLabeled FramebufferObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObject Methods objectLabel :: FramebufferObject -> StateVar (Maybe String) Source #
CanBeLabeled RenderbufferObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferObject Methods objectLabel :: RenderbufferObject -> StateVar (Maybe String) Source #
CanBeLabeled QueryObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.QueryObject Methods objectLabel :: QueryObject -> StateVar (Maybe String) Source #
CanBeLabeled Program Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Program Methods objectLabel :: Program -> StateVar (Maybe String) Source #
CanBeLabeled Shader Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Shaders.Shader Methods objectLabel :: Shader -> StateVar (Maybe String) Source #
CanBeLabeled SyncObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.SyncObjects Methods objectLabel :: SyncObject -> StateVar (Maybe String) Source #
CanBeLabeled TextureObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.Texturing.TextureObject Methods objectLabel :: TextureObject -> StateVar (Maybe String) Source #
CanBeLabeled VertexArrayObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.VertexArrayObjects Methods objectLabel :: VertexArrayObject -> StateVar (Maybe String) Source #

maxLabelLength :: GettableStateVar GLsizei Source #

# Asynchronous and Synchronous Debug Output

debugOutputSynchronous :: StateVar Capability Source #