-- This file was automatically generated. {-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Raw.Extension.AMD.PerformanceMonitor ( -- * Extension Support gl_AMD_performance_monitor -- * GL_AMD_performance_monitor , glBeginPerfMonitorAMD , glDeletePerfMonitorsAMD , glEndPerfMonitorAMD , glGenPerfMonitorsAMD , glGetPerfMonitorCounterDataAMD , glGetPerfMonitorCounterInfoAMD , glGetPerfMonitorCounterStringAMD , glGetPerfMonitorCountersAMD , glGetPerfMonitorGroupStringAMD , glGetPerfMonitorGroupsAMD , glSelectPerfMonitorCountersAMD , pattern GL_COUNTER_RANGE_AMD , pattern GL_COUNTER_TYPE_AMD , pattern GL_PERCENTAGE_AMD , pattern GL_PERFMON_RESULT_AMD , pattern GL_PERFMON_RESULT_AVAILABLE_AMD , pattern GL_PERFMON_RESULT_SIZE_AMD , pattern GL_UNSIGNED_INT64_AMD ) where import Control.Monad.IO.Class import Data.Set import Foreign.Ptr import Graphics.GL.Raw.Internal.FFI import Graphics.GL.Raw.Internal.Proc import Graphics.GL.Raw.Types import System.IO.Unsafe gl_AMD_performance_monitor :: Bool gl_AMD_performance_monitor = member "GL_AMD_performance_monitor" extensions glBeginPerfMonitorAMD :: MonadIO m => GLuint -> m () glBeginPerfMonitorAMD = ffiuintIOV glBeginPerfMonitorAMDFunPtr glBeginPerfMonitorAMDFunPtr :: FunPtr (GLuint -> IO ()) glBeginPerfMonitorAMDFunPtr = unsafePerformIO (getProcAddress "glBeginPerfMonitorAMD") {-# NOINLINE glBeginPerfMonitorAMDFunPtr #-} glDeletePerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m () glDeletePerfMonitorsAMD = ffisizeiPtruintIOV glDeletePerfMonitorsAMDFunPtr glDeletePerfMonitorsAMDFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) glDeletePerfMonitorsAMDFunPtr = unsafePerformIO (getProcAddress "glDeletePerfMonitorsAMD") {-# NOINLINE glDeletePerfMonitorsAMDFunPtr #-} glEndPerfMonitorAMD :: MonadIO m => GLuint -> m () glEndPerfMonitorAMD = ffiuintIOV glEndPerfMonitorAMDFunPtr glEndPerfMonitorAMDFunPtr :: FunPtr (GLuint -> IO ()) glEndPerfMonitorAMDFunPtr = unsafePerformIO (getProcAddress "glEndPerfMonitorAMD") {-# NOINLINE glEndPerfMonitorAMDFunPtr #-} glGenPerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m () glGenPerfMonitorsAMD = ffisizeiPtruintIOV glGenPerfMonitorsAMDFunPtr glGenPerfMonitorsAMDFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ()) glGenPerfMonitorsAMDFunPtr = unsafePerformIO (getProcAddress "glGenPerfMonitorsAMD") {-# NOINLINE glGenPerfMonitorsAMDFunPtr #-} glGetPerfMonitorCounterDataAMD :: MonadIO m => GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> m () glGetPerfMonitorCounterDataAMD = ffiuintenumsizeiPtruintPtrintIOV glGetPerfMonitorCounterDataAMDFunPtr glGetPerfMonitorCounterDataAMDFunPtr :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()) glGetPerfMonitorCounterDataAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorCounterDataAMD") {-# NOINLINE glGetPerfMonitorCounterDataAMDFunPtr #-} glGetPerfMonitorCounterInfoAMD :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr () -> m () glGetPerfMonitorCounterInfoAMD = ffiuintuintenumPtrVIOV glGetPerfMonitorCounterInfoAMDFunPtr glGetPerfMonitorCounterInfoAMDFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr () -> IO ()) glGetPerfMonitorCounterInfoAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorCounterInfoAMD") {-# NOINLINE glGetPerfMonitorCounterInfoAMDFunPtr #-} glGetPerfMonitorCounterStringAMD :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m () glGetPerfMonitorCounterStringAMD = ffiuintuintsizeiPtrsizeiPtrcharIOV glGetPerfMonitorCounterStringAMDFunPtr glGetPerfMonitorCounterStringAMDFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) glGetPerfMonitorCounterStringAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorCounterStringAMD") {-# NOINLINE glGetPerfMonitorCounterStringAMDFunPtr #-} glGetPerfMonitorCountersAMD :: MonadIO m => GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> m () glGetPerfMonitorCountersAMD = ffiuintPtrintPtrintsizeiPtruintIOV glGetPerfMonitorCountersAMDFunPtr glGetPerfMonitorCountersAMDFunPtr :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) glGetPerfMonitorCountersAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorCountersAMD") {-# NOINLINE glGetPerfMonitorCountersAMDFunPtr #-} glGetPerfMonitorGroupStringAMD :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m () glGetPerfMonitorGroupStringAMD = ffiuintsizeiPtrsizeiPtrcharIOV glGetPerfMonitorGroupStringAMDFunPtr glGetPerfMonitorGroupStringAMDFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()) glGetPerfMonitorGroupStringAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorGroupStringAMD") {-# NOINLINE glGetPerfMonitorGroupStringAMDFunPtr #-} glGetPerfMonitorGroupsAMD :: MonadIO m => Ptr GLint -> GLsizei -> Ptr GLuint -> m () glGetPerfMonitorGroupsAMD = ffiPtrintsizeiPtruintIOV glGetPerfMonitorGroupsAMDFunPtr glGetPerfMonitorGroupsAMDFunPtr :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()) glGetPerfMonitorGroupsAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorGroupsAMD") {-# NOINLINE glGetPerfMonitorGroupsAMDFunPtr #-} glSelectPerfMonitorCountersAMD :: MonadIO m => GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> m () glSelectPerfMonitorCountersAMD = ffiuintbooleanuintintPtruintIOV glSelectPerfMonitorCountersAMDFunPtr glSelectPerfMonitorCountersAMDFunPtr :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()) glSelectPerfMonitorCountersAMDFunPtr = unsafePerformIO (getProcAddress "glSelectPerfMonitorCountersAMD") {-# NOINLINE glSelectPerfMonitorCountersAMDFunPtr #-} pattern GL_COUNTER_RANGE_AMD = 0x8BC1 pattern GL_COUNTER_TYPE_AMD = 0x8BC0 pattern GL_PERCENTAGE_AMD = 0x8BC3 pattern GL_PERFMON_RESULT_AMD = 0x8BC6 pattern GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4 pattern GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5 pattern GL_UNSIGNED_INT64_AMD = 0x8BC2