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.SyncObjects

Contents

- Sync Objects and Fences
- Waiting for Sync Objects
- Sync Object Queries

Description

This module corresponds to section 4.1 (Sync Objects and Fences) of the OpenGL 4.4 specs.

Synopsis

- data SyncObject
- syncGpuCommandsComplete :: IO SyncObject
- type WaitTimeout = GLuint64
- data WaitFlag = SyncFlushCommands
- data WaitResult
  - = AlreadySignaled
  - | TimeoutExpired
  - | ConditionSatisfied
  - | WaitFailed
- clientWaitSync :: SyncObject -> [WaitFlag] -> WaitTimeout -> IO WaitResult
- waitSync :: SyncObject -> IO ()
- maxServerWaitTimeout :: GettableStateVar WaitTimeout
- data SyncStatus
  - = Unsignaled
  - | Signaled
- syncStatus :: SyncObject -> GettableStateVar SyncStatus

# Sync Objects and Fences

data SyncObject Source #

#### Instances

Instances details

ObjectName SyncObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.SyncObjects Methods isObjectName :: MonadIO m => SyncObject -> m Bool Source # deleteObjectName :: MonadIO m => SyncObject -> m () Source # deleteObjectNames :: MonadIO m => [SyncObject] -> m () Source #
CanBeLabeled SyncObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.SyncObjects Methods objectLabel :: SyncObject -> StateVar (Maybe String) Source #
Show SyncObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.SyncObjects Methods showsPrec :: Int -> SyncObject -> ShowS Source # show :: SyncObject -> String Source # showList :: [SyncObject] -> ShowS Source #
Eq SyncObject Source # |
Instance details Defined in Graphics.Rendering.OpenGL.GL.SyncObjects Methods (==) :: SyncObject -> SyncObject -> Bool Source # (/=) :: SyncObject -> SyncObject -> Bool Source #
Ord SyncObject Source # |

Instance details

Defined in Graphics.Rendering.OpenGL.GL.SyncObjects

Methods

compare :: SyncObject -> SyncObject -> Ordering Source #

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

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

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

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

max :: SyncObject -> SyncObject -> SyncObject Source #

min :: SyncObject -> SyncObject -> SyncObject Source #

syncGpuCommandsComplete :: IO SyncObject Source #

# Waiting for Sync Objects

type WaitTimeout = GLuint64 Source #

data WaitFlag Source #

Constructors

SyncFlushCommands |

#### Instances

Instances details

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

Instance details

Defined in Graphics.Rendering.OpenGL.GL.SyncObjects

Methods

compare :: WaitFlag -> WaitFlag -> Ordering Source #

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

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

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

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

max :: WaitFlag -> WaitFlag -> WaitFlag Source #

min :: WaitFlag -> WaitFlag -> WaitFlag Source #

data WaitResult Source #

Constructors

AlreadySignaled |
TimeoutExpired |
ConditionSatisfied |
WaitFailed |

#### Instances

Instances details

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

Instance details

Defined in Graphics.Rendering.OpenGL.GL.SyncObjects

Methods

compare :: WaitResult -> WaitResult -> Ordering Source #

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

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

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

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

max :: WaitResult -> WaitResult -> WaitResult Source #

min :: WaitResult -> WaitResult -> WaitResult Source #

clientWaitSync :: SyncObject -> [WaitFlag] -> WaitTimeout -> IO WaitResult Source #

waitSync :: SyncObject -> IO () Source #

maxServerWaitTimeout :: GettableStateVar WaitTimeout Source #

# Sync Object Queries

data SyncStatus Source #

Constructors

Unsignaled |
Signaled |

#### Instances

Instances details

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

Instance details

Defined in Graphics.Rendering.OpenGL.GL.SyncObjects

Methods

compare :: SyncStatus -> SyncStatus -> Ordering Source #

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

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

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

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

max :: SyncStatus -> SyncStatus -> SyncStatus Source #

min :: SyncStatus -> SyncStatus -> SyncStatus Source #

syncStatus :: SyncObject -> GettableStateVar SyncStatus Source #