-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.SUN.MeshArray (
  -- * Extension Support
    gl_SUN_mesh_array

  -- * GL_SUN_mesh_array
  , glDrawMeshArraysSUN
  , pattern GL_QUAD_MESH_SUN
  , pattern GL_TRIANGLE_MESH_SUN
) 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_SUN_mesh_array :: Bool
gl_SUN_mesh_array = member "GL_SUN_mesh_array" extensions

glDrawMeshArraysSUN :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()
glDrawMeshArraysSUN = ffienumintsizeisizeiIOV glDrawMeshArraysSUNFunPtr

glDrawMeshArraysSUNFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
glDrawMeshArraysSUNFunPtr = unsafePerformIO (getProcAddress "glDrawMeshArraysSUN")

{-# NOINLINE glDrawMeshArraysSUNFunPtr #-}

pattern GL_QUAD_MESH_SUN = 0x8614 :: GLenum

pattern GL_TRIANGLE_MESH_SUN = 0x8615 :: GLenum