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

  -- * GL_EXT_framebuffer_object
  , glBindFramebufferEXT
  , glBindRenderbufferEXT
  , glCheckFramebufferStatusEXT
  , glDeleteFramebuffersEXT
  , glDeleteRenderbuffersEXT
  , glFramebufferRenderbufferEXT
  , glFramebufferTexture1DEXT
  , glFramebufferTexture2DEXT
  , glFramebufferTexture3DEXT
  , glGenFramebuffersEXT
  , glGenRenderbuffersEXT
  , glGenerateMipmapEXT
  , glGetFramebufferAttachmentParameterivEXT
  , glGetRenderbufferParameterivEXT
  , glIsFramebufferEXT
  , glIsRenderbufferEXT
  , glRenderbufferStorageEXT
  , pattern GL_COLOR_ATTACHMENT0_EXT
  , pattern GL_COLOR_ATTACHMENT10_EXT
  , pattern GL_COLOR_ATTACHMENT11_EXT
  , pattern GL_COLOR_ATTACHMENT12_EXT
  , pattern GL_COLOR_ATTACHMENT13_EXT
  , pattern GL_COLOR_ATTACHMENT14_EXT
  , pattern GL_COLOR_ATTACHMENT15_EXT
  , pattern GL_COLOR_ATTACHMENT1_EXT
  , pattern GL_COLOR_ATTACHMENT2_EXT
  , pattern GL_COLOR_ATTACHMENT3_EXT
  , pattern GL_COLOR_ATTACHMENT4_EXT
  , pattern GL_COLOR_ATTACHMENT5_EXT
  , pattern GL_COLOR_ATTACHMENT6_EXT
  , pattern GL_COLOR_ATTACHMENT7_EXT
  , pattern GL_COLOR_ATTACHMENT8_EXT
  , pattern GL_COLOR_ATTACHMENT9_EXT
  , pattern GL_DEPTH_ATTACHMENT_EXT
  , pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT
  , pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT
  , pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT
  , pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT
  , pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT
  , pattern GL_FRAMEBUFFER_BINDING_EXT
  , pattern GL_FRAMEBUFFER_COMPLETE_EXT
  , pattern GL_FRAMEBUFFER_EXT
  , pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT
  , pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT
  , pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT
  , pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT
  , pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT
  , pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT
  , pattern GL_FRAMEBUFFER_UNSUPPORTED_EXT
  , pattern GL_INVALID_FRAMEBUFFER_OPERATION_EXT
  , pattern GL_MAX_COLOR_ATTACHMENTS_EXT
  , pattern GL_MAX_RENDERBUFFER_SIZE_EXT
  , pattern GL_RENDERBUFFER_ALPHA_SIZE_EXT
  , pattern GL_RENDERBUFFER_BINDING_EXT
  , pattern GL_RENDERBUFFER_BLUE_SIZE_EXT
  , pattern GL_RENDERBUFFER_DEPTH_SIZE_EXT
  , pattern GL_RENDERBUFFER_EXT
  , pattern GL_RENDERBUFFER_GREEN_SIZE_EXT
  , pattern GL_RENDERBUFFER_HEIGHT_EXT
  , pattern GL_RENDERBUFFER_INTERNAL_FORMAT_EXT
  , pattern GL_RENDERBUFFER_RED_SIZE_EXT
  , pattern GL_RENDERBUFFER_STENCIL_SIZE_EXT
  , pattern GL_RENDERBUFFER_WIDTH_EXT
  , pattern GL_STENCIL_ATTACHMENT_EXT
  , pattern GL_STENCIL_INDEX16_EXT
  , pattern GL_STENCIL_INDEX1_EXT
  , pattern GL_STENCIL_INDEX4_EXT
  , pattern GL_STENCIL_INDEX8_EXT
) 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://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/framebuffer_object.txt GL_EXT_framebuffer_object> extension is available.

