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

  -- * GL_EXT_multi_draw_arrays
  , glMultiDrawArraysEXT
  , glMultiDrawElementsEXT
) 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_multi_draw_arrays :: Bool
gl_EXT_multi_draw_arrays = member "GL_EXT_multi_draw_arrays" extensions

glMultiDrawArraysEXT :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
glMultiDrawArraysEXT = ffienumPtrintPtrsizeisizeiIOV glMultiDrawArraysEXTFunPtr

glMultiDrawArraysEXTFunPtr :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
glMultiDrawArraysEXTFunPtr = unsafePerformIO (getProcAddress "glMultiDrawArraysEXT")

{-# NOINLINE glMultiDrawArraysEXTFunPtr #-}

glMultiDrawElementsEXT :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr () -> GLsizei -> m ()
glMultiDrawElementsEXT = ffienumPtrsizeienumPtrVsizeiIOV glMultiDrawElementsEXTFunPtr

glMultiDrawElementsEXTFunPtr :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr () -> GLsizei -> IO ())
glMultiDrawElementsEXTFunPtr = unsafePerformIO (getProcAddress "glMultiDrawElementsEXT")

{-# NOINLINE glMultiDrawElementsEXTFunPtr #-}