-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.INTEL.PerformanceQuery (
  -- * Extension Support
    gl_INTEL_performance_query

  -- * GL_INTEL_performance_query
  , glBeginPerfQueryINTEL
  , glCreatePerfQueryINTEL
  , glDeletePerfQueryINTEL
  , glEndPerfQueryINTEL
  , glGetFirstPerfQueryIdINTEL
  , glGetNextPerfQueryIdINTEL
  , glGetPerfCounterInfoINTEL
  , glGetPerfQueryDataINTEL
  , glGetPerfQueryIdByNameINTEL
  , glGetPerfQueryInfoINTEL
  , pattern GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL
  , pattern GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL
  , pattern GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL
  , pattern GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL
  , pattern GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL
  , pattern GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL
  , pattern GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL
  , pattern GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL
  , pattern GL_PERFQUERY_COUNTER_EVENT_INTEL
  , pattern GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL
  , pattern GL_PERFQUERY_COUNTER_RAW_INTEL
  , pattern GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL
  , pattern GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL
  , pattern GL_PERFQUERY_DONOT_FLUSH_INTEL
  , pattern GL_PERFQUERY_FLUSH_INTEL
  , pattern GL_PERFQUERY_GLOBAL_CONTEXT_INTEL
  , pattern GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL
  , pattern GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL
  , pattern GL_PERFQUERY_SINGLE_CONTEXT_INTEL
  , pattern GL_PERFQUERY_WAIT_INTEL
) 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

-- | Checks that the <https://www.khronos.org/registry/gles/extensions/INTEL/INTEL_performance_query.txt GL_INTEL_performance_query> extension is available.