gl_EXT_framebuffer_object :: Bool
gl_EXT_framebuffer_object :: Bool
gl_EXT_framebuffer_object = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_EXT_framebuffer_object" Set String
extensions
{-# NOINLINE gl_EXT_framebuffer_object #-}

-- | Usage: @'glBindFramebufferEXT' target framebuffer@
--
-- The parameter @target@ is a @FramebufferTarget@.


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

glBindFramebufferEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindFramebufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindFramebufferEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindFramebufferEXT")

{-# NOINLINE glBindFramebufferEXTFunPtr #-}

-- | Usage: @'glBindRenderbufferEXT' target renderbuffer@
--
-- The parameter @target@ is a @RenderbufferTarget@.


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

glBindRenderbufferEXTFunPtr :: FunPtr (GLenum -> GLuint -> IO ())
glBindRenderbufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> IO ())
glBindRenderbufferEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindRenderbufferEXT")

{-# NOINLINE glBindRenderbufferEXTFunPtr #-}

-- | Usage: @'glCheckFramebufferStatusEXT' target@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glCheckFramebufferStatus'.


glCheckFramebufferStatusEXT :: MonadIO m => GLenum -> m GLenum
glCheckFramebufferStatusEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m GLenum
glCheckFramebufferStatusEXT = FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO GLenum) -> GLenum -> m GLenum
ffienumIOenum FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusEXTFunPtr

glCheckFramebufferStatusEXTFunPtr :: FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusEXTFunPtr :: FunPtr (GLenum -> IO GLenum)
glCheckFramebufferStatusEXTFunPtr = IO (FunPtr (GLenum -> IO GLenum)) -> FunPtr (GLenum -> IO GLenum)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLenum))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glCheckFramebufferStatusEXT")

{-# NOINLINE glCheckFramebufferStatusEXTFunPtr #-}

-- | Usage: @'glDeleteFramebuffersEXT' n framebuffers@
--
-- The length of @framebuffers@ should be @n@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDeleteFramebuffers'.


glDeleteFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFramebuffersEXT :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDeleteFramebuffersEXT = 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 ())
glDeleteFramebuffersEXTFunPtr

glDeleteFramebuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteFramebuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteFramebuffersEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDeleteFramebuffersEXT")

{-# NOINLINE glDeleteFramebuffersEXTFunPtr #-}

-- | Usage: @'glDeleteRenderbuffersEXT' n renderbuffers@
--
-- The length of @renderbuffers@ should be @n@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glDeleteRenderbuffers'.


glDeleteRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteRenderbuffersEXT :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDeleteRenderbuffersEXT = 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 ())
glDeleteRenderbuffersEXTFunPtr

glDeleteRenderbuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteRenderbuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDeleteRenderbuffersEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDeleteRenderbuffersEXT")

{-# NOINLINE glDeleteRenderbuffersEXTFunPtr #-}

-- | Usage: @'glFramebufferRenderbufferEXT' target attachment renderbuffertarget renderbuffer@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- The parameter @renderbuffertarget@ is a @RenderbufferTarget@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glFramebufferRenderbuffer'.


glFramebufferRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glFramebufferRenderbufferEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> m ()
glFramebufferRenderbufferEXT = 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 ())
glFramebufferRenderbufferEXTFunPtr

glFramebufferRenderbufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
glFramebufferRenderbufferEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
glFramebufferRenderbufferEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glFramebufferRenderbufferEXT")

{-# NOINLINE glFramebufferRenderbufferEXTFunPtr #-}

-- | Usage: @'glFramebufferTexture1DEXT' target attachment textarget texture level@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glFramebufferTexture1D'.


glFramebufferTexture1DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture1DEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glFramebufferTexture1DEXT = 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 ())
glFramebufferTexture1DEXTFunPtr

glFramebufferTexture1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
glFramebufferTexture1DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture1DEXTFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glFramebufferTexture1DEXT")

{-# NOINLINE glFramebufferTexture1DEXTFunPtr #-}

-- | Usage: @'glFramebufferTexture2DEXT' target attachment textarget texture level@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glFramebufferTexture2D'.


glFramebufferTexture2DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture2DEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> m ()
glFramebufferTexture2DEXT = 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 ())
glFramebufferTexture2DEXTFunPtr

