-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.SGIX.IglooInterface (
  -- * Extension Support
    gl_SGIX_igloo_interface

  -- * GL_SGIX_igloo_interface
  , glIglooInterfaceSGIX
) 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.Types
import System.IO.Unsafe

-- | Checks that the GL_SGIX_igloo_interface extension is available.

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

-- | Usage: @'glIglooInterfaceSGIX' pname params@
--
-- The parameter @pname@ is a @IglooFunctionSelectSGIX@.
--
-- The parameter @params@ is a @IglooParameterSGIX@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glIglooInterfaceSGIX :: MonadIO m => GLenum -> Ptr () -> m ()
glIglooInterfaceSGIX :: GLenum -> Ptr () -> m ()
glIglooInterfaceSGIX = FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
ffienumPtrVIOV FunPtr (GLenum -> Ptr () -> IO ())
glIglooInterfaceSGIXFunPtr

glIglooInterfaceSGIXFunPtr :: FunPtr (GLenum -> Ptr () -> IO ())
glIglooInterfaceSGIXFunPtr :: FunPtr (GLenum -> Ptr () -> IO ())
glIglooInterfaceSGIXFunPtr = IO (FunPtr (GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> Ptr () -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIglooInterfaceSGIX")

{-# NOINLINE glIglooInterfaceSGIXFunPtr #-}