-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.IBM.MultimodeDrawArrays (
  -- * Extension Support
    gl_IBM_multimode_draw_arrays

  -- * GL_IBM_multimode_draw_arrays
  , glMultiModeDrawArraysIBM
  , glMultiModeDrawElementsIBM
) 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_IBM_multimode_draw_arrays :: Bool
gl_IBM_multimode_draw_arrays = member "GL_IBM_multimode_draw_arrays" extensions

glMultiModeDrawArraysIBM :: MonadIO m => Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> m ()
glMultiModeDrawArraysIBM = ffiPtrenumPtrintPtrsizeisizeiintIOV glMultiModeDrawArraysIBMFunPtr

glMultiModeDrawArraysIBMFunPtr :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ())
glMultiModeDrawArraysIBMFunPtr = unsafePerformIO (getProcAddress "glMultiModeDrawArraysIBM")

{-# NOINLINE glMultiModeDrawArraysIBMFunPtr #-}

glMultiModeDrawElementsIBM :: MonadIO m => Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> m ()
glMultiModeDrawElementsIBM = ffiPtrenumPtrsizeienumPtrVsizeiintIOV glMultiModeDrawElementsIBMFunPtr

glMultiModeDrawElementsIBMFunPtr :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr () -> GLsizei -> GLint -> IO ())
glMultiModeDrawElementsIBMFunPtr = unsafePerformIO (getProcAddress "glMultiModeDrawElementsIBM")

{-# NOINLINE glMultiModeDrawElementsIBMFunPtr #-}