-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.EXT.IndexMaterial (
  -- * Extension Support
    gl_EXT_index_material

  -- * GL_EXT_index_material
  , glIndexMaterialEXT
  , pattern GL_INDEX_MATERIAL_EXT
  , pattern GL_INDEX_MATERIAL_FACE_EXT
  , pattern GL_INDEX_MATERIAL_PARAMETER_EXT
) 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_EXT_index_material :: Bool
gl_EXT_index_material = member "GL_EXT_index_material" extensions

glIndexMaterialEXT :: MonadIO m => GLenum -> GLenum -> m ()
glIndexMaterialEXT = ffienumenumIOV glIndexMaterialEXTFunPtr

glIndexMaterialEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glIndexMaterialEXTFunPtr = unsafePerformIO (getProcAddress "glIndexMaterialEXT")

{-# NOINLINE glIndexMaterialEXTFunPtr #-}

pattern GL_INDEX_MATERIAL_EXT = 0x81B8 :: GLenum

pattern GL_INDEX_MATERIAL_FACE_EXT = 0x81BA :: GLenum

pattern GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9 :: GLenum