-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.NV.BlendEquationAdvanced (
  -- * Extension Support
    gl_NV_blend_equation_advanced

  -- * GL_NV_blend_equation_advanced
  , glBlendBarrierNV
  , glBlendParameteriNV
  , pattern GL_BLEND_OVERLAP_NV
  , pattern GL_BLEND_PREMULTIPLIED_SRC_NV
  , pattern GL_BLUE_NV
  , pattern GL_COLORBURN_NV
  , pattern GL_COLORDODGE_NV
  , pattern GL_CONJOINT_NV
  , pattern GL_CONTRAST_NV
  , pattern GL_DARKEN_NV
  , pattern GL_DIFFERENCE_NV
  , pattern GL_DISJOINT_NV
  , pattern GL_DST_ATOP_NV
  , pattern GL_DST_IN_NV
  , pattern GL_DST_NV
  , pattern GL_DST_OUT_NV
  , pattern GL_DST_OVER_NV
  , pattern GL_EXCLUSION_NV
  , pattern GL_GREEN_NV
  , pattern GL_HARDLIGHT_NV
  , pattern GL_HARDMIX_NV
  , pattern GL_HSL_COLOR_NV
  , pattern GL_HSL_HUE_NV
  , pattern GL_HSL_LUMINOSITY_NV
  , pattern GL_HSL_SATURATION_NV
  , pattern GL_INVERT
  , pattern GL_INVERT_OVG_NV
  , pattern GL_INVERT_RGB_NV
  , pattern GL_LIGHTEN_NV
  , pattern GL_LINEARBURN_NV
  , pattern GL_LINEARDODGE_NV
  , pattern GL_LINEARLIGHT_NV
  , pattern GL_MINUS_CLAMPED_NV
  , pattern GL_MINUS_NV
  , pattern GL_MULTIPLY_NV
  , pattern GL_OVERLAY_NV
  , pattern GL_PINLIGHT_NV
  , pattern GL_PLUS_CLAMPED_ALPHA_NV
  , pattern GL_PLUS_CLAMPED_NV
  , pattern GL_PLUS_DARKER_NV
  , pattern GL_PLUS_NV
  , pattern GL_RED_NV
  , pattern GL_SCREEN_NV
  , pattern GL_SOFTLIGHT_NV
  , pattern GL_SRC_ATOP_NV
  , pattern GL_SRC_IN_NV
  , pattern GL_SRC_NV
  , pattern GL_SRC_OUT_NV
  , pattern GL_SRC_OVER_NV
  , pattern GL_UNCORRELATED_NV
  , pattern GL_VIVIDLIGHT_NV
  , pattern GL_XOR_NV
  , pattern GL_ZERO
) 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/NV/blend_equation_advanced.txt GL_NV_blend_equation_advanced> extension is available.

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

-- | Usage: @'glBlendBarrierNV'@
--
-- This command is an alias for 'Graphics.GL.Embedded32.glBlendBarrier'.


glBlendBarrierNV :: MonadIO m => m ()
glBlendBarrierNV :: m ()
glBlendBarrierNV = FunPtr (IO ()) -> m ()
forall (m :: * -> *). MonadIO m => FunPtr (IO ()) -> m ()
ffiIOV FunPtr (IO ())
glBlendBarrierNVFunPtr