gl_INTEL_performance_query :: Bool
gl_INTEL_performance_query :: Bool
gl_INTEL_performance_query = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_INTEL_performance_query" Set [Char]
extensions
{-# NOINLINE gl_INTEL_performance_query #-}

-- | Usage: @'glBeginPerfQueryINTEL' queryHandle@


glBeginPerfQueryINTEL :: MonadIO m => GLuint -> m ()
glBeginPerfQueryINTEL :: GLuint -> m ()
glBeginPerfQueryINTEL = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glBeginPerfQueryINTELFunPtr

glBeginPerfQueryINTELFunPtr :: FunPtr (GLuint -> IO ())
glBeginPerfQueryINTELFunPtr :: FunPtr (GLuint -> IO ())
glBeginPerfQueryINTELFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBeginPerfQueryINTEL")

{-# NOINLINE glBeginPerfQueryINTELFunPtr #-}

-- | Usage: @'glCreatePerfQueryINTEL' queryId queryHandle@


glCreatePerfQueryINTEL :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glCreatePerfQueryINTEL :: GLuint -> Ptr GLuint -> m ()
glCreatePerfQueryINTEL = FunPtr (GLuint -> Ptr GLuint -> IO ())
-> GLuint -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLuint -> IO ())
-> GLuint -> Ptr GLuint -> m ()
ffiuintPtruintIOV FunPtr (GLuint -> Ptr GLuint -> IO ())
glCreatePerfQueryINTELFunPtr

glCreatePerfQueryINTELFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glCreatePerfQueryINTELFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glCreatePerfQueryINTELFunPtr = IO (FunPtr (GLuint -> Ptr GLuint -> IO ()))
-> FunPtr (GLuint -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glCreatePerfQueryINTEL")

{-# NOINLINE glCreatePerfQueryINTELFunPtr #-}

-- | Usage: @'glDeletePerfQueryINTEL' queryHandle@


glDeletePerfQueryINTEL :: MonadIO m => GLuint -> m ()
glDeletePerfQueryINTEL :: GLuint -> m ()
glDeletePerfQueryINTEL = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glDeletePerfQueryINTELFunPtr

glDeletePerfQueryINTELFunPtr :: FunPtr (GLuint -> IO ())
glDeletePerfQueryINTELFunPtr :: FunPtr (GLuint -> IO ())
glDeletePerfQueryINTELFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeletePerfQueryINTEL")

{-# NOINLINE glDeletePerfQueryINTELFunPtr #-}

-- | Usage: @'glEndPerfQueryINTEL' queryHandle@


glEndPerfQueryINTEL :: MonadIO m => GLuint -> m ()
glEndPerfQueryINTEL :: GLuint -> m ()
glEndPerfQueryINTEL = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glEndPerfQueryINTELFunPtr

glEndPerfQueryINTELFunPtr :: FunPtr (GLuint -> IO ())
glEndPerfQueryINTELFunPtr :: FunPtr (GLuint -> IO ())
glEndPerfQueryINTELFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glEndPerfQueryINTEL")

{-# NOINLINE glEndPerfQueryINTELFunPtr #-}

-- | Usage: @'glGetFirstPerfQueryIdINTEL' queryId@


glGetFirstPerfQueryIdINTEL :: MonadIO m => Ptr GLuint -> m ()
glGetFirstPerfQueryIdINTEL :: Ptr GLuint -> m ()
glGetFirstPerfQueryIdINTEL = FunPtr (Ptr GLuint -> IO ()) -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLuint -> IO ()) -> Ptr GLuint -> m ()
ffiPtruintIOV FunPtr (Ptr GLuint -> IO ())
glGetFirstPerfQueryIdINTELFunPtr

glGetFirstPerfQueryIdINTELFunPtr :: FunPtr (Ptr GLuint -> IO ())
glGetFirstPerfQueryIdINTELFunPtr :: FunPtr (Ptr GLuint -> IO ())
glGetFirstPerfQueryIdINTELFunPtr = IO (FunPtr (Ptr GLuint -> IO ())) -> FunPtr (Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetFirstPerfQueryIdINTEL")

{-# NOINLINE glGetFirstPerfQueryIdINTELFunPtr #-}

-- | Usage: @'glGetNextPerfQueryIdINTEL' queryId nextQueryId@


glGetNextPerfQueryIdINTEL :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glGetNextPerfQueryIdINTEL :: GLuint -> Ptr GLuint -> m ()
glGetNextPerfQueryIdINTEL = FunPtr (GLuint -> Ptr GLuint -> IO ())
-> GLuint -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> Ptr GLuint -> IO ())
-> GLuint -> Ptr GLuint -> m ()
ffiuintPtruintIOV FunPtr (GLuint -> Ptr GLuint -> IO ())
glGetNextPerfQueryIdINTELFunPtr

glGetNextPerfQueryIdINTELFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glGetNextPerfQueryIdINTELFunPtr :: FunPtr (GLuint -> Ptr GLuint -> IO ())
glGetNextPerfQueryIdINTELFunPtr = IO (FunPtr (GLuint -> Ptr GLuint -> IO ()))
-> FunPtr (GLuint -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLuint -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetNextPerfQueryIdINTEL")

{-# NOINLINE glGetNextPerfQueryIdINTELFunPtr #-}

-- | Usage: @'glGetPerfCounterInfoINTEL' queryId counterId counterNameLength counterName counterDescLength counterDesc counterOffset counterDataSize counterTypeEnum counterDataTypeEnum rawCounterMaxValue@


glGetPerfCounterInfoINTEL :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> m ()
glGetPerfCounterInfoINTEL :: GLuint
-> GLuint
-> GLuint
-> Ptr GLchar
-> GLuint
-> Ptr GLchar
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint64
-> m ()
glGetPerfCounterInfoINTEL = FunPtr
  (GLuint
   -> GLuint
   -> GLuint
   -> Ptr GLchar
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint64
   -> IO ())
-> GLuint
-> GLuint
-> GLuint
-> Ptr GLchar
-> GLuint
-> Ptr GLchar
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint64
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint
   -> GLuint
   -> GLuint
   -> Ptr GLchar
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint64
   -> IO ())
-> GLuint
-> GLuint
-> GLuint
-> Ptr GLchar
-> GLuint
-> Ptr GLchar
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint64
-> m ()
ffiuintuintuintPtrcharuintPtrcharPtruintPtruintPtruintPtruintPtruint64IOV FunPtr
  (GLuint
   -> GLuint
   -> GLuint
   -> Ptr GLchar
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint64
   -> IO ())
glGetPerfCounterInfoINTELFunPtr

glGetPerfCounterInfoINTELFunPtr :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
glGetPerfCounterInfoINTELFunPtr :: FunPtr
  (GLuint
   -> GLuint
   -> GLuint
   -> Ptr GLchar
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint64
   -> IO ())
glGetPerfCounterInfoINTELFunPtr = IO
  (FunPtr
     (GLuint
      -> GLuint
      -> GLuint
      -> Ptr GLchar
      -> GLuint
      -> Ptr GLchar
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint64
      -> IO ()))
-> FunPtr
     (GLuint
      -> GLuint
      -> GLuint
      -> Ptr GLchar
      -> GLuint
      -> Ptr GLchar
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint64
      -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint
         -> GLuint
         -> GLuint
         -> Ptr GLchar
         -> GLuint
         -> Ptr GLchar
         -> Ptr GLuint
         -> Ptr GLuint
         -> Ptr GLuint
         -> Ptr GLuint
         -> Ptr GLuint64
         -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetPerfCounterInfoINTEL")

{-# NOINLINE glGetPerfCounterInfoINTELFunPtr #-}

-- | Usage: @'glGetPerfQueryDataINTEL' queryHandle flags dataSize data bytesWritten@


glGetPerfQueryDataINTEL :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> m ()
glGetPerfQueryDataINTEL :: GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> m ()
glGetPerfQueryDataINTEL = FunPtr
  (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ())
-> GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> m ()
ffiuintuintsizeiPtrVPtruintIOV FunPtr
  (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ())
glGetPerfQueryDataINTELFunPtr

glGetPerfQueryDataINTELFunPtr :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ())
glGetPerfQueryDataINTELFunPtr :: FunPtr
  (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ())
glGetPerfQueryDataINTELFunPtr = IO
  (FunPtr
     (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()))
-> FunPtr
     (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint -> GLuint -> GLsizei -> Ptr () -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetPerfQueryDataINTEL")

{-# NOINLINE glGetPerfQueryDataINTELFunPtr #-}

-- | Usage: @'glGetPerfQueryIdByNameINTEL' queryName queryId@


glGetPerfQueryIdByNameINTEL :: MonadIO m => Ptr GLchar -> Ptr GLuint -> m ()
glGetPerfQueryIdByNameINTEL :: Ptr GLchar -> Ptr GLuint -> m ()
glGetPerfQueryIdByNameINTEL = FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
-> Ptr GLchar -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
-> Ptr GLchar -> Ptr GLuint -> m ()
ffiPtrcharPtruintIOV FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
glGetPerfQueryIdByNameINTELFunPtr

glGetPerfQueryIdByNameINTELFunPtr :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
glGetPerfQueryIdByNameINTELFunPtr :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
glGetPerfQueryIdByNameINTELFunPtr = IO (FunPtr (Ptr GLchar -> Ptr GLuint -> IO ()))
-> FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (Ptr GLchar -> Ptr GLuint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetPerfQueryIdByNameINTEL")

{-# NOINLINE glGetPerfQueryIdByNameINTELFunPtr #-}

-- | Usage: @'glGetPerfQueryInfoINTEL' queryId queryNameLength queryName dataSize noCounters noInstances capsMask@


glGetPerfQueryInfoINTEL :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> m ()
glGetPerfQueryInfoINTEL :: GLuint
-> GLuint
-> Ptr GLchar
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> m ()
glGetPerfQueryInfoINTEL = FunPtr
  (GLuint
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> IO ())
-> GLuint
-> GLuint
-> Ptr GLchar
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLuint
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> IO ())
-> GLuint
-> GLuint
-> Ptr GLchar
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> Ptr GLuint
-> m ()
ffiuintuintPtrcharPtruintPtruintPtruintPtruintIOV FunPtr
  (GLuint
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> IO ())
glGetPerfQueryInfoINTELFunPtr

glGetPerfQueryInfoINTELFunPtr :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
glGetPerfQueryInfoINTELFunPtr :: FunPtr
  (GLuint
   -> GLuint
   -> Ptr GLchar
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> Ptr GLuint
   -> IO ())
glGetPerfQueryInfoINTELFunPtr = IO
  (FunPtr
     (GLuint
      -> GLuint
      -> Ptr GLchar
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> IO ()))
-> FunPtr
     (GLuint
      -> GLuint
      -> Ptr GLchar
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> Ptr GLuint
      -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr
        (GLuint
         -> GLuint
         -> Ptr GLchar
         -> Ptr GLuint
         -> Ptr GLuint
         -> Ptr GLuint
         -> Ptr GLuint
         -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetPerfQueryInfoINTEL")

{-# NOINLINE glGetPerfQueryInfoINTELFunPtr #-}

pattern $bGL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: a
$mGL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC

pattern $bGL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: a
$mGL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB

pattern $bGL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: a
$mGL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA

pattern $bGL_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: a
$mGL_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8

pattern $bGL_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: a
$mGL_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9

pattern $bGL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: a
$mGL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF

pattern $bGL_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: a
$mGL_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1

pattern $bGL_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: a
$mGL_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2

pattern $bGL_PERFQUERY_COUNTER_EVENT_INTEL :: a
$mGL_PERFQUERY_COUNTER_EVENT_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0

pattern $bGL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: a
$mGL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE

pattern $bGL_PERFQUERY_COUNTER_RAW_INTEL :: a
$mGL_PERFQUERY_COUNTER_RAW_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4

pattern $bGL_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: a
$mGL_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3

pattern $bGL_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: a
$mGL_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5

pattern $bGL_PERFQUERY_DONOT_FLUSH_INTEL :: a
$mGL_PERFQUERY_DONOT_FLUSH_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9

pattern $bGL_PERFQUERY_FLUSH_INTEL :: a
$mGL_PERFQUERY_FLUSH_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_FLUSH_INTEL = 0x83FA

pattern $bGL_PERFQUERY_GLOBAL_CONTEXT_INTEL :: a
$mGL_PERFQUERY_GLOBAL_CONTEXT_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001

pattern $bGL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: a
$mGL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500

pattern $bGL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: a
$mGL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD

pattern $bGL_PERFQUERY_SINGLE_CONTEXT_INTEL :: a
$mGL_PERFQUERY_SINGLE_CONTEXT_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000

pattern $bGL_PERFQUERY_WAIT_INTEL :: a
$mGL_PERFQUERY_WAIT_INTEL :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PERFQUERY_WAIT_INTEL = 0x83FB