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

  -- * GL_SGIS_pixel_texture
  , glGetPixelTexGenParameterfvSGIS
  , glGetPixelTexGenParameterivSGIS
  , glPixelTexGenParameterfSGIS
  , glPixelTexGenParameterfvSGIS
  , glPixelTexGenParameteriSGIS
  , glPixelTexGenParameterivSGIS
  , pattern GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS
  , pattern GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS
  , pattern GL_PIXEL_GROUP_COLOR_SGIS
  , pattern GL_PIXEL_TEXTURE_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_pixel_texture :: Bool
gl_SGIS_pixel_texture = member "GL_SGIS_pixel_texture" extensions

glGetPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetPixelTexGenParameterfvSGIS = ffienumPtrfloatIOV glGetPixelTexGenParameterfvSGISFunPtr

glGetPixelTexGenParameterfvSGISFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetPixelTexGenParameterfvSGISFunPtr = unsafePerformIO (getProcAddress "glGetPixelTexGenParameterfvSGIS")

{-# NOINLINE glGetPixelTexGenParameterfvSGISFunPtr #-}

glGetPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()
glGetPixelTexGenParameterivSGIS = ffienumPtrintIOV glGetPixelTexGenParameterivSGISFunPtr

glGetPixelTexGenParameterivSGISFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glGetPixelTexGenParameterivSGISFunPtr = unsafePerformIO (getProcAddress "glGetPixelTexGenParameterivSGIS")

{-# NOINLINE glGetPixelTexGenParameterivSGISFunPtr #-}

glPixelTexGenParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()
glPixelTexGenParameterfSGIS = ffienumfloatIOV glPixelTexGenParameterfSGISFunPtr

glPixelTexGenParameterfSGISFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPixelTexGenParameterfSGISFunPtr = unsafePerformIO (getProcAddress "glPixelTexGenParameterfSGIS")

{-# NOINLINE glPixelTexGenParameterfSGISFunPtr #-}

glPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPixelTexGenParameterfvSGIS = ffienumPtrfloatIOV glPixelTexGenParameterfvSGISFunPtr

glPixelTexGenParameterfvSGISFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPixelTexGenParameterfvSGISFunPtr = unsafePerformIO (getProcAddress "glPixelTexGenParameterfvSGIS")

{-# NOINLINE glPixelTexGenParameterfvSGISFunPtr #-}

glPixelTexGenParameteriSGIS :: MonadIO m => GLenum -> GLint -> m ()
glPixelTexGenParameteriSGIS = ffienumintIOV glPixelTexGenParameteriSGISFunPtr

glPixelTexGenParameteriSGISFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glPixelTexGenParameteriSGISFunPtr = unsafePerformIO (getProcAddress "glPixelTexGenParameteriSGIS")

{-# NOINLINE glPixelTexGenParameteriSGISFunPtr #-}

glPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()
glPixelTexGenParameterivSGIS = ffienumPtrintIOV glPixelTexGenParameterivSGISFunPtr

glPixelTexGenParameterivSGISFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glPixelTexGenParameterivSGISFunPtr = unsafePerformIO (getProcAddress "glPixelTexGenParameterivSGIS")

{-# NOINLINE glPixelTexGenParameterivSGISFunPtr #-}

pattern GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355 :: GLenum

pattern GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354 :: GLenum

pattern GL_PIXEL_GROUP_COLOR_SGIS = 0x8356 :: GLenum

pattern GL_PIXEL_TEXTURE_SGIS = 0x8353 :: GLenum