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

  -- * GL_SGIS_sharpen_texture
  , glGetSharpenTexFuncSGIS
  , glSharpenTexFuncSGIS
  , pattern GL_LINEAR_SHARPEN_ALPHA_SGIS
  , pattern GL_LINEAR_SHARPEN_COLOR_SGIS
  , pattern GL_LINEAR_SHARPEN_SGIS
  , pattern GL_SHARPEN_TEXTURE_FUNC_POINTS_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_sharpen_texture :: Bool
gl_SGIS_sharpen_texture = member "GL_SGIS_sharpen_texture" extensions

glGetSharpenTexFuncSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetSharpenTexFuncSGIS = ffienumPtrfloatIOV glGetSharpenTexFuncSGISFunPtr

glGetSharpenTexFuncSGISFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetSharpenTexFuncSGISFunPtr = unsafePerformIO (getProcAddress "glGetSharpenTexFuncSGIS")

{-# NOINLINE glGetSharpenTexFuncSGISFunPtr #-}

glSharpenTexFuncSGIS :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glSharpenTexFuncSGIS = ffienumsizeiPtrfloatIOV glSharpenTexFuncSGISFunPtr

glSharpenTexFuncSGISFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
glSharpenTexFuncSGISFunPtr = unsafePerformIO (getProcAddress "glSharpenTexFuncSGIS")

{-# NOINLINE glSharpenTexFuncSGISFunPtr #-}

pattern GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE :: GLenum

pattern GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF :: GLenum

pattern GL_LINEAR_SHARPEN_SGIS = 0x80AD :: GLenum

pattern GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0 :: GLenum