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

  -- * GL_EXT_gpu_program_parameters
  , glProgramEnvParameters4fvEXT
  , glProgramLocalParameters4fvEXT
) 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_gpu_program_parameters :: Bool
gl_EXT_gpu_program_parameters = member "GL_EXT_gpu_program_parameters" extensions

glProgramEnvParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramEnvParameters4fvEXT = ffienumuintsizeiPtrfloatIOV glProgramEnvParameters4fvEXTFunPtr

glProgramEnvParameters4fvEXTFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramEnvParameters4fvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramEnvParameters4fvEXT")

{-# NOINLINE glProgramEnvParameters4fvEXTFunPtr #-}

glProgramLocalParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramLocalParameters4fvEXT = ffienumuintsizeiPtrfloatIOV glProgramLocalParameters4fvEXTFunPtr

glProgramLocalParameters4fvEXTFunPtr :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
glProgramLocalParameters4fvEXTFunPtr = unsafePerformIO (getProcAddress "glProgramLocalParameters4fvEXT")

{-# NOINLINE glProgramLocalParameters4fvEXTFunPtr #-}