glBlendBarrierNVFunPtr :: FunPtr (IO ())
glBlendBarrierNVFunPtr :: FunPtr (IO ())
glBlendBarrierNVFunPtr = IO (FunPtr (IO ())) -> FunPtr (IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBlendBarrierNV")

{-# NOINLINE glBlendBarrierNVFunPtr #-}

-- | Usage: @'glBlendParameteriNV' pname value@


glBlendParameteriNV :: MonadIO m => GLenum -> GLint -> m ()
glBlendParameteriNV :: GLenum -> GLint -> m ()
glBlendParameteriNV = FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
ffienumintIOV FunPtr (GLenum -> GLint -> IO ())
glBlendParameteriNVFunPtr

glBlendParameteriNVFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glBlendParameteriNVFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glBlendParameteriNVFunPtr = IO (FunPtr (GLenum -> GLint -> IO ()))
-> FunPtr (GLenum -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glBlendParameteriNV")

{-# NOINLINE glBlendParameteriNVFunPtr #-}

pattern $bGL_BLEND_OVERLAP_NV :: a
$mGL_BLEND_OVERLAP_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_OVERLAP_NV = 0x9281

pattern $bGL_BLEND_PREMULTIPLIED_SRC_NV :: a
$mGL_BLEND_PREMULTIPLIED_SRC_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280

pattern $bGL_BLUE_NV :: a
$mGL_BLUE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_BLUE_NV = 0x1905

pattern $bGL_COLORBURN_NV :: a
$mGL_COLORBURN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLORBURN_NV = 0x929A

pattern $bGL_COLORDODGE_NV :: a
$mGL_COLORDODGE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_COLORDODGE_NV = 0x9299

pattern $bGL_CONJOINT_NV :: a
$mGL_CONJOINT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONJOINT_NV = 0x9284

pattern $bGL_CONTRAST_NV :: a
$mGL_CONTRAST_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_CONTRAST_NV = 0x92A1

pattern $bGL_DARKEN_NV :: a
$mGL_DARKEN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DARKEN_NV = 0x9297

pattern $bGL_DIFFERENCE_NV :: a
$mGL_DIFFERENCE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DIFFERENCE_NV = 0x929E

pattern $bGL_DISJOINT_NV :: a
$mGL_DISJOINT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DISJOINT_NV = 0x9283

pattern $bGL_DST_ATOP_NV :: a
$mGL_DST_ATOP_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DST_ATOP_NV = 0x928F

pattern $bGL_DST_IN_NV :: a
$mGL_DST_IN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DST_IN_NV = 0x928B

pattern $bGL_DST_NV :: a
$mGL_DST_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DST_NV = 0x9287

pattern $bGL_DST_OUT_NV :: a
$mGL_DST_OUT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DST_OUT_NV = 0x928D

pattern $bGL_DST_OVER_NV :: a
$mGL_DST_OVER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_DST_OVER_NV = 0x9289

pattern $bGL_EXCLUSION_NV :: a
$mGL_EXCLUSION_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_EXCLUSION_NV = 0x92A0

pattern $bGL_GREEN_NV :: a
$mGL_GREEN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_GREEN_NV = 0x1904

pattern $bGL_HARDLIGHT_NV :: a
$mGL_HARDLIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HARDLIGHT_NV = 0x929B

pattern $bGL_HARDMIX_NV :: a
$mGL_HARDMIX_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HARDMIX_NV = 0x92A9

pattern $bGL_HSL_COLOR_NV :: a
$mGL_HSL_COLOR_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HSL_COLOR_NV = 0x92AF

pattern $bGL_HSL_HUE_NV :: a
$mGL_HSL_HUE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HSL_HUE_NV = 0x92AD

pattern $bGL_HSL_LUMINOSITY_NV :: a
$mGL_HSL_LUMINOSITY_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HSL_LUMINOSITY_NV = 0x92B0

pattern $bGL_HSL_SATURATION_NV :: a
$mGL_HSL_SATURATION_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_HSL_SATURATION_NV = 0x92AE

pattern $bGL_INVERT_OVG_NV :: a
$mGL_INVERT_OVG_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVERT_OVG_NV = 0x92B4

pattern $bGL_INVERT_RGB_NV :: a
$mGL_INVERT_RGB_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_INVERT_RGB_NV = 0x92A3

pattern $bGL_LIGHTEN_NV :: a
$mGL_LIGHTEN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LIGHTEN_NV = 0x9298

pattern $bGL_LINEARBURN_NV :: a
$mGL_LINEARBURN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINEARBURN_NV = 0x92A5

pattern $bGL_LINEARDODGE_NV :: a
$mGL_LINEARDODGE_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINEARDODGE_NV = 0x92A4

pattern $bGL_LINEARLIGHT_NV :: a
$mGL_LINEARLIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_LINEARLIGHT_NV = 0x92A7

pattern $bGL_MINUS_CLAMPED_NV :: a
$mGL_MINUS_CLAMPED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MINUS_CLAMPED_NV = 0x92B3

pattern $bGL_MINUS_NV :: a
$mGL_MINUS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MINUS_NV = 0x929F

pattern $bGL_MULTIPLY_NV :: a
$mGL_MULTIPLY_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_MULTIPLY_NV = 0x9294

pattern $bGL_OVERLAY_NV :: a
$mGL_OVERLAY_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_OVERLAY_NV = 0x9296

pattern $bGL_PINLIGHT_NV :: a
$mGL_PINLIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PINLIGHT_NV = 0x92A8

pattern $bGL_PLUS_CLAMPED_ALPHA_NV :: a
$mGL_PLUS_CLAMPED_ALPHA_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2

pattern $bGL_PLUS_CLAMPED_NV :: a
$mGL_PLUS_CLAMPED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PLUS_CLAMPED_NV = 0x92B1

pattern $bGL_PLUS_DARKER_NV :: a
$mGL_PLUS_DARKER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PLUS_DARKER_NV = 0x9292

pattern $bGL_PLUS_NV :: a
$mGL_PLUS_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PLUS_NV = 0x9291

pattern $bGL_RED_NV :: a
$mGL_RED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_RED_NV = 0x1903

pattern $bGL_SCREEN_NV :: a
$mGL_SCREEN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SCREEN_NV = 0x9295

pattern $bGL_SOFTLIGHT_NV :: a
$mGL_SOFTLIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SOFTLIGHT_NV = 0x929C

pattern $bGL_SRC_ATOP_NV :: a
$mGL_SRC_ATOP_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_ATOP_NV = 0x928E

pattern $bGL_SRC_IN_NV :: a
$mGL_SRC_IN_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_IN_NV = 0x928A

pattern $bGL_SRC_NV :: a
$mGL_SRC_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_NV = 0x9286

pattern $bGL_SRC_OUT_NV :: a
$mGL_SRC_OUT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_OUT_NV = 0x928C

pattern $bGL_SRC_OVER_NV :: a
$mGL_SRC_OVER_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_SRC_OVER_NV = 0x9288

pattern $bGL_UNCORRELATED_NV :: a
$mGL_UNCORRELATED_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_UNCORRELATED_NV = 0x9282

pattern $bGL_VIVIDLIGHT_NV :: a
$mGL_VIVIDLIGHT_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_VIVIDLIGHT_NV = 0x92A6

pattern $bGL_XOR_NV :: a
$mGL_XOR_NV :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_XOR_NV = 0x1506