-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.SGIS.TextureFilter4 (
  -- * Extension Support
    gl_SGIS_texture_filter4

  -- * GL_SGIS_texture_filter4
  , glGetTexFilterFuncSGIS
  , glTexFilterFuncSGIS
  , pattern GL_FILTER4_SGIS
  , pattern GL_TEXTURE_FILTER4_SIZE_SGIS
) 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_SGIS_texture_filter4 :: Bool
gl_SGIS_texture_filter4 = member "GL_SGIS_texture_filter4" extensions

glGetTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexFilterFuncSGIS = ffienumenumPtrfloatIOV glGetTexFilterFuncSGISFunPtr

glGetTexFilterFuncSGISFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetTexFilterFuncSGISFunPtr = unsafePerformIO (getProcAddress "glGetTexFilterFuncSGIS")

{-# NOINLINE glGetTexFilterFuncSGISFunPtr #-}

glTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glTexFilterFuncSGIS = ffienumenumsizeiPtrfloatIOV glTexFilterFuncSGISFunPtr

glTexFilterFuncSGISFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glTexFilterFuncSGISFunPtr = unsafePerformIO (getProcAddress "glTexFilterFuncSGIS")

{-# NOINLINE glTexFilterFuncSGISFunPtr #-}

pattern GL_FILTER4_SGIS = 0x8146 :: GLenum

pattern GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147 :: GLenum