-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.EXT.TextureInteger (
  -- * Extension Support
    gl_EXT_texture_integer

  -- * GL_EXT_texture_integer
  , glClearColorIiEXT
  , glClearColorIuiEXT
  , glGetTexParameterIivEXT
  , glGetTexParameterIuivEXT
  , glTexParameterIivEXT
  , glTexParameterIuivEXT
  , pattern GL_ALPHA16I_EXT
  , pattern GL_ALPHA16UI_EXT
  , pattern GL_ALPHA32I_EXT
  , pattern GL_ALPHA32UI_EXT
  , pattern GL_ALPHA8I_EXT
  , pattern GL_ALPHA8UI_EXT
  , pattern GL_ALPHA_INTEGER_EXT
  , pattern GL_BGRA_INTEGER_EXT
  , pattern GL_BGR_INTEGER_EXT
  , pattern GL_BLUE_INTEGER_EXT
  , pattern GL_GREEN_INTEGER_EXT
  , pattern GL_INTENSITY16I_EXT
  , pattern GL_INTENSITY16UI_EXT
  , pattern GL_INTENSITY32I_EXT
  , pattern GL_INTENSITY32UI_EXT
  , pattern GL_INTENSITY8I_EXT
  , pattern GL_INTENSITY8UI_EXT
  , pattern GL_LUMINANCE16I_EXT
  , pattern GL_LUMINANCE16UI_EXT
  , pattern GL_LUMINANCE32I_EXT
  , pattern GL_LUMINANCE32UI_EXT
  , pattern GL_LUMINANCE8I_EXT
  , pattern GL_LUMINANCE8UI_EXT
  , pattern GL_LUMINANCE_ALPHA16I_EXT
  , pattern GL_LUMINANCE_ALPHA16UI_EXT
  , pattern GL_LUMINANCE_ALPHA32I_EXT
  , pattern GL_LUMINANCE_ALPHA32UI_EXT
  , pattern GL_LUMINANCE_ALPHA8I_EXT
  , pattern GL_LUMINANCE_ALPHA8UI_EXT
  , pattern GL_LUMINANCE_ALPHA_INTEGER_EXT
  , pattern GL_LUMINANCE_INTEGER_EXT
  , pattern GL_RED_INTEGER_EXT
  , pattern GL_RGB16I_EXT
  , pattern GL_RGB16UI_EXT
  , pattern GL_RGB32I_EXT
  , pattern GL_RGB32UI_EXT
  , pattern GL_RGB8I_EXT
  , pattern GL_RGB8UI_EXT
  , pattern GL_RGBA16I_EXT
  , pattern GL_RGBA16UI_EXT
  , pattern GL_RGBA32I_EXT
  , pattern GL_RGBA32UI_EXT
  , pattern GL_RGBA8I_EXT
  , pattern GL_RGBA8UI_EXT
  , pattern GL_RGBA_INTEGER_EXT
  , pattern GL_RGBA_INTEGER_MODE_EXT
  , pattern GL_RGB_INTEGER_EXT
) 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.Internal.Shared
import Graphics.GL.Types
import System.IO.Unsafe

-- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/texture_integer.txt GL_EXT_texture_integer> extension is available.

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

-- | Usage: @'glClearColorIiEXT' red green blue alpha@


glClearColorIiEXT :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glClearColorIiEXT :: GLint -> GLint -> GLint -> GLint -> m ()
glClearColorIiEXT = FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-> GLint -> GLint -> GLint -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-> GLint -> GLint -> GLint -> GLint -> m ()
ffiintintintintIOV FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glClearColorIiEXTFunPtr

glClearColorIiEXTFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glClearColorIiEXTFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glClearColorIiEXTFunPtr = IO (FunPtr (GLint -> GLint -> GLint -> GLint -> IO ()))
-> FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLint -> GLint -> GLint -> GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glClearColorIiEXT")

