{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.OES.GetProgramBinary (
gl_OES_get_program_binary
, glGetProgramBinaryOES
, glProgramBinaryOES
, pattern GL_NUM_PROGRAM_BINARY_FORMATS_OES
, pattern GL_PROGRAM_BINARY_FORMATS_OES
, pattern GL_PROGRAM_BINARY_LENGTH_OES
) where
import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Internal.FFI
import Graphics.GL.Internal.Proc
import Graphics.GL.Types
import System.IO.Unsafe
gl_OES_get_program_binary :: Bool
gl_OES_get_program_binary :: Bool
gl_OES_get_program_binary = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_OES_get_program_binary" Set String
extensions
{-# NOINLINE gl_OES_get_program_binary #-}
glGetProgramBinaryOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> m ()
glGetProgramBinaryOES :: forall (m :: * -> *).
MonadIO m =>
GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> m ()
glGetProgramBinaryOES = FunPtr
(GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> IO ())
-> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> IO ())
-> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> m ()
ffiuintsizeiPtrsizeiPtrenumPtrVIOV FunPtr
(GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> IO ())
glGetProgramBinaryOESFunPtr
glGetProgramBinaryOESFunPtr :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr () -> IO ())
glGetProgramBinaryOESFunPtr :: FunPtr
(GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> IO ())
glGetProgramBinaryOESFunPtr = IO
(FunPtr
(GLuint
-> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> IO ()))
-> FunPtr
(GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
(FunPtr
(GLuint
-> GLsizei -> Ptr GLsizei -> Ptr GLuint -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetProgramBinaryOES")
{-# NOINLINE glGetProgramBinaryOESFunPtr #-}
glProgramBinaryOES :: MonadIO m => GLuint -> GLenum -> Ptr () -> GLint -> m ()
glProgramBinaryOES :: forall (m :: * -> *).
MonadIO m =>
GLuint -> GLuint -> Ptr () -> GLsizei -> m ()
glProgramBinaryOES = FunPtr (GLuint -> GLuint -> Ptr () -> GLsizei -> IO ())
-> GLuint -> GLuint -> Ptr () -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> GLuint -> Ptr () -> GLsizei -> IO ())
-> GLuint -> GLuint -> Ptr () -> GLsizei -> m ()
ffiuintenumPtrVintIOV FunPtr (GLuint -> GLuint -> Ptr () -> GLsizei -> IO ())
glProgramBinaryOESFunPtr
glProgramBinaryOESFunPtr :: FunPtr (GLuint -> GLenum -> Ptr () -> GLint -> IO ())
glProgramBinaryOESFunPtr :: FunPtr (GLuint -> GLuint -> Ptr () -> GLsizei -> IO ())
glProgramBinaryOESFunPtr = IO (FunPtr (GLuint -> GLuint -> Ptr () -> GLsizei -> IO ()))
-> FunPtr (GLuint -> GLuint -> Ptr () -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLuint -> GLuint -> Ptr () -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glProgramBinaryOES")
{-# NOINLINE glProgramBinaryOESFunPtr #-}
pattern GL_NUM_PROGRAM_BINARY_FORMATS_OES :: (Eq a, Num a) => a
pattern $mGL_NUM_PROGRAM_BINARY_FORMATS_OES :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_NUM_PROGRAM_BINARY_FORMATS_OES :: forall a. (Eq a, Num a) => a
GL_NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE
pattern GL_PROGRAM_BINARY_FORMATS_OES :: (Eq a, Num a) => a
pattern $mGL_PROGRAM_BINARY_FORMATS_OES :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_PROGRAM_BINARY_FORMATS_OES :: forall a. (Eq a, Num a) => a
GL_PROGRAM_BINARY_FORMATS_OES = 0x87FF
pattern GL_PROGRAM_BINARY_LENGTH_OES :: (Eq a, Num a) => a
pattern $mGL_PROGRAM_BINARY_LENGTH_OES :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_PROGRAM_BINARY_LENGTH_OES :: forall a. (Eq a, Num a) => a
GL_PROGRAM_BINARY_LENGTH_OES = 0x8741