{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE Strict                     #-}
module Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV
       (VkViewportCoordinateSwizzleNV(VkViewportCoordinateSwizzleNV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,
                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV))
       where
import Foreign.Storable                (Storable)
import GHC.Read                        (choose, expectP)
import Graphics.Vulkan.Marshal         (Int32)
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read                       (Read (..), parens)
import Text.Read.Lex                   (Lexeme (..))

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkViewportCoordinateSwizzleNV VkViewportCoordinateSwizzleNV registry at www.khronos.org>
newtype VkViewportCoordinateSwizzleNV = VkViewportCoordinateSwizzleNV Int32
                                        deriving (VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
(VkViewportCoordinateSwizzleNV
 -> VkViewportCoordinateSwizzleNV -> Bool)
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> Bool)
-> Eq VkViewportCoordinateSwizzleNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
$c/= :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
== :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
$c== :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
Eq, Eq VkViewportCoordinateSwizzleNV
Eq VkViewportCoordinateSwizzleNV
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> Ordering)
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> Bool)
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> Bool)
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> Bool)
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> Bool)
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV)
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV)
-> Ord VkViewportCoordinateSwizzleNV
VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Ordering
VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
$cmin :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
max :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
$cmax :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
>= :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
$c>= :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
> :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
$c> :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
<= :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
$c<= :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
< :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
$c< :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Bool
compare :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Ordering
$ccompare :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> Ordering
Ord, Int -> VkViewportCoordinateSwizzleNV
VkViewportCoordinateSwizzleNV -> Int
VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV
-> [VkViewportCoordinateSwizzleNV]
(VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV)
-> (VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV)
-> (Int -> VkViewportCoordinateSwizzleNV)
-> (VkViewportCoordinateSwizzleNV -> Int)
-> (VkViewportCoordinateSwizzleNV
    -> [VkViewportCoordinateSwizzleNV])
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV
    -> [VkViewportCoordinateSwizzleNV])
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV
    -> [VkViewportCoordinateSwizzleNV])
-> (VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV
    -> [VkViewportCoordinateSwizzleNV])
-> Enum VkViewportCoordinateSwizzleNV
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV
-> [VkViewportCoordinateSwizzleNV]
$cenumFromThenTo :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV
-> [VkViewportCoordinateSwizzleNV]
enumFromTo :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
$cenumFromTo :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
enumFromThen :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
$cenumFromThen :: VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
enumFrom :: VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
$cenumFrom :: VkViewportCoordinateSwizzleNV -> [VkViewportCoordinateSwizzleNV]
fromEnum :: VkViewportCoordinateSwizzleNV -> Int
$cfromEnum :: VkViewportCoordinateSwizzleNV -> Int
toEnum :: Int -> VkViewportCoordinateSwizzleNV
$ctoEnum :: Int -> VkViewportCoordinateSwizzleNV
pred :: VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
$cpred :: VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
succ :: VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
$csucc :: VkViewportCoordinateSwizzleNV -> VkViewportCoordinateSwizzleNV
Enum, Ptr VkViewportCoordinateSwizzleNV
-> IO VkViewportCoordinateSwizzleNV
Ptr VkViewportCoordinateSwizzleNV
-> Int -> IO VkViewportCoordinateSwizzleNV
Ptr VkViewportCoordinateSwizzleNV
-> Int -> VkViewportCoordinateSwizzleNV -> IO ()
Ptr VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> IO ()
VkViewportCoordinateSwizzleNV -> Int
(VkViewportCoordinateSwizzleNV -> Int)
-> (VkViewportCoordinateSwizzleNV -> Int)
-> (Ptr VkViewportCoordinateSwizzleNV
    -> Int -> IO VkViewportCoordinateSwizzleNV)
-> (Ptr VkViewportCoordinateSwizzleNV
    -> Int -> VkViewportCoordinateSwizzleNV -> IO ())
-> (forall b. Ptr b -> Int -> IO VkViewportCoordinateSwizzleNV)
-> (forall b.
    Ptr b -> Int -> VkViewportCoordinateSwizzleNV -> IO ())
