-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.OES.FramebufferObject (
  -- * Extension Support
    gl_OES_framebuffer_object

  -- * GL_OES_framebuffer_object
  , glBindFramebufferOES
  , glBindRenderbufferOES
  , glCheckFramebufferStatusOES
  , glDeleteFramebuffersOES
  , glDeleteRenderbuffersOES
  , glFramebufferRenderbufferOES
  , glFramebufferTexture2DOES
  , glGenFramebuffersOES
  , glGenRenderbuffersOES
  , glGenerateMipmapOES
  , glGetFramebufferAttachmentParameterivOES
  , glGetRenderbufferParameterivOES
  , glIsFramebufferOES
  , glIsRenderbufferOES
  , glRenderbufferStorageOES
  , pattern GL_COLOR_ATTACHMENT0_OES
  , pattern GL_DEPTH_ATTACHMENT_OES
  , pattern GL_DEPTH_COMPONENT16_OES
  , pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES
  , pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES
  , pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES
  , pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES
  , pattern GL_FRAMEBUFFER_BINDING_OES
  , pattern GL_FRAMEBUFFER_COMPLETE_OES
  , pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES
  , pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES
  , pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES
  , pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES
  , pattern GL_FRAMEBUFFER_OES
  , pattern GL_FRAMEBUFFER_UNSUPPORTED_OES
  , pattern GL_INVALID_FRAMEBUFFER_OPERATION_OES
  , pattern GL_MAX_RENDERBUFFER_SIZE_OES
  , pattern GL_NONE_OES
  , pattern GL_RENDERBUFFER_ALPHA_SIZE_OES
  , pattern GL_RENDERBUFFER_BINDING_OES
  , pattern GL_RENDERBUFFER_BLUE_SIZE_OES
  , pattern GL_RENDERBUFFER_DEPTH_SIZE_OES
  , pattern GL_RENDERBUFFER_GREEN_SIZE_OES
  , pattern GL_RENDERBUFFER_HEIGHT_OES
  , pattern GL_RENDERBUFFER_INTERNAL_FORMAT_OES
  , pattern GL_RENDERBUFFER_OES
  , pattern GL_RENDERBUFFER_RED_SIZE_OES
  , pattern GL_RENDERBUFFER_STENCIL_SIZE_OES
  , pattern GL_RENDERBUFFER_WIDTH_OES
  , pattern GL_RGB565_OES
  , pattern GL_RGB5_A1_OES
  , pattern GL_RGBA4_OES
  , pattern GL_STENCIL_ATTACHMENT_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.Internal.Shared
import Graphics.GL.Types
import System.IO.Unsafe

-- | Checks that the <https://www.khronos.org/registry/gles/extensions/OES/OES_framebuffer_object.txt GL_OES_framebuffer_object> extension is available.

gl_OES_framebuffer_object :: Bool
gl_OES_framebuffer_object :: Bool
gl_OES_framebuffer_object = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_OES_framebuffer_object" Set [Char]
extensions
{-# NOINLINE gl_OES_framebuffer_object #-}

-- | Usage: @'glBindFramebufferOES' target framebuffer@


glBindFramebufferOES :: MonadIO m => GLenum -> GLuint -> m ()
glBindFramebufferOES :: GLenum -> GLenum -> m ()
glBindFramebufferOES = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindFramebufferOESFunPtr

glBindFramebufferOESFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindFramebufferOESFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindFramebufferOESFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindFramebufferOES")

{-# NOINLINE glBindFramebufferOESFunPtr #-}

-- | Usage: @'glBindRenderbufferOES' target renderbuffer@


glBindRenderbufferOES :: MonadIO m => GLenum -> GLuint -> m ()
glBindRenderbufferOES :: GLenum -> GLenum -> m ()
glBindRenderbufferOES = FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> IO ()) -> GLenum -> GLenum -> m ()
ffienumuintIOV FunPtr (GLenum -> GLenum -> IO ())
glBindRenderbufferOESFunPtr

glBindRenderbufferOESFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindRenderbufferOESFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindRenderbufferOESFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBindRenderbufferOES")

{-# NOINLINE glBindRenderbufferOESFunPtr #-}

-- | Usage: @'glCheckFramebufferStatusOES' target@


glCheckFramebufferStatusOES :: MonadIO m => GLenum -> m GLenum
glCheckFramebufferStatusOES :: GLenum -> m GLenum
glCheckFramebufferStatusOES = FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
ffienumIOenum FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusOESFunPtr

glCheckFramebufferStatusOESFunPtr :: FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusOESFunPtr :: FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusOESFunPtr = IO (FunPtr (GLenum -> IO GLenum)) -> FunPtr (GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO GLenum))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glCheckFramebufferStatusOES")

{-# NOINLINE glCheckFramebufferStatusOESFunPtr #-}

-- | Usage: @'glDeleteFramebuffersOES' n framebuffers@
--
-- The length of @framebuffers@ should be @n@.


glDeleteFramebuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFramebuffersOES :: GLsizei -> Ptr GLenum -> m ()
glDeleteFramebuffersOES = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteFramebuffersOESFunPtr

glDeleteFramebuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteFramebuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteFramebuffersOESFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteFramebuffersOES")

{-# NOINLINE glDeleteFramebuffersOESFunPtr #-}

-- | Usage: @'glDeleteRenderbuffersOES' n renderbuffers@
--
-- The length of @renderbuffers@ should be @n@.


glDeleteRenderbuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteRenderbuffersOES :: GLsizei -> Ptr GLenum -> m ()
glDeleteRenderbuffersOES = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteRenderbuffersOESFunPtr

glDeleteRenderbuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteRenderbuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteRenderbuffersOESFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glDeleteRenderbuffersOES")

{-# NOINLINE glDeleteRenderbuffersOESFunPtr #-}

-- | Usage: @'glFramebufferRenderbufferOES' target attachment renderbuffertarget renderbuffer@


glFramebufferRenderbufferOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glFramebufferRenderbufferOES :: GLenum -> GLenum -> GLenum -> GLenum -> m ()
glFramebufferRenderbufferOES = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> m ()
ffienumenumenumuintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glFramebufferRenderbufferOESFunPtr

glFramebufferRenderbufferOESFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
glFramebufferRenderbufferOESFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glFramebufferRenderbufferOESFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glFramebufferRenderbufferOES")

{-# NOINLINE glFramebufferRenderbufferOESFunPtr #-}

-- | Usage: @'glFramebufferTexture2DOES' target attachment textarget texture level@


glFramebufferTexture2DOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture2DOES :: GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glFramebufferTexture2DOES = FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
ffienumenumenumuintintIOV FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture2DOESFunPtr

glFramebufferTexture2DOESFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
glFramebufferTexture2DOESFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture2DOESFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glFramebufferTexture2DOES")

{-# NOINLINE glFramebufferTexture2DOESFunPtr #-}

-- | Usage: @'glGenFramebuffersOES' n framebuffers@
--
-- The length of @framebuffers@ should be @n@.


glGenFramebuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFramebuffersOES :: GLsizei -> Ptr GLenum -> m ()
glGenFramebuffersOES = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenFramebuffersOESFunPtr

glGenFramebuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenFramebuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenFramebuffersOESFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenFramebuffersOES")

{-# NOINLINE glGenFramebuffersOESFunPtr #-}

-- | Usage: @'glGenRenderbuffersOES' n renderbuffers@
--
-- The length of @renderbuffers@ should be @n@.


glGenRenderbuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenRenderbuffersOES :: GLsizei -> Ptr GLenum -> m ()
glGenRenderbuffersOES = FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLenum -> IO ())
-> GLsizei -> Ptr GLenum -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenRenderbuffersOESFunPtr

glGenRenderbuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenRenderbuffersOESFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenRenderbuffersOESFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenRenderbuffersOES")

{-# NOINLINE glGenRenderbuffersOESFunPtr #-}

-- | Usage: @'glGenerateMipmapOES' target@


glGenerateMipmapOES :: MonadIO m => GLenum -> m ()
glGenerateMipmapOES :: GLenum -> m ()
glGenerateMipmapOES = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glGenerateMipmapOESFunPtr

glGenerateMipmapOESFunPtr :: FunPtr (GLenum -> IO ())
glGenerateMipmapOESFunPtr :: FunPtr (GLenum -> IO ())
glGenerateMipmapOESFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGenerateMipmapOES")

{-# NOINLINE glGenerateMipmapOESFunPtr #-}

-- | Usage: @'glGetFramebufferAttachmentParameterivOES' target attachment pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetFramebufferAttachmentParameterivOES :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferAttachmentParameterivOES :: GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetFramebufferAttachmentParameterivOES = FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumenumPtrintIOV FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetFramebufferAttachmentParameterivOESFunPtr

glGetFramebufferAttachmentParameterivOESFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetFramebufferAttachmentParameterivOESFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetFramebufferAttachmentParameterivOESFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetFramebufferAttachmentParameterivOES")

{-# NOINLINE glGetFramebufferAttachmentParameterivOESFunPtr #-}

-- | Usage: @'glGetRenderbufferParameterivOES' target pname params@
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetRenderbufferParameterivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetRenderbufferParameterivOES :: GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetRenderbufferParameterivOES = FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
-> GLenum -> GLenum -> Ptr GLsizei -> m ()
ffienumenumPtrintIOV FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetRenderbufferParameterivOESFunPtr

glGetRenderbufferParameterivOESFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetRenderbufferParameterivOESFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetRenderbufferParameterivOESFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetRenderbufferParameterivOES")

{-# NOINLINE glGetRenderbufferParameterivOESFunPtr #-}

-- | Usage: @'glIsFramebufferOES' framebuffer@


glIsFramebufferOES :: MonadIO m => GLuint -> m GLboolean
glIsFramebufferOES :: GLenum -> m GLboolean
glIsFramebufferOES = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsFramebufferOESFunPtr

glIsFramebufferOESFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsFramebufferOESFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsFramebufferOESFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsFramebufferOES")

{-# NOINLINE glIsFramebufferOESFunPtr #-}

-- | Usage: @'glIsRenderbufferOES' renderbuffer@


glIsRenderbufferOES :: MonadIO m => GLuint -> m GLboolean
glIsRenderbufferOES :: GLenum -> m GLboolean
glIsRenderbufferOES = FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLboolean) -> GLenum -> m GLboolean
ffiuintIOboolean FunPtr (GLenum -> IO GLboolean)
glIsRenderbufferOESFunPtr

glIsRenderbufferOESFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsRenderbufferOESFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsRenderbufferOESFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glIsRenderbufferOES")

{-# NOINLINE glIsRenderbufferOESFunPtr #-}

-- | Usage: @'glRenderbufferStorageOES' target internalformat width height@


glRenderbufferStorageOES :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageOES :: GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageOES = FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
ffienumenumsizeisizeiIOV FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageOESFunPtr

glRenderbufferStorageOESFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageOESFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageOESFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char]
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glRenderbufferStorageOES")

{-# NOINLINE glRenderbufferStorageOESFunPtr #-}

pattern $bGL_COLOR_ATTACHMENT0_OES :: a
$mGL_COLOR_ATTACHMENT0_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLOR_ATTACHMENT0_OES = 0x8CE0

pattern $bGL_DEPTH_ATTACHMENT_OES :: a
$mGL_DEPTH_ATTACHMENT_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DEPTH_ATTACHMENT_OES = 0x8D00

pattern $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES :: a
$mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1

pattern $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES :: a
$mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0

pattern $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES :: a
$mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3

pattern $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES :: a
$mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2

pattern $bGL_FRAMEBUFFER_BINDING_OES :: a
$mGL_FRAMEBUFFER_BINDING_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_BINDING_OES = 0x8CA6

pattern $bGL_FRAMEBUFFER_COMPLETE_OES :: a
$mGL_FRAMEBUFFER_COMPLETE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_COMPLETE_OES = 0x8CD5

pattern $bGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES :: a
$mGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6

pattern $bGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES :: a
$mGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9

pattern $bGL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES :: a
$mGL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA

pattern $bGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES :: a
$mGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7

pattern $bGL_FRAMEBUFFER_OES :: a
$mGL_FRAMEBUFFER_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_OES = 0x8D40

pattern $bGL_FRAMEBUFFER_UNSUPPORTED_OES :: a
$mGL_FRAMEBUFFER_UNSUPPORTED_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD

pattern $bGL_INVALID_FRAMEBUFFER_OPERATION_OES :: a
$mGL_INVALID_FRAMEBUFFER_OPERATION_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506

pattern $bGL_MAX_RENDERBUFFER_SIZE_OES :: a
$mGL_MAX_RENDERBUFFER_SIZE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MAX_RENDERBUFFER_SIZE_OES = 0x84E8

pattern $bGL_NONE_OES :: a
$mGL_NONE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_NONE_OES = 0

pattern $bGL_RENDERBUFFER_ALPHA_SIZE_OES :: a
$mGL_RENDERBUFFER_ALPHA_SIZE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53

pattern $bGL_RENDERBUFFER_BINDING_OES :: a
$mGL_RENDERBUFFER_BINDING_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_BINDING_OES = 0x8CA7

pattern $bGL_RENDERBUFFER_BLUE_SIZE_OES :: a
$mGL_RENDERBUFFER_BLUE_SIZE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52

pattern $bGL_RENDERBUFFER_DEPTH_SIZE_OES :: a
$mGL_RENDERBUFFER_DEPTH_SIZE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54

pattern $bGL_RENDERBUFFER_GREEN_SIZE_OES :: a
$mGL_RENDERBUFFER_GREEN_SIZE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51

pattern $bGL_RENDERBUFFER_HEIGHT_OES :: a
$mGL_RENDERBUFFER_HEIGHT_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_HEIGHT_OES = 0x8D43

pattern $bGL_RENDERBUFFER_INTERNAL_FORMAT_OES :: a
$mGL_RENDERBUFFER_INTERNAL_FORMAT_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44

pattern $bGL_RENDERBUFFER_OES :: a
$mGL_RENDERBUFFER_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_OES = 0x8D41

pattern $bGL_RENDERBUFFER_RED_SIZE_OES :: a
$mGL_RENDERBUFFER_RED_SIZE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_RED_SIZE_OES = 0x8D50

pattern $bGL_RENDERBUFFER_STENCIL_SIZE_OES :: a
$mGL_RENDERBUFFER_STENCIL_SIZE_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55

pattern $bGL_RENDERBUFFER_WIDTH_OES :: a
$mGL_RENDERBUFFER_WIDTH_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RENDERBUFFER_WIDTH_OES = 0x8D42

pattern $bGL_STENCIL_ATTACHMENT_OES :: a
$mGL_STENCIL_ATTACHMENT_OES :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_STENCIL_ATTACHMENT_OES = 0x8D20