{-# NOINLINE glClearColorIiEXTFunPtr #-}

-- | Usage: @'glClearColorIuiEXT' red green blue alpha@


glClearColorIuiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()
glClearColorIuiEXT :: GLuint -> GLuint -> GLuint -> GLuint -> m ()
glClearColorIuiEXT = FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-> GLuint -> GLuint -> GLuint -> GLuint -> m ()
ffiuintuintuintuintIOV FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
glClearColorIuiEXTFunPtr

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

{-# NOINLINE glClearColorIuiEXTFunPtr #-}

pattern $bGL_ALPHA16I_EXT :: a
$mGL_ALPHA16I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA16I_EXT = 0x8D8A

pattern $bGL_ALPHA16UI_EXT :: a
$mGL_ALPHA16UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA16UI_EXT = 0x8D78

pattern $bGL_ALPHA32I_EXT :: a
$mGL_ALPHA32I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA32I_EXT = 0x8D84

pattern $bGL_ALPHA32UI_EXT :: a
$mGL_ALPHA32UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA32UI_EXT = 0x8D72

pattern $bGL_ALPHA8I_EXT :: a
$mGL_ALPHA8I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA8I_EXT = 0x8D90

pattern $bGL_ALPHA8UI_EXT :: a
$mGL_ALPHA8UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA8UI_EXT = 0x8D7E

pattern $bGL_ALPHA_INTEGER_EXT :: a
$mGL_ALPHA_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_ALPHA_INTEGER_EXT = 0x8D97

pattern $bGL_BGRA_INTEGER_EXT :: a
$mGL_BGRA_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGRA_INTEGER_EXT = 0x8D9B

pattern $bGL_BGR_INTEGER_EXT :: a
$mGL_BGR_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BGR_INTEGER_EXT = 0x8D9A

pattern $bGL_BLUE_INTEGER_EXT :: a
$mGL_BLUE_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLUE_INTEGER_EXT = 0x8D96

pattern $bGL_GREEN_INTEGER_EXT :: a
$mGL_GREEN_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREEN_INTEGER_EXT = 0x8D95

pattern $bGL_INTENSITY16I_EXT :: a
$mGL_INTENSITY16I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY16I_EXT = 0x8D8B

pattern $bGL_INTENSITY16UI_EXT :: a
$mGL_INTENSITY16UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY16UI_EXT = 0x8D79

pattern $bGL_INTENSITY32I_EXT :: a
$mGL_INTENSITY32I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY32I_EXT = 0x8D85

pattern $bGL_INTENSITY32UI_EXT :: a
$mGL_INTENSITY32UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY32UI_EXT = 0x8D73

pattern $bGL_INTENSITY8I_EXT :: a
$mGL_INTENSITY8I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY8I_EXT = 0x8D91

pattern $bGL_INTENSITY8UI_EXT :: a
$mGL_INTENSITY8UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INTENSITY8UI_EXT = 0x8D7F

pattern $bGL_LUMINANCE16I_EXT :: a
$mGL_LUMINANCE16I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE16I_EXT = 0x8D8C

pattern $bGL_LUMINANCE16UI_EXT :: a
$mGL_LUMINANCE16UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE16UI_EXT = 0x8D7A

pattern $bGL_LUMINANCE32I_EXT :: a
$mGL_LUMINANCE32I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE32I_EXT = 0x8D86

pattern $bGL_LUMINANCE32UI_EXT :: a
$mGL_LUMINANCE32UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE32UI_EXT = 0x8D74

pattern $bGL_LUMINANCE8I_EXT :: a
$mGL_LUMINANCE8I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE8I_EXT = 0x8D92

pattern $bGL_LUMINANCE8UI_EXT :: a
$mGL_LUMINANCE8UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE8UI_EXT = 0x8D80

pattern $bGL_LUMINANCE_ALPHA16I_EXT :: a
$mGL_LUMINANCE_ALPHA16I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D

pattern $bGL_LUMINANCE_ALPHA16UI_EXT :: a
$mGL_LUMINANCE_ALPHA16UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B

pattern $bGL_LUMINANCE_ALPHA32I_EXT :: a
$mGL_LUMINANCE_ALPHA32I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA32I_EXT = 0x8D87

pattern $bGL_LUMINANCE_ALPHA32UI_EXT :: a
$mGL_LUMINANCE_ALPHA32UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75

pattern $bGL_LUMINANCE_ALPHA8I_EXT :: a
$mGL_LUMINANCE_ALPHA8I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA8I_EXT = 0x8D93

pattern $bGL_LUMINANCE_ALPHA8UI_EXT :: a
$mGL_LUMINANCE_ALPHA8UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81

pattern $bGL_LUMINANCE_ALPHA_INTEGER_EXT :: a
$mGL_LUMINANCE_ALPHA_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D

pattern $bGL_LUMINANCE_INTEGER_EXT :: a
$mGL_LUMINANCE_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LUMINANCE_INTEGER_EXT = 0x8D9C

pattern $bGL_RED_INTEGER_EXT :: a
$mGL_RED_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RED_INTEGER_EXT = 0x8D94

pattern $bGL_RGB16I_EXT :: a
$mGL_RGB16I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16I_EXT = 0x8D89

pattern $bGL_RGB16UI_EXT :: a
$mGL_RGB16UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB16UI_EXT = 0x8D77

pattern $bGL_RGB32I_EXT :: a
$mGL_RGB32I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB32I_EXT = 0x8D83

pattern $bGL_RGB32UI_EXT :: a
$mGL_RGB32UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB32UI_EXT = 0x8D71

pattern $bGL_RGB8I_EXT :: a
$mGL_RGB8I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB8I_EXT = 0x8D8F

pattern $bGL_RGB8UI_EXT :: a
$mGL_RGB8UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB8UI_EXT = 0x8D7D

pattern $bGL_RGBA16I_EXT :: a
$mGL_RGBA16I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16I_EXT = 0x8D88

pattern $bGL_RGBA16UI_EXT :: a
$mGL_RGBA16UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA16UI_EXT = 0x8D76

pattern $bGL_RGBA32I_EXT :: a
$mGL_RGBA32I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA32I_EXT = 0x8D82

pattern $bGL_RGBA32UI_EXT :: a
$mGL_RGBA32UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA32UI_EXT = 0x8D70

pattern $bGL_RGBA8I_EXT :: a
$mGL_RGBA8I_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA8I_EXT = 0x8D8E

pattern $bGL_RGBA8UI_EXT :: a
$mGL_RGBA8UI_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA8UI_EXT = 0x8D7C

pattern $bGL_RGBA_INTEGER_EXT :: a
$mGL_RGBA_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA_INTEGER_EXT = 0x8D99

pattern $bGL_RGBA_INTEGER_MODE_EXT :: a
$mGL_RGBA_INTEGER_MODE_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGBA_INTEGER_MODE_EXT = 0x8D9E

pattern $bGL_RGB_INTEGER_EXT :: a
$mGL_RGB_INTEGER_EXT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RGB_INTEGER_EXT = 0x8D98