-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.OES.SinglePrecision (
  -- * Extension Support
    gl_OES_single_precision

  -- * GL_OES_single_precision
  , glClearDepthfOES
  , glClipPlanefOES
  , glDepthRangefOES
  , glFrustumfOES
  , glGetClipPlanefOES
  , glOrthofOES
) 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_OES_single_precision :: Bool
gl_OES_single_precision = member "GL_OES_single_precision" extensions

glClearDepthfOES :: MonadIO m => GLclampf -> m ()
glClearDepthfOES = fficlampfIOV glClearDepthfOESFunPtr

glClearDepthfOESFunPtr :: FunPtr (GLclampf -> IO ())
glClearDepthfOESFunPtr = unsafePerformIO (getProcAddress "glClearDepthfOES")

{-# NOINLINE glClearDepthfOESFunPtr #-}

glClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glClipPlanefOES = ffienumPtrfloatIOV glClipPlanefOESFunPtr

glClipPlanefOESFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glClipPlanefOESFunPtr = unsafePerformIO (getProcAddress "glClipPlanefOES")

{-# NOINLINE glClipPlanefOESFunPtr #-}

glDepthRangefOES :: MonadIO m => GLclampf -> GLclampf -> m ()
glDepthRangefOES = fficlampfclampfIOV glDepthRangefOESFunPtr

glDepthRangefOESFunPtr :: FunPtr (GLclampf -> GLclampf -> IO ())
glDepthRangefOESFunPtr = unsafePerformIO (getProcAddress "glDepthRangefOES")

{-# NOINLINE glDepthRangefOESFunPtr #-}

glFrustumfOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glFrustumfOES = ffifloatfloatfloatfloatfloatfloatIOV glFrustumfOESFunPtr

glFrustumfOESFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glFrustumfOESFunPtr = unsafePerformIO (getProcAddress "glFrustumfOES")

{-# NOINLINE glFrustumfOESFunPtr #-}

glGetClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetClipPlanefOES = ffienumPtrfloatIOV glGetClipPlanefOESFunPtr

glGetClipPlanefOESFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetClipPlanefOESFunPtr = unsafePerformIO (getProcAddress "glGetClipPlanefOES")

{-# NOINLINE glGetClipPlanefOESFunPtr #-}

glOrthofOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glOrthofOES = ffifloatfloatfloatfloatfloatfloatIOV glOrthofOESFunPtr

glOrthofOESFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glOrthofOESFunPtr = unsafePerformIO (getProcAddress "glOrthofOES")

{-# NOINLINE glOrthofOESFunPtr #-}