glFramebufferTexture2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
glFramebufferTexture2DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
glFramebufferTexture2DEXTFunPtr = IO
  (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
-> FunPtr
     (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glFramebufferTexture2DEXT")

{-# NOINLINE glFramebufferTexture2DEXTFunPtr #-}

-- | Usage: @'glFramebufferTexture3DEXT' target attachment textarget texture level zoffset@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glFramebufferTexture3D'.


glFramebufferTexture3DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTexture3DEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glFramebufferTexture3DEXT = FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> GLenum
-> GLsizei
-> GLsizei
-> m ()
ffienumenumenumuintintintIOV FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTexture3DEXTFunPtr

glFramebufferTexture3DEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
glFramebufferTexture3DEXTFunPtr :: FunPtr
  (GLenum
   -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glFramebufferTexture3DEXTFunPtr = IO
  (FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr
     (GLenum
      -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
     (FunPtr
        (GLenum
         -> GLenum -> GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glFramebufferTexture3DEXT")

{-# NOINLINE glFramebufferTexture3DEXTFunPtr #-}

-- | Usage: @'glGenFramebuffersEXT' n framebuffers@
--
-- The length of @framebuffers@ should be @n@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGenFramebuffers'.


glGenFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFramebuffersEXT :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
glGenFramebuffersEXT = 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 ())
glGenFramebuffersEXTFunPtr

glGenFramebuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenFramebuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenFramebuffersEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenFramebuffersEXT")

{-# NOINLINE glGenFramebuffersEXTFunPtr #-}

-- | Usage: @'glGenRenderbuffersEXT' n renderbuffers@
--
-- The length of @renderbuffers@ should be @n@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGenRenderbuffers'.


glGenRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenRenderbuffersEXT :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLenum -> m ()
glGenRenderbuffersEXT = 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 ())
glGenRenderbuffersEXTFunPtr

glGenRenderbuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenRenderbuffersEXTFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glGenRenderbuffersEXTFunPtr = IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
-> FunPtr (GLsizei -> Ptr GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenRenderbuffersEXT")

{-# NOINLINE glGenRenderbuffersEXTFunPtr #-}

-- | Usage: @'glGenerateMipmapEXT' target@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGenerateMipmap'.


glGenerateMipmapEXT :: MonadIO m => GLenum -> m ()
glGenerateMipmapEXT :: forall (m :: * -> *). MonadIO m => GLenum -> m ()
glGenerateMipmapEXT = FunPtr (GLenum -> IO ()) -> GLenum -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> IO ()) -> GLenum -> m ()
ffienumIOV FunPtr (GLenum -> IO ())
glGenerateMipmapEXTFunPtr

glGenerateMipmapEXTFunPtr :: FunPtr (GLenum -> IO ())
glGenerateMipmapEXTFunPtr :: FunPtr (GLenum -> IO ())
glGenerateMipmapEXTFunPtr = IO (FunPtr (GLenum -> IO ())) -> FunPtr (GLenum -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenerateMipmapEXT")

{-# NOINLINE glGenerateMipmapEXTFunPtr #-}

-- | Usage: @'glGetFramebufferAttachmentParameterivEXT' target attachment pname params@
--
-- The parameter @target@ is a @FramebufferTarget@.
--
-- The parameter @attachment@ is a @FramebufferAttachment@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetFramebufferAttachmentParameteriv'.


glGetFramebufferAttachmentParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferAttachmentParameterivEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetFramebufferAttachmentParameterivEXT = 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 ())
glGetFramebufferAttachmentParameterivEXTFunPtr

glGetFramebufferAttachmentParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
glGetFramebufferAttachmentParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetFramebufferAttachmentParameterivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetFramebufferAttachmentParameterivEXT")

{-# NOINLINE glGetFramebufferAttachmentParameterivEXTFunPtr #-}

-- | Usage: @'glGetRenderbufferParameterivEXT' target pname params@
--
-- The parameter @target@ is a @RenderbufferTarget@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glGetRenderbufferParameteriv'.


glGetRenderbufferParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetRenderbufferParameterivEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> Ptr GLsizei -> m ()
glGetRenderbufferParameterivEXT = 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 ())
glGetRenderbufferParameterivEXTFunPtr

glGetRenderbufferParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetRenderbufferParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
glGetRenderbufferParameterivEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLenum -> Ptr GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGetRenderbufferParameterivEXT")

{-# NOINLINE glGetRenderbufferParameterivEXTFunPtr #-}

-- | Usage: @'glIsFramebufferEXT' framebuffer@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glIsFramebuffer'.


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

glIsFramebufferEXTFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsFramebufferEXTFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsFramebufferEXTFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glIsFramebufferEXT")

{-# NOINLINE glIsFramebufferEXTFunPtr #-}

-- | Usage: @'glIsRenderbufferEXT' renderbuffer@
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glIsRenderbuffer'.


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

glIsRenderbufferEXTFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsRenderbufferEXTFunPtr :: FunPtr (GLenum -> IO GLboolean)
glIsRenderbufferEXTFunPtr = IO (FunPtr (GLenum -> IO GLboolean))
-> FunPtr (GLenum -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glIsRenderbufferEXT")

{-# NOINLINE glIsRenderbufferEXTFunPtr #-}

-- | Usage: @'glRenderbufferStorageEXT' target internalformat width height@
--
-- The parameter @target@ is a @RenderbufferTarget@.
--
-- This command is an alias for 'Graphics.GL.Internal.Shared.glRenderbufferStorage'.


glRenderbufferStorageEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageEXT :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageEXT = 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 ())
glRenderbufferStorageEXTFunPtr

glRenderbufferStorageEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
glRenderbufferStorageEXTFunPtr = IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glRenderbufferStorageEXT")

{-# NOINLINE glRenderbufferStorageEXTFunPtr #-}

pattern GL_DEPTH_ATTACHMENT_EXT  :: (Eq a, Num a) => a

pattern $mGL_DEPTH_ATTACHMENT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_DEPTH_ATTACHMENT_EXT :: forall a. (Eq a, Num a) => a
GL_DEPTH_ATTACHMENT_EXT = 0x8D00

pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1

pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0

pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4

pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3

pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2

pattern GL_FRAMEBUFFER_BINDING_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_BINDING_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_BINDING_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6

pattern GL_FRAMEBUFFER_COMPLETE_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_COMPLETE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_COMPLETE_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5

pattern GL_FRAMEBUFFER_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_EXT = 0x8D40

pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6

pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9

pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB

pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA

pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7

pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC

pattern GL_FRAMEBUFFER_UNSUPPORTED_EXT  :: (Eq a, Num a) => a

pattern $mGL_FRAMEBUFFER_UNSUPPORTED_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_FRAMEBUFFER_UNSUPPORTED_EXT :: forall a. (Eq a, Num a) => a
GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD

pattern GL_INVALID_FRAMEBUFFER_OPERATION_EXT  :: (Eq a, Num a) => a

pattern $mGL_INVALID_FRAMEBUFFER_OPERATION_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_INVALID_FRAMEBUFFER_OPERATION_EXT :: forall a. (Eq a, Num a) => a
GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506

pattern GL_MAX_RENDERBUFFER_SIZE_EXT  :: (Eq a, Num a) => a

pattern $mGL_MAX_RENDERBUFFER_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_MAX_RENDERBUFFER_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8

pattern GL_RENDERBUFFER_ALPHA_SIZE_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_ALPHA_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_ALPHA_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53

pattern GL_RENDERBUFFER_BINDING_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_BINDING_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_BINDING_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_BINDING_EXT = 0x8CA7

pattern GL_RENDERBUFFER_BLUE_SIZE_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_BLUE_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_BLUE_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52

pattern GL_RENDERBUFFER_DEPTH_SIZE_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_DEPTH_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_DEPTH_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54

pattern GL_RENDERBUFFER_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_EXT = 0x8D41

pattern GL_RENDERBUFFER_GREEN_SIZE_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_GREEN_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_GREEN_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51

pattern GL_RENDERBUFFER_HEIGHT_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_HEIGHT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_HEIGHT_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43

pattern GL_RENDERBUFFER_INTERNAL_FORMAT_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_INTERNAL_FORMAT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_INTERNAL_FORMAT_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44

pattern GL_RENDERBUFFER_RED_SIZE_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_RED_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_RED_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50

pattern GL_RENDERBUFFER_STENCIL_SIZE_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_STENCIL_SIZE_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_STENCIL_SIZE_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55

pattern GL_RENDERBUFFER_WIDTH_EXT  :: (Eq a, Num a) => a

pattern $mGL_RENDERBUFFER_WIDTH_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_RENDERBUFFER_WIDTH_EXT :: forall a. (Eq a, Num a) => a
GL_RENDERBUFFER_WIDTH_EXT = 0x8D42

pattern GL_STENCIL_ATTACHMENT_EXT  :: (Eq a, Num a) => a

pattern $mGL_STENCIL_ATTACHMENT_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_STENCIL_ATTACHMENT_EXT :: forall a. (Eq a, Num a) => a
GL_STENCIL_ATTACHMENT_EXT = 0x8D20

pattern GL_STENCIL_INDEX16_EXT  :: (Eq a, Num a) => a

pattern $mGL_STENCIL_INDEX16_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_STENCIL_INDEX16_EXT :: forall a. (Eq a, Num a) => a
GL_STENCIL_INDEX16_EXT = 0x8D49

pattern GL_STENCIL_INDEX1_EXT  :: (Eq a, Num a) => a

pattern $mGL_STENCIL_INDEX1_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_STENCIL_INDEX1_EXT :: forall a. (Eq a, Num a) => a
GL_STENCIL_INDEX1_EXT = 0x8D46

pattern GL_STENCIL_INDEX4_EXT  :: (Eq a, Num a) => a

pattern $mGL_STENCIL_INDEX4_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_STENCIL_INDEX4_EXT :: forall a. (Eq a, Num a) => a
GL_STENCIL_INDEX4_EXT = 0x8D47

pattern GL_STENCIL_INDEX8_EXT  :: (Eq a, Num a) => a

pattern $mGL_STENCIL_INDEX8_EXT :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_STENCIL_INDEX8_EXT :: forall a. (Eq a, Num a) => a
GL_STENCIL_INDEX8_EXT = 0x8D48