-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.ATI.DrawBuffers (
  -- * Extension Support
    gl_ATI_draw_buffers

  -- * GL_ATI_draw_buffers
  , glDrawBuffersATI
  , pattern GL_DRAW_BUFFER0_ATI
  , pattern GL_DRAW_BUFFER10_ATI
  , pattern GL_DRAW_BUFFER11_ATI
  , pattern GL_DRAW_BUFFER12_ATI
  , pattern GL_DRAW_BUFFER13_ATI
  , pattern GL_DRAW_BUFFER14_ATI
  , pattern GL_DRAW_BUFFER15_ATI
  , pattern GL_DRAW_BUFFER1_ATI
  , pattern GL_DRAW_BUFFER2_ATI
  , pattern GL_DRAW_BUFFER3_ATI
  , pattern GL_DRAW_BUFFER4_ATI
  , pattern GL_DRAW_BUFFER5_ATI
  , pattern GL_DRAW_BUFFER6_ATI
  , pattern GL_DRAW_BUFFER7_ATI
  , pattern GL_DRAW_BUFFER8_ATI
  , pattern GL_DRAW_BUFFER9_ATI
  , pattern GL_MAX_DRAW_BUFFERS_ATI
) 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_ATI_draw_buffers :: Bool
gl_ATI_draw_buffers = member "GL_ATI_draw_buffers" extensions

glDrawBuffersATI :: MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDrawBuffersATI = ffisizeiPtrenumIOV glDrawBuffersATIFunPtr

glDrawBuffersATIFunPtr :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
glDrawBuffersATIFunPtr = unsafePerformIO (getProcAddress "glDrawBuffersATI")

{-# NOINLINE glDrawBuffersATIFunPtr #-}

pattern GL_DRAW_BUFFER0_ATI = 0x8825 :: GLenum

pattern GL_DRAW_BUFFER10_ATI = 0x882F :: GLenum

pattern GL_DRAW_BUFFER11_ATI = 0x8830 :: GLenum

pattern GL_DRAW_BUFFER12_ATI = 0x8831 :: GLenum

pattern GL_DRAW_BUFFER13_ATI = 0x8832 :: GLenum

pattern GL_DRAW_BUFFER14_ATI = 0x8833 :: GLenum

pattern GL_DRAW_BUFFER15_ATI = 0x8834 :: GLenum

pattern GL_DRAW_BUFFER1_ATI = 0x8826 :: GLenum

pattern GL_DRAW_BUFFER2_ATI = 0x8827 :: GLenum

pattern GL_DRAW_BUFFER3_ATI = 0x8828 :: GLenum

pattern GL_DRAW_BUFFER4_ATI = 0x8829 :: GLenum

pattern GL_DRAW_BUFFER5_ATI = 0x882A :: GLenum

pattern GL_DRAW_BUFFER6_ATI = 0x882B :: GLenum

pattern GL_DRAW_BUFFER7_ATI = 0x882C :: GLenum

pattern GL_DRAW_BUFFER8_ATI = 0x882D :: GLenum

pattern GL_DRAW_BUFFER9_ATI = 0x882E :: GLenum

pattern GL_MAX_DRAW_BUFFERS_ATI = 0x8824 :: GLenum