-> (Ptr VkViewportCoordinateSwizzleNV
    -> IO VkViewportCoordinateSwizzleNV)
-> (Ptr VkViewportCoordinateSwizzleNV
    -> VkViewportCoordinateSwizzleNV -> IO ())
-> Storable VkViewportCoordinateSwizzleNV
forall b. Ptr b -> Int -> IO VkViewportCoordinateSwizzleNV
forall b. Ptr b -> Int -> VkViewportCoordinateSwizzleNV -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> IO ()
$cpoke :: Ptr VkViewportCoordinateSwizzleNV
-> VkViewportCoordinateSwizzleNV -> IO ()
peek :: Ptr VkViewportCoordinateSwizzleNV
-> IO VkViewportCoordinateSwizzleNV
$cpeek :: Ptr VkViewportCoordinateSwizzleNV
-> IO VkViewportCoordinateSwizzleNV
pokeByteOff :: forall b. Ptr b -> Int -> VkViewportCoordinateSwizzleNV -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkViewportCoordinateSwizzleNV -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkViewportCoordinateSwizzleNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkViewportCoordinateSwizzleNV
pokeElemOff :: Ptr VkViewportCoordinateSwizzleNV
-> Int -> VkViewportCoordinateSwizzleNV -> IO ()
$cpokeElemOff :: Ptr VkViewportCoordinateSwizzleNV
-> Int -> VkViewportCoordinateSwizzleNV -> IO ()
peekElemOff :: Ptr VkViewportCoordinateSwizzleNV
-> Int -> IO VkViewportCoordinateSwizzleNV
$cpeekElemOff :: Ptr VkViewportCoordinateSwizzleNV
-> Int -> IO VkViewportCoordinateSwizzleNV
alignment :: VkViewportCoordinateSwizzleNV -> Int
$calignment :: VkViewportCoordinateSwizzleNV -> Int
sizeOf :: VkViewportCoordinateSwizzleNV -> Int
$csizeOf :: VkViewportCoordinateSwizzleNV -> Int
Storable)

instance Show VkViewportCoordinateSwizzleNV where
    showsPrec :: Int -> VkViewportCoordinateSwizzleNV -> ShowS
showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"
    showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"
    showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"
    showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"
    showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"
    showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"
    showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"
    showsPrec Int
_ VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV
      = String -> ShowS
showString String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"
    showsPrec Int
p (VkViewportCoordinateSwizzleNV Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkViewportCoordinateSwizzleNV " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkViewportCoordinateSwizzleNV where
    readPrec :: ReadPrec VkViewportCoordinateSwizzleNV
readPrec
      = ReadPrec VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkViewportCoordinateSwizzleNV)]
-> ReadPrec VkViewportCoordinateSwizzleNV
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV),
              (String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV),
              (String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV),
              (String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV),
              (String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV),
              (String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV),
              (String
"VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV),
              (String
"VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV",
               VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkViewportCoordinateSwizzleNV
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV)]
             ReadPrec VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkViewportCoordinateSwizzleNV") ReadPrec ()
-> ReadPrec VkViewportCoordinateSwizzleNV
-> ReadPrec VkViewportCoordinateSwizzleNV
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkViewportCoordinateSwizzleNV
VkViewportCoordinateSwizzleNV (Int32 -> VkViewportCoordinateSwizzleNV)
-> ReadPrec Int32 -> ReadPrec VkViewportCoordinateSwizzleNV
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV =
        VkViewportCoordinateSwizzleNV 0

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV =
        VkViewportCoordinateSwizzleNV 1

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV =
        VkViewportCoordinateSwizzleNV 2

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV =
        VkViewportCoordinateSwizzleNV 3

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV =
        VkViewportCoordinateSwizzleNV 4

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV =
        VkViewportCoordinateSwizzleNV 5

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV =
        VkViewportCoordinateSwizzleNV 6

pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV ::
        VkViewportCoordinateSwizzleNV

pattern $bVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: VkViewportCoordinateSwizzleNV
$mVK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: forall {r}.
VkViewportCoordinateSwizzleNV -> (Void# -> r) -> (Void# -> r) -> r
VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV =
        VkViewportCoordinateSwizzleNV 7