module Graphics.GL.Ext.AMD.PerformanceMonitor (
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.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.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")
glDeletePerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeletePerfMonitorsAMD = ffisizeiPtruintIOV glDeletePerfMonitorsAMDFunPtr
glDeletePerfMonitorsAMDFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeletePerfMonitorsAMDFunPtr = unsafePerformIO (getProcAddress "glDeletePerfMonitorsAMD")
glEndPerfMonitorAMD :: MonadIO m => GLuint -> m ()
glEndPerfMonitorAMD = ffiuintIOV glEndPerfMonitorAMDFunPtr
glEndPerfMonitorAMDFunPtr :: FunPtr (GLuint -> IO ())
glEndPerfMonitorAMDFunPtr = unsafePerformIO (getProcAddress "glEndPerfMonitorAMD")
glGenPerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenPerfMonitorsAMD = ffisizeiPtruintIOV glGenPerfMonitorsAMDFunPtr
glGenPerfMonitorsAMDFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenPerfMonitorsAMDFunPtr = unsafePerformIO (getProcAddress "glGenPerfMonitorsAMD")
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")
glGetPerfMonitorCounterInfoAMD :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr () -> m ()
glGetPerfMonitorCounterInfoAMD = ffiuintuintenumPtrVIOV glGetPerfMonitorCounterInfoAMDFunPtr
glGetPerfMonitorCounterInfoAMDFunPtr :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr () -> IO ())
glGetPerfMonitorCounterInfoAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorCounterInfoAMD")
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")
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")
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")
glGetPerfMonitorGroupsAMD :: MonadIO m => Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
glGetPerfMonitorGroupsAMD = ffiPtrintsizeiPtruintIOV glGetPerfMonitorGroupsAMDFunPtr
glGetPerfMonitorGroupsAMDFunPtr :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
glGetPerfMonitorGroupsAMDFunPtr = unsafePerformIO (getProcAddress "glGetPerfMonitorGroupsAMD")
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")
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